From dc23e413beb319b5200c7cf15057edfc7310af98 Mon Sep 17 00:00:00 2001
From: Juan Antonio Baracat <juan.baracat@campus.unam.edu.ar>
Date: Thu, 4 Jul 2019 09:07:51 -0300
Subject: [PATCH 1/9] Se relaciona Unidad venta y Unidad Gestion

---
 .../20190515110034_estructura_inicial.php     | 29 +++++++++++++++----
 1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/db/migrations/1.0.0/20190515110034_estructura_inicial.php b/db/migrations/1.0.0/20190515110034_estructura_inicial.php
index 670ada7b..c331adc5 100644
--- a/db/migrations/1.0.0/20190515110034_estructura_inicial.php
+++ b/db/migrations/1.0.0/20190515110034_estructura_inicial.php
@@ -12,13 +12,27 @@ class EstructuraInicial extends AbstractMigration
             ->addColumn('sigla', 'string', ['limit' => 30])
             ->addColumn('descripcion', 'text', ['null' => true])
             ->addColumn('logo', 'string', ['null' => true,'limit' => 80])
+            ->addForeignKey('unidad_venta', 'venta_estado', 'sigla')
             ->create();
 
-        $table = $this->table('venta_estado', array('id' => false,'primary_key' => 'sigla'));
-        $table->addColumn('sigla', 'char', array('limit' => 2))
-            ->addColumn('descripcion', 'string', array('limit' => 30))
+        // Unidad de Venta
+        $table = $this->table('unidad_venta');
+        $table
+            ->addColumn('codigo', 'string', ['limit' => 100])
+            ->addColumn('descripcion', 'string', ['limit' => 200])
+            ->addColumn('token', 'string', ['limit' => 64])
             ->create();
 
+        // Unidad de Gestión <> Unidad de Venta
+        $table = $this->table('unidad_gestion_unidad_venta');
+        $table->addColumn('id_unidad_gestion', 'integer')
+              ->addColumn('id_unidad_venta', 'integer')
+              ->addForeignKey('id_unidad_gestion', 'unidad_gestion', 'id')
+              ->addForeignKey('id_unidad_venta', 'unidad_venta', 'id')
+              ->addIndex(['id_unidad_gestion', 'id_unidad_venta'], ['unique' => true])
+              ->create();
+
+        // Venta
         $table = $this->table('venta')
                             ->addColumn('id_concepto_venta', 'integer')
                             ->addColumn('receptor', 'jsonb', [
@@ -63,6 +77,11 @@ ej. {
         ->addForeignKey('id_venta', 'venta', 'id')
         ->create();
 
+        $table = $this->table('venta_estado', array('id' => false,'primary_key' => 'sigla'));
+        $table->addColumn('sigla', 'char', array('limit' => 2))
+            ->addColumn('descripcion', 'string', array('limit' => 30))
+            ->create();
+
         // Concepto de venta
         $table = $this->table('concepto_venta');
         $table->addColumn('codigo', 'string', ['limit' => 30])
@@ -71,7 +90,7 @@ ej. {
               ->addColumn('estado', 'char', array('limit' => 2))
               ->create();
 
-        // Concepto de Venta <> Unidad de Gestion
+        // Concepto de Venta <> Unidad de Gestión
         $table = $this->table('concepto_venta_unidad_gestion');
         $table->addColumn('id_concepto_venta', 'integer')
               ->addColumn('id_unidad_gestion', 'integer')
@@ -80,7 +99,7 @@ ej. {
               ->addIndex(['id_concepto_venta', 'id_unidad_gestion'], ['unique' => true])
               ->create();
 
-        // Usuario <> Unidad de Gestion
+        // Usuario <> Unidad de Gestión
         $table = $this->table('usuario_unidad_gestion');
         $table->addColumn('id_usuario', 'string')
               ->addColumn('id_unidad_gestion', 'integer')
-- 
GitLab


From fef2eee7dcf544e86508b2a72ec1d2a44586b76d Mon Sep 17 00:00:00 2001
From: Juan Antonio Baracat <juan.baracat@campus.unam.edu.ar>
Date: Thu, 4 Jul 2019 09:15:55 -0300
Subject: [PATCH 2/9] se agrega estado y corrige columna en unidad_gestion

---
 db/migrations/1.0.0/20190515110034_estructura_inicial.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/db/migrations/1.0.0/20190515110034_estructura_inicial.php b/db/migrations/1.0.0/20190515110034_estructura_inicial.php
index c331adc5..fd073db0 100644
--- a/db/migrations/1.0.0/20190515110034_estructura_inicial.php
+++ b/db/migrations/1.0.0/20190515110034_estructura_inicial.php
@@ -12,7 +12,7 @@ class EstructuraInicial extends AbstractMigration
             ->addColumn('sigla', 'string', ['limit' => 30])
             ->addColumn('descripcion', 'text', ['null' => true])
             ->addColumn('logo', 'string', ['null' => true,'limit' => 80])
-            ->addForeignKey('unidad_venta', 'venta_estado', 'sigla')
+            ->addColumn('estado', 'char', array('limit' => 2))
             ->create();
 
         // Unidad de Venta
-- 
GitLab


From d02b6d4e48a0e5afd62317827be47103209717ef Mon Sep 17 00:00:00 2001
From: Juan Antonio Baracat <juan.baracat@campus.unam.edu.ar>
Date: Thu, 4 Jul 2019 09:38:13 -0300
Subject: [PATCH 3/9] correccion de caracteres

---
 .../1.0.0/20190515110034_estructura_inicial.php        | 10 +++++-----
 .../1.0.0/20190614145855_datos_unidad_gestion.php      |  9 +++++++++
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/db/migrations/1.0.0/20190515110034_estructura_inicial.php b/db/migrations/1.0.0/20190515110034_estructura_inicial.php
index fd073db0..2a1c953c 100644
--- a/db/migrations/1.0.0/20190515110034_estructura_inicial.php
+++ b/db/migrations/1.0.0/20190515110034_estructura_inicial.php
@@ -33,6 +33,11 @@ class EstructuraInicial extends AbstractMigration
               ->create();
 
         // Venta
+        $table = $this->table('venta_estado', array('id' => false,'primary_key' => 'sigla'));
+        $table->addColumn('sigla', 'char', array('limit' => 2))
+            ->addColumn('descripcion', 'string', array('limit' => 30))
+            ->create();
+
         $table = $this->table('venta')
                             ->addColumn('id_concepto_venta', 'integer')
                             ->addColumn('receptor', 'jsonb', [
@@ -77,11 +82,6 @@ ej. {
         ->addForeignKey('id_venta', 'venta', 'id')
         ->create();
 
-        $table = $this->table('venta_estado', array('id' => false,'primary_key' => 'sigla'));
-        $table->addColumn('sigla', 'char', array('limit' => 2))
-            ->addColumn('descripcion', 'string', array('limit' => 30))
-            ->create();
-
         // Concepto de venta
         $table = $this->table('concepto_venta');
         $table->addColumn('codigo', 'string', ['limit' => 30])
diff --git a/db/migrations/1.0.0/20190614145855_datos_unidad_gestion.php b/db/migrations/1.0.0/20190614145855_datos_unidad_gestion.php
index 52a8d1c9..6493c28b 100644
--- a/db/migrations/1.0.0/20190614145855_datos_unidad_gestion.php
+++ b/db/migrations/1.0.0/20190614145855_datos_unidad_gestion.php
@@ -12,54 +12,63 @@ class DatosUnidadGestion extends AbstractMigration
                 'sigla'  => 'FHyCS',
                 'descripcion'  => 'Facultad de Humanidades y Ciencias Sociales',
                 'logo' => 'logo_fhycs.png',
+                'estado' => 'AC'
               ],
               [
                 'id'    => '2',
                 'sigla'  => 'FIO',
                 'descripcion'  => 'Facultad de Ingeniería',
                 'logo' => 'logo_ingenieria.jpg',
+                'estado' => 'AC'
               ],
               [
                 'id'    => '3',
                 'sigla'  => 'FCE',
                 'descripcion'  => 'Facultad de Ciencias Económicas',
                 'logo' => 'logo_economicas.jpg',
+                'estado' => 'AC'
               ],
               [
                 'id'    => '4',
                 'sigla'  => 'FCEQyN',
                 'descripcion'  => 'Facultad de Ciencias Exactas, Químicas y Naturales',
                 'logo' => 'logo_exactas.png',
+                'estado' => 'AC'
               ],
               [
                 'id'    => '5',
                 'sigla'  => 'Rectorado',
                 'descripcion'  => 'Rectorado',
                 'logo' => 'logo_fhycs.jpg',
+                'estado' => 'AC'
               ],
               [
                 'id'    => '6',
                 'sigla'  => 'ESCENF',
                 'descripcion'  => 'Escuela de Enfermería',
                 'logo' => 'logo_enfermeria.jpg',
+                'estado' => 'AC'
               ],
               [
                 'id'    => '7',
                 'sigla'  => 'FAyD',
                 'descripcion'  => 'Facultad de Arte y Diseño',
                 'logo' => 'logo_artes.jpg',
+                'estado' => 'AC'
               ],
               [
                 'id'    => '8',
                 'sigla'  => 'EAE',
                 'descripcion'  => 'Escuela Agrotécnica de Eldorado',
                 'logo' => 'logo_agrotecnica.png',
+                'estado' => 'AC'
               ],
               [
                 'id'    => '9',
                 'sigla'  => 'FCF',
                 'descripcion'  => 'Facultad de Ciencias Forestales',
                 'logo' => 'logo_forestales.jpg',
+                'estado' => 'AC'
               ]
         ];
 
-- 
GitLab


From 1d14a635f30fd1db9546545f99087f1d207cb903 Mon Sep 17 00:00:00 2001
From: Juan Antonio Baracat <juan.baracat@campus.unam.edu.ar>
Date: Thu, 4 Jul 2019 10:06:12 -0300
Subject: [PATCH 4/9] Se agrega estado a unidad_venta

---
 db/migrations/1.0.0/20190515110034_estructura_inicial.php | 1 +
 1 file changed, 1 insertion(+)

diff --git a/db/migrations/1.0.0/20190515110034_estructura_inicial.php b/db/migrations/1.0.0/20190515110034_estructura_inicial.php
index 2a1c953c..7aec0504 100644
--- a/db/migrations/1.0.0/20190515110034_estructura_inicial.php
+++ b/db/migrations/1.0.0/20190515110034_estructura_inicial.php
@@ -21,6 +21,7 @@ class EstructuraInicial extends AbstractMigration
             ->addColumn('codigo', 'string', ['limit' => 100])
             ->addColumn('descripcion', 'string', ['limit' => 200])
             ->addColumn('token', 'string', ['limit' => 64])
+            ->addColumn('estado', 'char', array('limit' => 2))
             ->create();
 
         // Unidad de Gestión <> Unidad de Venta
-- 
GitLab


From 03a46f82dbdcc60ee1197b511edda71eaf77812e Mon Sep 17 00:00:00 2001
From: Juan Antonio Baracat <juan.baracat@campus.unam.edu.ar>
Date: Thu, 4 Jul 2019 10:29:25 -0300
Subject: [PATCH 5/9] identacion y correciones minimas

---
 .../ci_administrar_unidad_gestion_edicion.php     |  4 ++--
 php/datos/dao_admin.php                           | 15 +++++++--------
 php/datos/dao_sq_nucleo.php                       | 14 +++++++-------
 3 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion_edicion.php b/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion_edicion.php
index 4ce52677..a777eb76 100644
--- a/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion_edicion.php
+++ b/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion_edicion.php
@@ -129,10 +129,10 @@ class ci_administrar_unidad_gestion_edicion extends pirapire_ci
             $respuesta['tipo_msg'] = 'info';
         } else {
             if ($resp_conceptos['tipo_msg'] == 'error') {
-                $respuesta['msg'] = 'Error al asignar los Conceptos de Venta a la Unidad de Gestión...';
+                $respuesta['msg'] = 'Error al asignar los Conceptos de Venta a la Unidad de Gesti�n...';
             }
             if ($resp_usuarios['tipo_msg'] == 'error') {
-                $respuesta['msg'] = 'Error al asignar los Usuarios a la Unidad de Gestión...';
+                $respuesta['msg'] = 'Error al asignar los Usuarios a la Unidad de Gesti�n...';
             }
             $respuesta['tipo_msg'] = 'error';
         }
diff --git a/php/datos/dao_admin.php b/php/datos/dao_admin.php
index b67593a1..159668df 100644
--- a/php/datos/dao_admin.php
+++ b/php/datos/dao_admin.php
@@ -18,13 +18,12 @@ class dao_admin
     public function get_unidades_gestion()
     {
         $sql = 'SELECT 
-                          id,
-                          sigla,
-                          descripcion,
-                          logo
-                        FROM 
-                          unidad_gestion
-                ';
+                        id,
+                        sigla,
+                        descripcion,
+                        logo
+                FROM 
+                        unidad_gestion';
 
         return toba::db()->consultar($sql);
     }
@@ -58,7 +57,7 @@ class dao_admin
 
 
     /**
-     * Obtiene los Usuarios asignados a una Unidad de Gestion
+     * Obtiene los Usuarios asignados a una Unidad de Gestión
      *
      * @param [type] $unidad_gestion_id
      * @return void
diff --git a/php/datos/dao_sq_nucleo.php b/php/datos/dao_sq_nucleo.php
index ff156e74..663d89ba 100644
--- a/php/datos/dao_sq_nucleo.php
+++ b/php/datos/dao_sq_nucleo.php
@@ -1,7 +1,7 @@
 <?php
 
 /**
- *
+ * 
  */
 class dao_sq_nucleo
 {
@@ -334,7 +334,7 @@ class dao_sq_nucleo
                        c.descripcion,
                        c.estado
                   FROM concepto_venta c
-                  WHERE c.estado = 'A'
+                  WHERE c.estado = 'AC'
                     ORDER BY c.codigo";
 
         return toba::db()->consultar($sql);
@@ -355,13 +355,13 @@ class dao_sq_nucleo
                 FROM concepto_venta 
                 WHERE id 
                 NOT IN (SELECT id_concepto_venta FROM concepto_venta_unidad_gestion WHERE id_unidad_gestion=".$id_unidad_gestion.")
-                AND estado = 'A'";
+                AND estado = 'AC'";
 
         return toba::db()->consultar($sql);
     }
 
     /**
-     * Elimino conceptos de ventas en unidad de gestion
+     * Elimino conceptos de ventas en unidad de gestión
      *
      * @param [type] $unidad_gestion_id
      * @return void
@@ -372,7 +372,7 @@ class dao_sq_nucleo
     }
 
     /**
-     * Elimino usuarios en unidad de gestion
+     * Elimino usuarios en unidad de gestión
      *
      * @param [type] $unidad_gestion_id
      * @return void
@@ -383,7 +383,7 @@ class dao_sq_nucleo
     }
 
     /**
-     * Obtiene los Conceptos de Ventas Asignados a una Unidad de Gestion del pirapire (sincronizados del nucleo)
+     * Obtiene los Conceptos de Ventas Asignados a una Unidad de Gestión del pirapire (sincronizados del nucleo)
      * TODO: Ver de pasar a un dao_consultas.php ...
      */
     public function get_conceptos_venta_asignados($unidad_gestion_id)
@@ -397,7 +397,7 @@ class dao_sq_nucleo
                 FROM concepto_venta c
                 RIGHT JOIN concepto_venta_unidad_gestion c_u
                 ON c.id = c_u.id_concepto_venta
-                WHERE c_u.id_unidad_gestion=".$unidad_gestion_id." AND c.estado = 'A' 
+                WHERE c_u.id_unidad_gestion=".$unidad_gestion_id." AND c.estado = 'AC' 
                 ORDER BY c.codigo";
 
         return toba::db()->consultar($sql);
-- 
GitLab


From f6c57e1d28454bfd2717ca07008883693467ffc6 Mon Sep 17 00:00:00 2001
From: Juan Antonio Baracat <juan.baracat@campus.unam.edu.ar>
Date: Thu, 4 Jul 2019 12:25:43 -0300
Subject: [PATCH 6/9] metodo obtener info de una unidad de gestion

---
 .../ci_administrar_unidad_gestion.php          | 18 +++++++++++++++++-
 .../cn_administrar_unidad_gestion.php          |  5 +++++
 php/datos/dao_admin.php                        | 14 ++++++++++++++
 3 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion.php b/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion.php
index 17ad8768..23c4553c 100644
--- a/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion.php
+++ b/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion.php
@@ -4,6 +4,8 @@ class ci_administrar_unidad_gestion extends pirapire_ci
     //-----------------------------------------------------------------------------------
     //---- cuadro unidad gestion --------------------------------------------------------
     //-----------------------------------------------------------------------------------
+    
+    protected $s__id_unidad_gestion;
 
     public function conf__cuadro(pirapire_ei_cuadro $cuadro)
     {
@@ -13,8 +15,22 @@ class ci_administrar_unidad_gestion extends pirapire_ci
 
     public function evt__cuadro__seleccion($datos)
     {
-        $this->cn()->set_unidad_gestion($datos['id']);
+        $this->s__id_unidad_gestion = $datos['id'];
+        $this->cn()->set_unidad_gestion($this->s__id_unidad_gestion);
         $this->cn()->set_carga_inicial(true);
         $this->set_pantalla('pant_edicion');
     }
+	//-----------------------------------------------------------------------------------
+	//---- encabezado -------------------------------------------------------------------
+	//-----------------------------------------------------------------------------------
+
+	function conf__encabezado(pirapire_ei_formulario $form)
+	{
+        $unidad_gestion = $this->cn()->get_unidad_gestion_info($this->s__id_unidad_gestion);
+        $form->set_datos([
+            "unidad_gestion" => $unidad_gestion['descripcion']. " (" .$unidad_gestion['sigla'].")"
+            ]);
+	}
+
 }
+?>
\ No newline at end of file
diff --git a/php/configuracion_unidad_gestion/cn_administrar_unidad_gestion.php b/php/configuracion_unidad_gestion/cn_administrar_unidad_gestion.php
index 4688d517..ccb7dd55 100644
--- a/php/configuracion_unidad_gestion/cn_administrar_unidad_gestion.php
+++ b/php/configuracion_unidad_gestion/cn_administrar_unidad_gestion.php
@@ -37,6 +37,11 @@ class cn_administrar_unidad_gestion extends pirapire_cn
         $this->s__unidad_gestion = $id_unidad_gestion;
     }
 
+    public function get_unidad_gestion_info($id_unidad_gestion){
+        $datos = toba::consulta_php('dao_admin')->get_unidad_gestion($id_unidad_gestion);
+        return $datos ? $datos[0] : [];
+    }
+
     public function get_usuarios($filtro = null){
         $datos = toba::consulta_php('dao_admin')->get_usuarios($filtro);
         return $datos ? $datos : [];
diff --git a/php/datos/dao_admin.php b/php/datos/dao_admin.php
index 159668df..2254d84d 100644
--- a/php/datos/dao_admin.php
+++ b/php/datos/dao_admin.php
@@ -28,6 +28,20 @@ class dao_admin
         return toba::db()->consultar($sql);
     }
 
+    public function get_unidad_gestion($id)
+    {
+        $sql = 'SELECT 
+                        id,
+                        sigla,
+                        descripcion,
+                        logo
+                FROM 
+                        unidad_gestion
+                WHERE
+                        id = '.$id;
+        return toba::db()->consultar($sql);
+    }
+
     public static function get_usuarios($filtro = null)
     {
         $where = null;
-- 
GitLab


From 58ddea5a98ad9f7d3f9030de98b41918db9c4909 Mon Sep 17 00:00:00 2001
From: Juan Antonio Baracat <juan.baracat@campus.unam.edu.ar>
Date: Fri, 5 Jul 2019 10:53:51 -0300
Subject: [PATCH 7/9] Se modifica tabla a unidad_gestion_unidad_venta

---
 .../1.0.0/20190515110034_estructura_inicial.php | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/db/migrations/1.0.0/20190515110034_estructura_inicial.php b/db/migrations/1.0.0/20190515110034_estructura_inicial.php
index 7aec0504..b41a7676 100644
--- a/db/migrations/1.0.0/20190515110034_estructura_inicial.php
+++ b/db/migrations/1.0.0/20190515110034_estructura_inicial.php
@@ -91,14 +91,15 @@ ej. {
               ->addColumn('estado', 'char', array('limit' => 2))
               ->create();
 
-        // Concepto de Venta <> Unidad de Gestión
-        $table = $this->table('concepto_venta_unidad_gestion');
-        $table->addColumn('id_concepto_venta', 'integer')
-              ->addColumn('id_unidad_gestion', 'integer')
-              ->addForeignKey('id_concepto_venta', 'concepto_venta', 'id')
-              ->addForeignKey('id_unidad_gestion', 'unidad_gestion', 'id')
-              ->addIndex(['id_concepto_venta', 'id_unidad_gestion'], ['unique' => true])
-              ->create();
+        // Unidad de Gestión <> Concepto de Venta
+        $table = $this->table('unidad_gestion_concepto_venta');
+        $table
+            ->addColumn('id_unidad_gestion', 'integer')
+            ->addColumn('id_concepto_venta', 'integer')
+            ->addForeignKey('id_unidad_gestion', 'unidad_gestion', 'id')
+            ->addForeignKey('id_concepto_venta', 'concepto_venta', 'id')
+            ->addIndex(['id_unidad_gestion', 'id_concepto_venta'], ['unique' => true])
+            ->create();
 
         // Usuario <> Unidad de Gestión
         $table = $this->table('usuario_unidad_gestion');
-- 
GitLab


From d2d1735377a147bec1a9ec34b8b032fe673cd8ad Mon Sep 17 00:00:00 2001
From: Juan Antonio Baracat <juan.baracat@campus.unam.edu.ar>
Date: Fri, 5 Jul 2019 10:55:16 -0300
Subject: [PATCH 8/9] =?UTF-8?q?Se=20agrega=20asignaci=C3=B3n=20unidad=5Fve?=
 =?UTF-8?q?nta=20a=20unidad=5Fgestion?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../ci_administrar_unidad_gestion_edicion.php | 29 ++++++-
 .../cn_administrar_unidad_gestion.php         | 19 ++++-
 php/datos/dao_sq_nucleo.php                   | 75 +++++++++++++++++--
 3 files changed, 113 insertions(+), 10 deletions(-)

diff --git a/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion_edicion.php b/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion_edicion.php
index a777eb76..27df1f85 100644
--- a/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion_edicion.php
+++ b/php/configuracion_unidad_gestion/ci_administrar_unidad_gestion_edicion.php
@@ -129,10 +129,10 @@ class ci_administrar_unidad_gestion_edicion extends pirapire_ci
             $respuesta['tipo_msg'] = 'info';
         } else {
             if ($resp_conceptos['tipo_msg'] == 'error') {
-                $respuesta['msg'] = 'Error al asignar los Conceptos de Venta a la Unidad de Gesti�n...';
+                $respuesta['msg'] = 'Error al asignar los Conceptos de Venta a la Unidad de Gestión...';
             }
             if ($resp_usuarios['tipo_msg'] == 'error') {
-                $respuesta['msg'] = 'Error al asignar los Usuarios a la Unidad de Gesti�n...';
+                $respuesta['msg'] = 'Error al asignar los Usuarios a la Unidad de Gestión...';
             }
             $respuesta['tipo_msg'] = 'error';
         }
@@ -161,4 +161,29 @@ class ci_administrar_unidad_gestion_edicion extends pirapire_ci
         $this->s__usuarios[$seleccion['usuario']] = $this->s__usuarios_seleccionados[$seleccion['usuario']];
         unset($this->s__usuarios_seleccionados[$seleccion['usuario']]);
     }
+
+	//-----------------------------------------------------------------------------------
+	//---- form_unidad_venta ------------------------------------------------------------
+	//-----------------------------------------------------------------------------------
+
+    function get_opciones_unidad_venta(){
+        return $this->cn()->get_unidades_venta();
+    }
+
+	function conf__form_unidad_venta(pirapire_ei_formulario $form)
+	{   
+        $unidad_venta_asignada = $this->cn()->get_unidad_venta_asignada();
+        if(!empty($unidad_venta_asignada)){
+            $form->set_datos(['unidad_venta' => $unidad_venta_asignada['id']]);
+        }
+	}
+
+	function evt__form_unidad_venta__modificacion($datos)
+	{
+        if($datos['unidad_venta'] != null){
+            $this->cn()->asignar_unidad_venta($datos['unidad_venta']);
+        }
+	}
+
 }
+?>
\ No newline at end of file
diff --git a/php/configuracion_unidad_gestion/cn_administrar_unidad_gestion.php b/php/configuracion_unidad_gestion/cn_administrar_unidad_gestion.php
index ccb7dd55..0e227d6c 100644
--- a/php/configuracion_unidad_gestion/cn_administrar_unidad_gestion.php
+++ b/php/configuracion_unidad_gestion/cn_administrar_unidad_gestion.php
@@ -42,6 +42,21 @@ class cn_administrar_unidad_gestion extends pirapire_cn
         return $datos ? $datos[0] : [];
     }
 
+    public function get_unidades_venta($filtro = null){
+        $datos = toba::consulta_php('dao_sq_nucleo')->get_unidades_venta($filtro);
+        return $datos ? $datos : [];
+    }
+    
+    public function get_unidad_venta_asignada(){
+        $datos = toba::consulta_php('dao_sq_nucleo')->get_unidad_venta_asignada($this->get_unidad_gestion());
+        return $datos ? $datos[0] : [];
+    }
+
+    public function asignar_unidad_venta($id_unidad_venta){
+        $datos = toba::consulta_php('dao_sq_nucleo')->asignar_unidad_venta($this->get_unidad_gestion(),$id_unidad_venta);
+
+    }
+
     public function get_usuarios($filtro = null){
         $datos = toba::consulta_php('dao_admin')->get_usuarios($filtro);
         return $datos ? $datos : [];
@@ -85,7 +100,7 @@ class cn_administrar_unidad_gestion extends pirapire_cn
      * @return void
      */
     public function set_conceptos_venta($conceptos_venta){
-        $this->dep('datos_conceptos_venta')->tabla('concepto_venta_unidad_gestion')->cargar($conceptos_venta);
+        $this->dep('datos_conceptos_venta')->tabla('unidad_gestion_concepto_venta')->cargar($conceptos_venta);
     }
 
     public function set_conceptos_venta_seleccionados($seleccion){
@@ -131,7 +146,7 @@ class cn_administrar_unidad_gestion extends pirapire_cn
 
         foreach ($conceptos_venta as $cv) {
             $this->dep('datos_conceptos_venta')
-                    ->tabla('concepto_venta_unidad_gestion')
+                    ->tabla('unidad_gestion_concepto_venta')
                         ->nueva_fila([
                             'id_concepto_venta' => $cv['id'],
                             'id_unidad_gestion' => $this->get_unidad_gestion()
diff --git a/php/datos/dao_sq_nucleo.php b/php/datos/dao_sq_nucleo.php
index 663d89ba..e8ec43d9 100644
--- a/php/datos/dao_sq_nucleo.php
+++ b/php/datos/dao_sq_nucleo.php
@@ -1,7 +1,7 @@
 <?php
 
 /**
- * 
+ *
  */
 class dao_sq_nucleo
 {
@@ -324,6 +324,9 @@ class dao_sq_nucleo
 
     /**
      * Obtiene los Conceptos de Ventas del pirapire (sincronizados del nucleo)
+     *
+     * @param [type] $filtro
+     * @return void
      */
     public function get_conceptos_venta($filtro = null)
     {
@@ -343,6 +346,9 @@ class dao_sq_nucleo
     /**
      * Obtiene TODOS los Conceptos de Ventas NO Asignados a una Unidad de Gestion del pirapire (sincronizados del nucleo)
      * TODO: Ver de pasar a un dao_consultas.php ...
+     *
+     * @param [type] $id_unidad_gestion
+     * @return void
      */
     public function get_conceptos_venta_no_asignados($id_unidad_gestion)
     {
@@ -354,7 +360,7 @@ class dao_sq_nucleo
                     estado
                 FROM concepto_venta 
                 WHERE id 
-                NOT IN (SELECT id_concepto_venta FROM concepto_venta_unidad_gestion WHERE id_unidad_gestion=".$id_unidad_gestion.")
+                NOT IN (SELECT id_concepto_venta FROM unidad_gestion_concepto_venta WHERE id_unidad_gestion=".$id_unidad_gestion.")
                 AND estado = 'AC'";
 
         return toba::db()->consultar($sql);
@@ -368,7 +374,7 @@ class dao_sq_nucleo
      */
     public function limpiar_conceptos($unidad_gestion_id)
     {
-        return toba::db()->ejecutar("DELETE FROM concepto_venta_unidad_gestion WHERE id_unidad_gestion=".$unidad_gestion_id);
+        return toba::db()->ejecutar("DELETE FROM unidad_gestion_concepto_venta WHERE id_unidad_gestion=".$unidad_gestion_id);
     }
 
     /**
@@ -385,6 +391,9 @@ class dao_sq_nucleo
     /**
      * Obtiene los Conceptos de Ventas Asignados a una Unidad de Gestión del pirapire (sincronizados del nucleo)
      * TODO: Ver de pasar a un dao_consultas.php ...
+     *
+     * @param [type] $unidad_gestion_id
+     * @return void
      */
     public function get_conceptos_venta_asignados($unidad_gestion_id)
     {
@@ -395,11 +404,65 @@ class dao_sq_nucleo
                     c.descripcion,
                     c.estado
                 FROM concepto_venta c
-                RIGHT JOIN concepto_venta_unidad_gestion c_u
-                ON c.id = c_u.id_concepto_venta
-                WHERE c_u.id_unidad_gestion=".$unidad_gestion_id." AND c.estado = 'AC' 
+                RIGHT JOIN unidad_gestion_concepto_venta g_c
+                ON c.id = g_c.id_concepto_venta
+                WHERE g_c.id_unidad_gestion=".$unidad_gestion_id." AND c.estado = 'AC' 
                 ORDER BY c.codigo";
 
         return toba::db()->consultar($sql);
     }
+
+
+    /**
+     * Obtiene las Unidades de Venta que estan en Pirapire (sincronizadas con el nucleo de sq)
+     * TODO: crear sincronizador con el sq
+     *
+     * @param [type] $filtro
+     * @return void
+     */
+    public function get_unidades_venta($filtro = null)
+    {
+        $sql = "SELECT 
+                       u.id,
+                       u.codigo, 
+                       u.descripcion
+                FROM unidad_venta u
+                WHERE u.estado = 'AC'
+                ORDER BY u.id ASC";
+
+        return toba::db()->consultar($sql);
+    }
+
+    /**
+     * Obtiene la Unidad de Venta asignada de esa Unidad de Gestion
+     *
+     * @param [type] $id_unidad_gestion
+     * @return void
+     */
+    public function get_unidad_venta_asignada($id_unidad_gestion)
+    {
+        $sql = "SELECT v.id, v.codigo, v.descripcion, v.estado 
+                FROM unidad_venta v 
+                RIGHT JOIN unidad_gestion_unidad_venta g_v  ON v.id = g_v.id_unidad_venta 
+                WHERE g_v.id_unidad_gestion = ".$id_unidad_gestion;
+
+        return toba::db()->consultar($sql);
+    }
+
+    /**
+     * Asigna una Unidad de Venta en Unidad de gestión
+     * TODO: crear sincronizador con el sq
+     */
+    public function asignar_unidad_venta($id_unidad_gestion, $id_unidad_venta)
+    {
+        if (count($this->get_unidad_venta_asignada($id_unidad_gestion)) > 0) {
+            $sql = "DELETE FROM unidad_gestion_unidad_venta WHERE id_unidad_gestion = ".$id_unidad_gestion;
+            toba::db()->ejecutar($sql);
+        }
+
+        $sql = "INSERT INTO unidad_gestion_unidad_venta (id_unidad_gestion, id_unidad_venta) 
+        VALUES (".$id_unidad_gestion .",".$id_unidad_venta.")";
+
+        return toba::db()->ejecutar($sql);
+    }
 }
-- 
GitLab


From 3f963b0f9ebd4cfd5da9528d6a1f825159947dc6 Mon Sep 17 00:00:00 2001
From: Juan Antonio Baracat <juan.baracat@campus.unam.edu.ar>
Date: Fri, 5 Jul 2019 10:56:52 -0300
Subject: [PATCH 9/9] Metadatos post unidad_gestion_concepto_venta

---
 .../componentes/toba_ci/dump_108000015.sql    |  21 +-
 .../componentes/toba_ci/dump_108000021.sql    |  56 ++++-
 .../toba_datos_relacion/dump_108000025.sql    |   6 +-
 ...{dump_108000013.sql => dump_108000029.sql} |  52 +++--
 .../toba_ei_formulario/dump_108000027.sql     | 175 ++++++++++++++
 .../toba_ei_formulario/dump_108000028.sql     | 215 ++++++++++++++++++
 6 files changed, 499 insertions(+), 26 deletions(-)
 rename metadatos/componentes/toba_datos_tabla/{dump_108000013.sql => dump_108000029.sql} (77%)
 create mode 100644 metadatos/componentes/toba_ei_formulario/dump_108000027.sql
 create mode 100644 metadatos/componentes/toba_ei_formulario/dump_108000028.sql

diff --git a/metadatos/componentes/toba_ci/dump_108000015.sql b/metadatos/componentes/toba_ci/dump_108000015.sql
index 859ab18b..f3a585ac 100644
--- a/metadatos/componentes/toba_ci/dump_108000015.sql
+++ b/metadatos/componentes/toba_ci/dump_108000015.sql
@@ -96,6 +96,18 @@ INSERT INTO apex_objeto_dependencias (proyecto, dep_id, objeto_consumidor, objet
 	NULL, --inicializar
 	NULL  --orden
 );
+INSERT INTO apex_objeto_dependencias (proyecto, dep_id, objeto_consumidor, objeto_proveedor, identificador, parametros_a, parametros_b, parametros_c, inicializar, orden) VALUES (
+	'pirapire', --proyecto
+	'108000027', --dep_id
+	'108000015', --objeto_consumidor
+	'108000027', --objeto_proveedor
+	'encabezado', --identificador
+	NULL, --parametros_a
+	NULL, --parametros_b
+	NULL, --parametros_c
+	NULL, --inicializar
+	NULL  --orden
+);
 --- FIN Grupo de desarrollo 108
 
 ------------------------------------------------------------
@@ -157,6 +169,13 @@ INSERT INTO apex_objetos_pantalla (proyecto, pantalla, objeto_ci, orden, dep_id)
 	'pirapire', --proyecto
 	'108000005', --pantalla
 	'108000015', --objeto_ci
-	'4', --orden
+	'1', --orden
 	'108000010'  --dep_id
 );
+INSERT INTO apex_objetos_pantalla (proyecto, pantalla, objeto_ci, orden, dep_id) VALUES (
+	'pirapire', --proyecto
+	'108000005', --pantalla
+	'108000015', --objeto_ci
+	'0', --orden
+	'108000027'  --dep_id
+);
diff --git a/metadatos/componentes/toba_ci/dump_108000021.sql b/metadatos/componentes/toba_ci/dump_108000021.sql
index d95bf602..0f5bfe91 100644
--- a/metadatos/componentes/toba_ci/dump_108000021.sql
+++ b/metadatos/componentes/toba_ci/dump_108000021.sql
@@ -21,7 +21,7 @@ INSERT INTO apex_objeto (proyecto, objeto, anterior, identificador, reflexivo, c
 	NULL, --objeto_categoria_proyecto
 	NULL, --objeto_categoria
 	'Unidad de Gestión - edicion', --nombre
-	'Configuración Unidad de Gestión', --titulo
+	NULL, --titulo
 	'0', --colapsable
 	NULL, --descripcion
 	NULL, --fuente_datos_proyecto
@@ -217,6 +217,18 @@ INSERT INTO apex_objeto_dependencias (proyecto, dep_id, objeto_consumidor, objet
 	NULL, --inicializar
 	NULL  --orden
 );
+INSERT INTO apex_objeto_dependencias (proyecto, dep_id, objeto_consumidor, objeto_proveedor, identificador, parametros_a, parametros_b, parametros_c, inicializar, orden) VALUES (
+	'pirapire', --proyecto
+	'108000028', --dep_id
+	'108000021', --objeto_consumidor
+	'108000028', --objeto_proveedor
+	'form_unidad_venta', --identificador
+	NULL, --parametros_a
+	NULL, --parametros_b
+	NULL, --parametros_c
+	NULL, --inicializar
+	NULL  --orden
+);
 --- FIN Grupo de desarrollo 108
 
 ------------------------------------------------------------
@@ -230,7 +242,7 @@ INSERT INTO apex_objeto_ci_pantalla (objeto_ci_proyecto, objeto_ci, pantalla, id
 	'108000006', --pantalla
 	'pant_concepto_venta', --identificador
 	'1', --orden
-	'Pantalla Concepto de Venta', --etiqueta
+	'Conceptos de Venta', --etiqueta
 	NULL, --descripcion
 	NULL, --tip
 	'apex', --imagen_recurso_origen
@@ -249,7 +261,26 @@ INSERT INTO apex_objeto_ci_pantalla (objeto_ci_proyecto, objeto_ci, pantalla, id
 	'108000007', --pantalla
 	'pant_usuarios', --identificador
 	'2', --orden
-	'Pantalla Usuarios', --etiqueta
+	'Usuarios', --etiqueta
+	NULL, --descripcion
+	NULL, --tip
+	'apex', --imagen_recurso_origen
+	NULL, --imagen
+	NULL, --objetos
+	NULL, --eventos
+	NULL, --subclase
+	NULL, --subclase_archivo
+	NULL, --template
+	NULL, --template_impresion
+	'13'  --punto_montaje
+);
+INSERT INTO apex_objeto_ci_pantalla (objeto_ci_proyecto, objeto_ci, pantalla, identificador, orden, etiqueta, descripcion, tip, imagen_recurso_origen, imagen, objetos, eventos, subclase, subclase_archivo, template, template_impresion, punto_montaje) VALUES (
+	'pirapire', --objeto_ci_proyecto
+	'108000021', --objeto_ci
+	'108000008', --pantalla
+	'pant_unidad_venta', --identificador
+	'3', --orden
+	'Unidad de Venta', --etiqueta
 	NULL, --descripcion
 	NULL, --tip
 	'apex', --imagen_recurso_origen
@@ -295,6 +326,13 @@ INSERT INTO apex_objetos_pantalla (proyecto, pantalla, objeto_ci, orden, dep_id)
 	'1', --orden
 	'108000014'  --dep_id
 );
+INSERT INTO apex_objetos_pantalla (proyecto, pantalla, objeto_ci, orden, dep_id) VALUES (
+	'pirapire', --proyecto
+	'108000008', --pantalla
+	'108000021', --objeto_ci
+	'0', --orden
+	'108000028'  --dep_id
+);
 
 ------------------------------------------------------------
 -- apex_eventos_pantalla
@@ -323,3 +361,15 @@ INSERT INTO apex_eventos_pantalla (pantalla, objeto_ci, evento_id, proyecto) VAL
 	'108000010', --evento_id
 	'pirapire'  --proyecto
 );
+INSERT INTO apex_eventos_pantalla (pantalla, objeto_ci, evento_id, proyecto) VALUES (
+	'108000008', --pantalla
+	'108000021', --objeto_ci
+	'108000009', --evento_id
+	'pirapire'  --proyecto
+);
+INSERT INTO apex_eventos_pantalla (pantalla, objeto_ci, evento_id, proyecto) VALUES (
+	'108000008', --pantalla
+	'108000021', --objeto_ci
+	'108000010', --evento_id
+	'pirapire'  --proyecto
+);
diff --git a/metadatos/componentes/toba_datos_relacion/dump_108000025.sql b/metadatos/componentes/toba_datos_relacion/dump_108000025.sql
index dba1cd11..48c4487e 100644
--- a/metadatos/componentes/toba_datos_relacion/dump_108000025.sql
+++ b/metadatos/componentes/toba_datos_relacion/dump_108000025.sql
@@ -65,11 +65,11 @@ INSERT INTO apex_objeto_datos_rel (proyecto, objeto, debug, clave, ap, punto_mon
 --- INICIO Grupo de desarrollo 108
 INSERT INTO apex_objeto_dependencias (proyecto, dep_id, objeto_consumidor, objeto_proveedor, identificador, parametros_a, parametros_b, parametros_c, inicializar, orden) VALUES (
 	'pirapire', --proyecto
-	'108000018', --dep_id
+	'108000029', --dep_id
 	'108000025', --objeto_consumidor
-	'108000013', --objeto_proveedor
+	'108000029', --objeto_proveedor
 	'unidad_gestion_concepto_venta', --identificador
-	'0', --parametros_a
+	NULL, --parametros_a
 	NULL, --parametros_b
 	NULL, --parametros_c
 	NULL, --inicializar
diff --git a/metadatos/componentes/toba_datos_tabla/dump_108000013.sql b/metadatos/componentes/toba_datos_tabla/dump_108000029.sql
similarity index 77%
rename from metadatos/componentes/toba_datos_tabla/dump_108000013.sql
rename to metadatos/componentes/toba_datos_tabla/dump_108000029.sql
index bb665f84..a4a25497 100644
--- a/metadatos/componentes/toba_datos_tabla/dump_108000013.sql
+++ b/metadatos/componentes/toba_datos_tabla/dump_108000029.sql
@@ -1,5 +1,5 @@
 ------------------------------------------------------------
---[108000013]--  unidad_gestion_concepto_venta 
+--[108000029]--  unidad_gestion_concepto_venta 
 ------------------------------------------------------------
 
 ------------------------------------------------------------
@@ -9,7 +9,7 @@
 --- INICIO Grupo de desarrollo 108
 INSERT INTO apex_objeto (proyecto, objeto, anterior, identificador, reflexivo, clase_proyecto, clase, punto_montaje, subclase, subclase_archivo, objeto_categoria_proyecto, objeto_categoria, nombre, titulo, colapsable, descripcion, fuente_datos_proyecto, fuente_datos, solicitud_registrar, solicitud_obj_obs_tipo, solicitud_obj_observacion, parametro_a, parametro_b, parametro_c, parametro_d, parametro_e, parametro_f, usuario, creacion, posicion_botonera) VALUES (
 	'pirapire', --proyecto
-	'108000013', --objeto
+	'108000029', --objeto
 	NULL, --anterior
 	NULL, --identificador
 	NULL, --reflexivo
@@ -36,7 +36,7 @@ INSERT INTO apex_objeto (proyecto, objeto, anterior, identificador, reflexivo, c
 	NULL, --parametro_e
 	NULL, --parametro_f
 	NULL, --usuario
-	'2019-06-14 14:48:12', --creacion
+	'2019-07-05 13:32:02', --creacion
 	NULL  --posicion_botonera
 );
 --- FIN Grupo de desarrollo 108
@@ -46,7 +46,7 @@ INSERT INTO apex_objeto (proyecto, objeto, anterior, identificador, reflexivo, c
 ------------------------------------------------------------
 INSERT INTO apex_objeto_db_registros (objeto_proyecto, objeto, max_registros, min_registros, punto_montaje, ap, ap_clase, ap_archivo, tabla, tabla_ext, alias, modificar_claves, fuente_datos_proyecto, fuente_datos, permite_actualizacion_automatica, esquema, esquema_ext) VALUES (
 	'pirapire', --objeto_proyecto
-	'108000013', --objeto
+	'108000029', --objeto
 	NULL, --max_registros
 	NULL, --min_registros
 	'13', --punto_montaje
@@ -56,12 +56,12 @@ INSERT INTO apex_objeto_db_registros (objeto_proyecto, objeto, max_registros, mi
 	'unidad_gestion_concepto_venta', --tabla
 	NULL, --tabla_ext
 	NULL, --alias
-	NULL, --modificar_claves
+	'0', --modificar_claves
 	'pirapire', --fuente_datos_proyecto
 	'pirapire', --fuente_datos
 	'1', --permite_actualizacion_automatica
-	'pirapire', --esquema
-	NULL  --esquema_ext
+	NULL, --esquema
+	'pirapire'  --esquema_ext
 );
 
 ------------------------------------------------------------
@@ -71,30 +71,44 @@ INSERT INTO apex_objeto_db_registros (objeto_proyecto, objeto, max_registros, mi
 --- INICIO Grupo de desarrollo 108
 INSERT INTO apex_objeto_db_registros_col (objeto_proyecto, objeto, col_id, columna, tipo, pk, secuencia, largo, no_nulo, no_nulo_db, externa, tabla) VALUES (
 	'pirapire', --objeto_proyecto
-	'108000013', --objeto
-	'108000010', --col_id
-	'id_unidad_gestion', --columna
+	'108000029', --objeto
+	'108000014', --col_id
+	'id', --columna
 	'E', --tipo
 	'1', --pk
-	NULL, --secuencia
+	'unidad_gestion_concepto_venta_id_seq', --secuencia
+	NULL, --largo
+	NULL, --no_nulo
+	'1', --no_nulo_db
+	'0', --externa
+	'unidad_gestion_concepto_venta'  --tabla
+);
+INSERT INTO apex_objeto_db_registros_col (objeto_proyecto, objeto, col_id, columna, tipo, pk, secuencia, largo, no_nulo, no_nulo_db, externa, tabla) VALUES (
+	'pirapire', --objeto_proyecto
+	'108000029', --objeto
+	'108000015', --col_id
+	'id_unidad_gestion', --columna
+	'E', --tipo
+	'0', --pk
+	'', --secuencia
 	NULL, --largo
 	NULL, --no_nulo
 	'1', --no_nulo_db
-	NULL, --externa
-	NULL  --tabla
+	'0', --externa
+	'unidad_gestion_concepto_venta'  --tabla
 );
 INSERT INTO apex_objeto_db_registros_col (objeto_proyecto, objeto, col_id, columna, tipo, pk, secuencia, largo, no_nulo, no_nulo_db, externa, tabla) VALUES (
 	'pirapire', --objeto_proyecto
-	'108000013', --objeto
-	'108000011', --col_id
+	'108000029', --objeto
+	'108000016', --col_id
 	'id_concepto_venta', --columna
 	'E', --tipo
-	'1', --pk
-	NULL, --secuencia
+	'0', --pk
+	'', --secuencia
 	NULL, --largo
 	NULL, --no_nulo
 	'1', --no_nulo_db
-	NULL, --externa
-	NULL  --tabla
+	'0', --externa
+	'unidad_gestion_concepto_venta'  --tabla
 );
 --- FIN Grupo de desarrollo 108
diff --git a/metadatos/componentes/toba_ei_formulario/dump_108000027.sql b/metadatos/componentes/toba_ei_formulario/dump_108000027.sql
new file mode 100644
index 00000000..1a306b30
--- /dev/null
+++ b/metadatos/componentes/toba_ei_formulario/dump_108000027.sql
@@ -0,0 +1,175 @@
+------------------------------------------------------------
+--[108000027]--  Unidad de Gestión - edicion - encabezado 
+------------------------------------------------------------
+
+------------------------------------------------------------
+-- apex_objeto
+------------------------------------------------------------
+
+--- INICIO Grupo de desarrollo 108
+INSERT INTO apex_objeto (proyecto, objeto, anterior, identificador, reflexivo, clase_proyecto, clase, punto_montaje, subclase, subclase_archivo, objeto_categoria_proyecto, objeto_categoria, nombre, titulo, colapsable, descripcion, fuente_datos_proyecto, fuente_datos, solicitud_registrar, solicitud_obj_obs_tipo, solicitud_obj_observacion, parametro_a, parametro_b, parametro_c, parametro_d, parametro_e, parametro_f, usuario, creacion, posicion_botonera) VALUES (
+	'pirapire', --proyecto
+	'108000027', --objeto
+	NULL, --anterior
+	NULL, --identificador
+	NULL, --reflexivo
+	'toba', --clase_proyecto
+	'toba_ei_formulario', --clase
+	'13', --punto_montaje
+	NULL, --subclase
+	NULL, --subclase_archivo
+	NULL, --objeto_categoria_proyecto
+	NULL, --objeto_categoria
+	'Unidad de Gestión - edicion - encabezado', --nombre
+	'Configuración Unidad de Gestión', --titulo
+	'0', --colapsable
+	NULL, --descripcion
+	'pirapire', --fuente_datos_proyecto
+	'pirapire', --fuente_datos
+	NULL, --solicitud_registrar
+	NULL, --solicitud_obj_obs_tipo
+	NULL, --solicitud_obj_observacion
+	NULL, --parametro_a
+	NULL, --parametro_b
+	NULL, --parametro_c
+	NULL, --parametro_d
+	NULL, --parametro_e
+	NULL, --parametro_f
+	NULL, --usuario
+	'2019-07-04 14:52:00', --creacion
+	'abajo'  --posicion_botonera
+);
+--- FIN Grupo de desarrollo 108
+
+------------------------------------------------------------
+-- apex_objeto_ut_formulario
+------------------------------------------------------------
+INSERT INTO apex_objeto_ut_formulario (objeto_ut_formulario_proyecto, objeto_ut_formulario, tabla, titulo, ev_agregar, ev_agregar_etiq, ev_mod_modificar, ev_mod_modificar_etiq, ev_mod_eliminar, ev_mod_eliminar_etiq, ev_mod_limpiar, ev_mod_limpiar_etiq, ev_mod_clave, clase_proyecto, clase, auto_reset, ancho, ancho_etiqueta, expandir_descripcion, campo_bl, scroll, filas, filas_agregar, filas_agregar_online, filas_agregar_abajo, filas_agregar_texto, filas_borrar_en_linea, filas_undo, filas_ordenar, filas_ordenar_en_linea, columna_orden, filas_numerar, ev_seleccion, alto, analisis_cambios, no_imprimir_efs_sin_estado, resaltar_efs_con_estado, template, template_impresion) VALUES (
+	'pirapire', --objeto_ut_formulario_proyecto
+	'108000027', --objeto_ut_formulario
+	NULL, --tabla
+	NULL, --titulo
+	NULL, --ev_agregar
+	NULL, --ev_agregar_etiq
+	NULL, --ev_mod_modificar
+	NULL, --ev_mod_modificar_etiq
+	NULL, --ev_mod_eliminar
+	NULL, --ev_mod_eliminar_etiq
+	NULL, --ev_mod_limpiar
+	NULL, --ev_mod_limpiar_etiq
+	NULL, --ev_mod_clave
+	NULL, --clase_proyecto
+	NULL, --clase
+	NULL, --auto_reset
+	'100%', --ancho
+	'150px', --ancho_etiqueta
+	'0', --expandir_descripcion
+	NULL, --campo_bl
+	NULL, --scroll
+	NULL, --filas
+	NULL, --filas_agregar
+	'1', --filas_agregar_online
+	'0', --filas_agregar_abajo
+	NULL, --filas_agregar_texto
+	'0', --filas_borrar_en_linea
+	NULL, --filas_undo
+	NULL, --filas_ordenar
+	'0', --filas_ordenar_en_linea
+	NULL, --columna_orden
+	NULL, --filas_numerar
+	NULL, --ev_seleccion
+	NULL, --alto
+	NULL, --analisis_cambios
+	'0', --no_imprimir_efs_sin_estado
+	'0', --resaltar_efs_con_estado
+	NULL, --template
+	NULL  --template_impresion
+);
+
+------------------------------------------------------------
+-- apex_objeto_ei_formulario_ef
+------------------------------------------------------------
+
+--- INICIO Grupo de desarrollo 108
+INSERT INTO apex_objeto_ei_formulario_ef (objeto_ei_formulario_fila, objeto_ei_formulario, objeto_ei_formulario_proyecto, identificador, elemento_formulario, columnas, obligatorio, oculto_relaja_obligatorio, orden, etiqueta, etiqueta_estilo, descripcion, colapsado, desactivado, estilo, total, inicializacion, permitir_html, deshabilitar_rest_func, estado_defecto, solo_lectura, solo_lectura_modificacion, carga_metodo, carga_clase, carga_include, carga_dt, carga_consulta_php, carga_sql, carga_fuente, carga_lista, carga_col_clave, carga_col_desc, carga_maestros, carga_cascada_relaj, cascada_mantiene_estado, carga_permite_no_seteado, carga_no_seteado, carga_no_seteado_ocultar, edit_tamano, edit_maximo, edit_mascara, edit_unidad, edit_rango, edit_filas, edit_columnas, edit_wrap, edit_resaltar, edit_ajustable, edit_confirmar_clave, edit_expreg, popup_item, popup_proyecto, popup_editable, popup_ventana, popup_carga_desc_metodo, popup_carga_desc_clase, popup_carga_desc_include, popup_puede_borrar_estado, fieldset_fin, check_valor_si, check_valor_no, check_desc_si, check_desc_no, check_ml_toggle, fijo_sin_estado, editor_ancho, editor_alto, editor_botonera, editor_config_file, selec_cant_minima, selec_cant_maxima, selec_utilidades, selec_tamano, selec_ancho, selec_serializar, selec_cant_columnas, upload_extensiones, punto_montaje, placeholder) VALUES (
+	'108000001', --objeto_ei_formulario_fila
+	'108000027', --objeto_ei_formulario
+	'pirapire', --objeto_ei_formulario_proyecto
+	'unidad_gestion', --identificador
+	'ef_fijo', --elemento_formulario
+	'unidad_gestion', --columnas
+	'0', --obligatorio
+	'0', --oculto_relaja_obligatorio
+	'1', --orden
+	'Unidad de gestión:', --etiqueta
+	NULL, --etiqueta_estilo
+	NULL, --descripcion
+	'0', --colapsado
+	'0', --desactivado
+	'ef-fijo-estilizado', --estilo
+	NULL, --total
+	NULL, --inicializacion
+	'0', --permitir_html
+	'0', --deshabilitar_rest_func
+	NULL, --estado_defecto
+	'0', --solo_lectura
+	'0', --solo_lectura_modificacion
+	NULL, --carga_metodo
+	NULL, --carga_clase
+	NULL, --carga_include
+	NULL, --carga_dt
+	NULL, --carga_consulta_php
+	NULL, --carga_sql
+	NULL, --carga_fuente
+	NULL, --carga_lista
+	NULL, --carga_col_clave
+	NULL, --carga_col_desc
+	NULL, --carga_maestros
+	NULL, --carga_cascada_relaj
+	'0', --cascada_mantiene_estado
+	'0', --carga_permite_no_seteado
+	NULL, --carga_no_seteado
+	NULL, --carga_no_seteado_ocultar
+	NULL, --edit_tamano
+	NULL, --edit_maximo
+	NULL, --edit_mascara
+	NULL, --edit_unidad
+	NULL, --edit_rango
+	NULL, --edit_filas
+	NULL, --edit_columnas
+	NULL, --edit_wrap
+	NULL, --edit_resaltar
+	NULL, --edit_ajustable
+	NULL, --edit_confirmar_clave
+	NULL, --edit_expreg
+	NULL, --popup_item
+	NULL, --popup_proyecto
+	NULL, --popup_editable
+	NULL, --popup_ventana
+	NULL, --popup_carga_desc_metodo
+	NULL, --popup_carga_desc_clase
+	NULL, --popup_carga_desc_include
+	NULL, --popup_puede_borrar_estado
+	NULL, --fieldset_fin
+	NULL, --check_valor_si
+	NULL, --check_valor_no
+	NULL, --check_desc_si
+	NULL, --check_desc_no
+	NULL, --check_ml_toggle
+	'0', --fijo_sin_estado
+	NULL, --editor_ancho
+	NULL, --editor_alto
+	NULL, --editor_botonera
+	NULL, --editor_config_file
+	NULL, --selec_cant_minima
+	NULL, --selec_cant_maxima
+	NULL, --selec_utilidades
+	NULL, --selec_tamano
+	NULL, --selec_ancho
+	NULL, --selec_serializar
+	NULL, --selec_cant_columnas
+	NULL, --upload_extensiones
+	NULL, --punto_montaje
+	NULL  --placeholder
+);
+--- FIN Grupo de desarrollo 108
diff --git a/metadatos/componentes/toba_ei_formulario/dump_108000028.sql b/metadatos/componentes/toba_ei_formulario/dump_108000028.sql
new file mode 100644
index 00000000..e5eaee41
--- /dev/null
+++ b/metadatos/componentes/toba_ei_formulario/dump_108000028.sql
@@ -0,0 +1,215 @@
+------------------------------------------------------------
+--[108000028]--  Unidad de Gestión - edicion - form_unidad_venta 
+------------------------------------------------------------
+
+------------------------------------------------------------
+-- apex_objeto
+------------------------------------------------------------
+
+--- INICIO Grupo de desarrollo 108
+INSERT INTO apex_objeto (proyecto, objeto, anterior, identificador, reflexivo, clase_proyecto, clase, punto_montaje, subclase, subclase_archivo, objeto_categoria_proyecto, objeto_categoria, nombre, titulo, colapsable, descripcion, fuente_datos_proyecto, fuente_datos, solicitud_registrar, solicitud_obj_obs_tipo, solicitud_obj_observacion, parametro_a, parametro_b, parametro_c, parametro_d, parametro_e, parametro_f, usuario, creacion, posicion_botonera) VALUES (
+	'pirapire', --proyecto
+	'108000028', --objeto
+	NULL, --anterior
+	NULL, --identificador
+	NULL, --reflexivo
+	'toba', --clase_proyecto
+	'toba_ei_formulario', --clase
+	'13', --punto_montaje
+	NULL, --subclase
+	NULL, --subclase_archivo
+	NULL, --objeto_categoria_proyecto
+	NULL, --objeto_categoria
+	'Unidad de Gestión - edicion - form_unidad_venta', --nombre
+	'Asignación de unidad de venta', --titulo
+	'0', --colapsable
+	NULL, --descripcion
+	'pirapire', --fuente_datos_proyecto
+	'pirapire', --fuente_datos
+	NULL, --solicitud_registrar
+	NULL, --solicitud_obj_obs_tipo
+	NULL, --solicitud_obj_observacion
+	NULL, --parametro_a
+	NULL, --parametro_b
+	NULL, --parametro_c
+	NULL, --parametro_d
+	NULL, --parametro_e
+	NULL, --parametro_f
+	NULL, --usuario
+	'2019-07-05 10:27:19', --creacion
+	'abajo'  --posicion_botonera
+);
+--- FIN Grupo de desarrollo 108
+
+------------------------------------------------------------
+-- apex_objeto_eventos
+------------------------------------------------------------
+
+--- INICIO Grupo de desarrollo 108
+INSERT INTO apex_objeto_eventos (proyecto, evento_id, objeto, identificador, etiqueta, maneja_datos, sobre_fila, confirmacion, estilo, imagen_recurso_origen, imagen, en_botonera, ayuda, orden, ci_predep, implicito, defecto, display_datos_cargados, grupo, accion, accion_imphtml_debug, accion_vinculo_carpeta, accion_vinculo_item, accion_vinculo_objeto, accion_vinculo_popup, accion_vinculo_popup_param, accion_vinculo_target, accion_vinculo_celda, accion_vinculo_servicio, es_seleccion_multiple, es_autovinculo) VALUES (
+	'pirapire', --proyecto
+	'108000013', --evento_id
+	'108000028', --objeto
+	'modificacion', --identificador
+	'&Modificar', --etiqueta
+	'1', --maneja_datos
+	NULL, --sobre_fila
+	NULL, --confirmacion
+	NULL, --estilo
+	'apex', --imagen_recurso_origen
+	NULL, --imagen
+	'0', --en_botonera
+	NULL, --ayuda
+	'1', --orden
+	NULL, --ci_predep
+	'1', --implicito
+	'0', --defecto
+	NULL, --display_datos_cargados
+	NULL, --grupo
+	NULL, --accion
+	NULL, --accion_imphtml_debug
+	NULL, --accion_vinculo_carpeta
+	NULL, --accion_vinculo_item
+	NULL, --accion_vinculo_objeto
+	NULL, --accion_vinculo_popup
+	NULL, --accion_vinculo_popup_param
+	NULL, --accion_vinculo_target
+	NULL, --accion_vinculo_celda
+	NULL, --accion_vinculo_servicio
+	'0', --es_seleccion_multiple
+	'0'  --es_autovinculo
+);
+--- FIN Grupo de desarrollo 108
+
+------------------------------------------------------------
+-- apex_objeto_ut_formulario
+------------------------------------------------------------
+INSERT INTO apex_objeto_ut_formulario (objeto_ut_formulario_proyecto, objeto_ut_formulario, tabla, titulo, ev_agregar, ev_agregar_etiq, ev_mod_modificar, ev_mod_modificar_etiq, ev_mod_eliminar, ev_mod_eliminar_etiq, ev_mod_limpiar, ev_mod_limpiar_etiq, ev_mod_clave, clase_proyecto, clase, auto_reset, ancho, ancho_etiqueta, expandir_descripcion, campo_bl, scroll, filas, filas_agregar, filas_agregar_online, filas_agregar_abajo, filas_agregar_texto, filas_borrar_en_linea, filas_undo, filas_ordenar, filas_ordenar_en_linea, columna_orden, filas_numerar, ev_seleccion, alto, analisis_cambios, no_imprimir_efs_sin_estado, resaltar_efs_con_estado, template, template_impresion) VALUES (
+	'pirapire', --objeto_ut_formulario_proyecto
+	'108000028', --objeto_ut_formulario
+	NULL, --tabla
+	NULL, --titulo
+	NULL, --ev_agregar
+	NULL, --ev_agregar_etiq
+	NULL, --ev_mod_modificar
+	NULL, --ev_mod_modificar_etiq
+	NULL, --ev_mod_eliminar
+	NULL, --ev_mod_eliminar_etiq
+	NULL, --ev_mod_limpiar
+	NULL, --ev_mod_limpiar_etiq
+	NULL, --ev_mod_clave
+	NULL, --clase_proyecto
+	NULL, --clase
+	NULL, --auto_reset
+	'100%', --ancho
+	'150px', --ancho_etiqueta
+	'0', --expandir_descripcion
+	NULL, --campo_bl
+	NULL, --scroll
+	NULL, --filas
+	NULL, --filas_agregar
+	'1', --filas_agregar_online
+	'0', --filas_agregar_abajo
+	NULL, --filas_agregar_texto
+	'0', --filas_borrar_en_linea
+	NULL, --filas_undo
+	NULL, --filas_ordenar
+	'0', --filas_ordenar_en_linea
+	NULL, --columna_orden
+	NULL, --filas_numerar
+	NULL, --ev_seleccion
+	NULL, --alto
+	NULL, --analisis_cambios
+	'0', --no_imprimir_efs_sin_estado
+	'0', --resaltar_efs_con_estado
+	NULL, --template
+	NULL  --template_impresion
+);
+
+------------------------------------------------------------
+-- apex_objeto_ei_formulario_ef
+------------------------------------------------------------
+
+--- INICIO Grupo de desarrollo 108
+INSERT INTO apex_objeto_ei_formulario_ef (objeto_ei_formulario_fila, objeto_ei_formulario, objeto_ei_formulario_proyecto, identificador, elemento_formulario, columnas, obligatorio, oculto_relaja_obligatorio, orden, etiqueta, etiqueta_estilo, descripcion, colapsado, desactivado, estilo, total, inicializacion, permitir_html, deshabilitar_rest_func, estado_defecto, solo_lectura, solo_lectura_modificacion, carga_metodo, carga_clase, carga_include, carga_dt, carga_consulta_php, carga_sql, carga_fuente, carga_lista, carga_col_clave, carga_col_desc, carga_maestros, carga_cascada_relaj, cascada_mantiene_estado, carga_permite_no_seteado, carga_no_seteado, carga_no_seteado_ocultar, edit_tamano, edit_maximo, edit_mascara, edit_unidad, edit_rango, edit_filas, edit_columnas, edit_wrap, edit_resaltar, edit_ajustable, edit_confirmar_clave, edit_expreg, popup_item, popup_proyecto, popup_editable, popup_ventana, popup_carga_desc_metodo, popup_carga_desc_clase, popup_carga_desc_include, popup_puede_borrar_estado, fieldset_fin, check_valor_si, check_valor_no, check_desc_si, check_desc_no, check_ml_toggle, fijo_sin_estado, editor_ancho, editor_alto, editor_botonera, editor_config_file, selec_cant_minima, selec_cant_maxima, selec_utilidades, selec_tamano, selec_ancho, selec_serializar, selec_cant_columnas, upload_extensiones, punto_montaje, placeholder) VALUES (
+	'108000002', --objeto_ei_formulario_fila
+	'108000028', --objeto_ei_formulario
+	'pirapire', --objeto_ei_formulario_proyecto
+	'unidad_venta', --identificador
+	'ef_combo', --elemento_formulario
+	'unidad_venta', --columnas
+	'0', --obligatorio
+	'0', --oculto_relaja_obligatorio
+	'1', --orden
+	'Unidad de venta', --etiqueta
+	NULL, --etiqueta_estilo
+	NULL, --descripcion
+	'0', --colapsado
+	'0', --desactivado
+	NULL, --estilo
+	NULL, --total
+	NULL, --inicializacion
+	'0', --permitir_html
+	'0', --deshabilitar_rest_func
+	NULL, --estado_defecto
+	'0', --solo_lectura
+	'0', --solo_lectura_modificacion
+	'get_opciones_unidad_venta', --carga_metodo
+	NULL, --carga_clase
+	NULL, --carga_include
+	NULL, --carga_dt
+	NULL, --carga_consulta_php
+	NULL, --carga_sql
+	'pirapire', --carga_fuente
+	NULL, --carga_lista
+	'id', --carga_col_clave
+	'descripcion', --carga_col_desc
+	NULL, --carga_maestros
+	'0', --carga_cascada_relaj
+	'0', --cascada_mantiene_estado
+	'1', --carga_permite_no_seteado
+	'-- Seleccionar --', --carga_no_seteado
+	'0', --carga_no_seteado_ocultar
+	NULL, --edit_tamano
+	NULL, --edit_maximo
+	NULL, --edit_mascara
+	NULL, --edit_unidad
+	NULL, --edit_rango
+	NULL, --edit_filas
+	NULL, --edit_columnas
+	NULL, --edit_wrap
+	NULL, --edit_resaltar
+	NULL, --edit_ajustable
+	NULL, --edit_confirmar_clave
+	NULL, --edit_expreg
+	NULL, --popup_item
+	NULL, --popup_proyecto
+	NULL, --popup_editable
+	NULL, --popup_ventana
+	NULL, --popup_carga_desc_metodo
+	NULL, --popup_carga_desc_clase
+	NULL, --popup_carga_desc_include
+	NULL, --popup_puede_borrar_estado
+	NULL, --fieldset_fin
+	NULL, --check_valor_si
+	NULL, --check_valor_no
+	NULL, --check_desc_si
+	NULL, --check_desc_no
+	NULL, --check_ml_toggle
+	NULL, --fijo_sin_estado
+	NULL, --editor_ancho
+	NULL, --editor_alto
+	NULL, --editor_botonera
+	NULL, --editor_config_file
+	NULL, --selec_cant_minima
+	NULL, --selec_cant_maxima
+	NULL, --selec_utilidades
+	NULL, --selec_tamano
+	NULL, --selec_ancho
+	NULL, --selec_serializar
+	NULL, --selec_cant_columnas
+	NULL, --upload_extensiones
+	'13', --punto_montaje
+	NULL  --placeholder
+);
+--- FIN Grupo de desarrollo 108
-- 
GitLab