diff --git a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php
index 11a5668f..22b29d04 100755
--- a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php
+++ b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php
@@ -448,7 +448,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
'retractilado' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado')->value,
'retractilado5' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado5')->value,
'ferro' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_ferro')->value,
+ 'ferro_2' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_ferro_2')->value,
'prototipo' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_prototipo')->value,
+ 'prototipo_2' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_prototipo_2')->value,
'solapas_grandes_cubierta' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_exceso_solapas_cubierta')->value,
'solapas_grandes_sobrecubierta' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_exceso_solapas_sobrecubierta')->value,
'solapas_grandes_faja' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_exceso_solapas_faja')->value,
@@ -565,7 +567,6 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$modelCliente = new ClienteModel();
$modelPapelGenerico = new PapelGenericoModel();
-
$presupuesto = $this->model->find($id);
$data = [];
if ($presupuesto) {
@@ -630,7 +631,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$data['datosLibro']['acabadoFaja']['text'] = $modelAcabado->find($presupuesto->acabado_faja_id)->nombre;
}
$data['datosLibro']['prototipo'] = $presupuesto->prototipo;
+ $data['datosLibro']['prototipo2'] = $this->hasPrototipo2($id);
$data['datosLibro']['ferro'] = $presupuesto->ferro;
+ $data['datosLibro']['ferro2'] = $this->hasFerro2($id);
$data['datosLibro']['ferroDigital'] = $presupuesto->ferro_digital;
$data['datosLibro']['marcapaginas'] = $presupuesto->marcapaginas;
$data['datosLibro']['retractilado'] = $presupuesto->retractilado;
@@ -659,6 +662,21 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$data['direcciones'] = $this->obtenerDireccionesEnvio($id, $presupuesto->cliente_id);
}
+ $data['direccionesFP'] = [];
+ $direccionFP1 = $this->obtenerDireccionesEnvio($id, $presupuesto->cliente_id, true, 1);
+ if(count($direccionFP1) > 0){
+ $data['direccionesFP']['fp1'] = $direccionFP1;
+ } else {
+ $data['direccionesFP']['fp1'] = [];
+ }
+ $direccionFP2 = $this->obtenerDireccionesEnvio($id, $presupuesto->cliente_id, true, 2);
+ if(count($direccionFP2) > 0){
+ $data['direccionesFP']['fp2'] = $direccionFP2;
+ } else {
+ $data['direccionesFP']['fp2'] = [];
+ }
+ $data['direccionesFP']['checkboxes'] = json_decode($presupuesto->getDireccionFPChecks());
+
$data['comentarios_cliente'] = $presupuesto->comentarios_cliente;
$data['comentarios_safekat'] = $presupuesto->comentarios_safekat;
$data['comentarios_pdf'] = $presupuesto->comentarios_pdf;
@@ -1951,7 +1969,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
return PresupuestoService::checkLineasEnvios($direccionesEnvio);
}
- protected function obtenerDireccionesEnvio($id, $cliente_id)
+ protected function obtenerDireccionesEnvio($id, $cliente_id, $is_fp = false, $num_fp = 0)
{
$model = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
$model_direcciones = model('App\Models\Clientes\ClienteDireccionesModel');
@@ -1959,10 +1977,38 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
->join('lg_proveedores', 'presupuesto_direcciones.proveedor_id = lg_proveedores.id')
->join('lg_paises', 'presupuesto_direcciones.pais_id = lg_paises.id')
->select('presupuesto_direcciones.*, lg_proveedores.nombre AS proveedor, lg_paises.nombre AS pais')
- ->where('presupuesto_id', $id)->findAll();
+ ->where('presupuesto_id', $id)
+ ->where('is_ferro_prototipo', $is_fp);
+ if ($is_fp) {
+ $direcciones = $direcciones
+ ->where('num_ferro_prototipo', $num_fp);
+ }
- return $direcciones;
+
+ return $direcciones->findAll();
}
+ protected function hasPrototipo2($presupuestoId){
+ $servicios = (new PresupuestoServiciosExtraModel())->getResource($presupuestoId)->get()->getResultObject();
+ $id_servicio = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_prototipo_2')->value;
+ foreach ($servicios as $servicio) {
+ if ($servicio->tarifa_extra_id == $id_servicio) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ protected function hasFerro2($presupuestoId)
+ {
+ $servicios = (new PresupuestoServiciosExtraModel())->getResource($presupuestoId)->get()->getResultObject();
+ $id_servicio = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_ferro_2')->value;
+ foreach ($servicios as $servicio) {
+ if ($servicio->tarifa_extra_id == $id_servicio) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php
index 60c3c251..32403241 100755
--- a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php
+++ b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php
@@ -412,6 +412,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
}
}
+
$lomo = round($lomo, 2);
$errors = [
'status' => 0,
@@ -719,7 +720,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
}
-
+ // Se suma el coste de envío a cada precio unidad
+ for ($i = 0; $i < count($tirada); $i++) {
+ if($return_data['coste_envio'] && isset($return_data['coste_envio'][$i]) && $return_data['coste_envio'][$i] > 0)
+ $return_data['precio_u'][$i] = round(floatval($return_data['precio_u'][$i]) + $return_data['coste_envio'][$i]/$tirada[$i], 4);
+ }
if ($this->request) {
if ($this->request->isAJAX())
@@ -1381,6 +1386,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$datos_presupuesto['faja'] = $faja;
+ $reqData['datosCabecera'] ?? [];
+ $datos_presupuesto['direcciones_fp_checks'] = $reqData['direcciones_fp_checks'] ?? (object)[
+ 'addFP1isAddMain' => "false",
+ 'addFP2isAddMain' => "false",
+ 'addFP2isaddFP1' => "false"
+ ];
+
$id = $model_presupuesto->insertarPresupuestoCliente(
$id,
$selected_tirada,
@@ -1561,11 +1573,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
if (count($direccionesFP1) > 0) {
- $this->guardarLineaEnvio($id, $direccionesFP1, $peso_libro, true);
+ $this->guardarLineaEnvio($id, $direccionesFP1, $peso_libro, true, true, 1);
}
if (count($direccionesFP2) > 0) {
- $this->guardarLineaEnvio($id, $direccionesFP2, $peso_libro, true);
+ $this->guardarLineaEnvio($id, $direccionesFP2, $peso_libro, true, true, 2);
}
if ($confirmar) {
@@ -1708,6 +1720,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$data['direcciones'] = $this->obtenerDireccionesEnvio($id);
}
+ $direccionesFerroPrototipo = $this->obtenerDireccionesEnvioFerro($id);
+ if($direccionesFerroPrototipo && count($direccionesFerroPrototipo) > 0) {
+ $data['direccionesFerroPrototipo'] = $direccionesFerroPrototipo;
+ }
+
+ $data['direccionesFPChecks'] = $presupuesto->getDireccionFPChecks();
+
if (intval($presupuesto->estado_id) == 2) {
$data['resumen']['base'] = $presupuesto->total_antes_descuento;
$data['resumen']['total_envio'] = round(
@@ -1871,7 +1890,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
- protected function guardarLineaEnvio($presupuestoId, $direccion, $peso_libro, $coste_cero = false)
+ protected function guardarLineaEnvio($presupuestoId, $direccion, $peso_libro, $coste_cero = false, $is_ferro_prototipo = false, $num_ferro_prototipo = 0)
{
$unidades = intval($direccion['unidades']);
@@ -1893,6 +1912,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
unset($data->id);
if($coste_cero) {
$data->coste = 0;
+ if($is_ferro_prototipo){
+ $data->is_ferro_prototipo = 1;
+ $data->num_ferro_prototipo = $num_ferro_prototipo;
+ }
} else {
$data->precio = $data->coste;
}
@@ -3426,7 +3449,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
{
$model = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
$direcciones = $model->where('presupuesto_id', $id)
- ->where('is_ferro_prototipo', 0)->asArray()->findAll();
+ ->where('is_ferro_prototipo', 1)->get()->getResultArray();
return $direcciones;
}
diff --git a/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php b/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php
index 93f9b848..fb348542 100755
--- a/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php
+++ b/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php
@@ -55,6 +55,7 @@ class Presupuestodirecciones extends \App\Controllers\BaseResourceController
$proveedor_id = $reqData['proveedor_id'] ?? "";
$entregaPieCalle = $reqData['entregaPieCalle'] ?? 0;
$is_ferro_prototipo = $reqData['is_ferro_prototipo'] ?? 0;
+ $num_ferro_prototipo = $reqData['num_ferro_prototipo'] ?? 0;
$data = [
"presupuesto_id" => $presupuesto_id,
@@ -74,7 +75,8 @@ class Presupuestodirecciones extends \App\Controllers\BaseResourceController
"proveedor" => $proveedor,
"proveedor_id" => $proveedor_id,
"entregaPieCalle" => $entregaPieCalle,
- "is_ferro_prototipo" => $is_ferro_prototipo
+ "is_ferro_prototipo" => $is_ferro_prototipo,
+ "num_ferro_prototipo" => $num_ferro_prototipo
];
$response = $this->model->insert($data);
diff --git a/ci4/app/Database/Migrations/2025-06-28-194500_ConfigDireccionesFerroPrototipo.php b/ci4/app/Database/Migrations/2025-06-28-194500_ConfigDireccionesFerroPrototipo.php
new file mode 100644
index 00000000..e0727199
--- /dev/null
+++ b/ci4/app/Database/Migrations/2025-06-28-194500_ConfigDireccionesFerroPrototipo.php
@@ -0,0 +1,24 @@
+forge->addColumn('presupuestos', [
+ 'direcciones_fp_checks' => [
+ 'type' => 'JSON',
+ 'null' => false,
+ 'default' => '{"addFP1isAddMain": "0", "addFP2isAddMain": "0", "addFP2isaddFP1": "0"}',
+ 'comment' => 'valores de los checks de las direcciones ferro/prototipo',
+ ],
+ ]);
+ }
+
+ public function down()
+ {
+ $this->forge->dropColumn('presupuestos', 'direcciones_fp_checks');
+ }
+}
diff --git a/ci4/app/Database/Migrations/2025-07-02-141500_AumentoLomoFijo.php b/ci4/app/Database/Migrations/2025-07-02-141500_AumentoLomoFijo.php
new file mode 100644
index 00000000..4c5d7e80
--- /dev/null
+++ b/ci4/app/Database/Migrations/2025-07-02-141500_AumentoLomoFijo.php
@@ -0,0 +1,25 @@
+db->table('config_variables_app')->insert([
+ 'name' => 'aumento_fijo_lomo_interior',
+ 'value' => '1.3',
+ 'description' => 'Aumento fijo del lomo interior por cola (se añade en el interior)',
+ 'created_at' => date('Y-m-d H:i:s')
+ ]);
+ }
+
+ public function down()
+ {
+ // Borrar los nuevos campos
+ $this->db->table('config_variables_app')->whereIn('name', [
+ 'aumento_fijo_lomo_interior'
+ ])->delete();
+ }
+}
diff --git a/ci4/app/Database/Migrations/2025-07-04-090000_FerroPrototipo2.php b/ci4/app/Database/Migrations/2025-07-04-090000_FerroPrototipo2.php
new file mode 100644
index 00000000..ee46d797
--- /dev/null
+++ b/ci4/app/Database/Migrations/2025-07-04-090000_FerroPrototipo2.php
@@ -0,0 +1,33 @@
+db->table('config_variables_app')->insert([
+ 'name' => 'id_servicio_ferro_2',
+ 'value' => '31',
+ 'description' => 'D del servicio extra "ferro (2 unidades)" que aparece en los presupuestos',
+ 'created_at' => date('Y-m-d H:i:s')
+ ]);
+
+ $this->db->table('config_variables_app')->insert([
+ 'name' => 'id_servicio_prototipo_2',
+ 'value' => '28',
+ 'description' => 'D del servicio extra "Prototipo (2 unidades)" que aparece en los presupuestos',
+ 'created_at' => date('Y-m-d H:i:s')
+ ]);
+ }
+
+ public function down()
+ {
+ // Borrar los nuevos campos
+ $this->db->table('config_variables_app')->whereIn('name', [
+ 'id_servicio_ferro_2',
+ 'id_servicio_prototipo_2'
+ ])->delete();
+ }
+}
diff --git a/ci4/app/Entities/Presupuestos/PresupuestoEntity.php b/ci4/app/Entities/Presupuestos/PresupuestoEntity.php
index 4828eef5..00fd262e 100755
--- a/ci4/app/Entities/Presupuestos/PresupuestoEntity.php
+++ b/ci4/app/Entities/Presupuestos/PresupuestoEntity.php
@@ -117,6 +117,12 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
'lomo_redondo' => null,
'cabezada' => null,
'envio_base' => null,
+ 'direcciones_fp_checks' => [
+ 'addFP1isAddMain' => "false",
+ 'addFP2isAddMain' => "false",
+ 'addFP2isaddFP1' => "false"
+ ],
+
];
protected $casts = [
"cliente_id" => "int",
@@ -190,6 +196,7 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
'papel_interior_diferente' => "boolean",
'paginasCuadernillo' => "int",
'lomo_redondo' => "boolean",
+ 'direcciones_fp_checks' => 'json',
];
/**
* Devuelve la entity con un campo `presupuesto_lineas` con las lineas de presupuesto asociadas
@@ -326,4 +333,15 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
}
return $tipo_presupuesto;
}
+
+ public function getDireccionFPChecks()
+ {
+ return $this->attributes['direcciones_fp_checks'] ?? [];
+ }
+
+ public function setDireccionFPChecks($value)
+ {
+ $this->attributes['direcciones_fp_checks'] = is_array($value) ? json_encode($value) : $value;
+ return $this;
+ }
}
diff --git a/ci4/app/Language/es/App.php b/ci4/app/Language/es/App.php
index 568cd01f..e501c8e6 100755
--- a/ci4/app/Language/es/App.php
+++ b/ci4/app/Language/es/App.php
@@ -757,7 +757,7 @@ return [
"menu_tarifaextra" => "Serv. Extra",
"menu_tarifamanipulado" => "Manipulado",
"menu_tarifaencuadernacion" => "Encuadernación",
- "menu_tarifapapelcompra" => "Papel compra",
+ "menu_tarifapapelcompra" => "Papel impresión",
"menu_servicioAcabado" => "Servicios acabado",
"menu_tarifaacabado" => "Acabado",
"menu_tarifapapeldefecto" => "Papel defecto",
diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php
index 6e294c6b..90c4d4b1 100755
--- a/ci4/app/Language/es/Presupuestos.php
+++ b/ci4/app/Language/es/Presupuestos.php
@@ -80,8 +80,10 @@ return [
'acabadoFaja' => 'Acabado Faja',
'cosido' => 'Cosido',
'ferro' => 'Ferro',
+ 'ferro_2' => 'Ferro (2 uds.)',
'ferroDigital' => 'Ferro Digital',
'prototipo' => 'Prototipo',
+ 'prototipo_2' => 'Prototipo (2 uds.)',
'imagenesBnInterior' => 'Imágenes B/N interior',
'recogerEnTaller' => 'Recoger en taller',
'marcapaginas' => 'Marcapáginas',
@@ -305,7 +307,7 @@ return [
'previewSobrecubierta' => 'Configuración del papel: Sobrecubierta',
'previewFaja' => 'Configuración del papel: Faja',
'previewPapelGenerico' => 'Papel Genérico',
- 'previewPapelCompra' => 'Papel de Compra',
+ 'previewPapelCompra' => 'Papel Impresión',
'previewAreaImpresion' => 'Área de Impresión',
'previewPosicionFormas' => 'Posición de Formas',
'previewDetalles' => 'Detalles del trabajo',
@@ -436,6 +438,9 @@ return [
'paginas_multiplo_4' => 'El número total de páginas para cosido y grapado debe ser múltiplo de 4',
'paginas_pares' => 'El número de páginas debe ser par',
'extras_cubierta' => 'Rellene todos los campos',
+
+ 'error_sameAddPrincipal_FP' => 'Debe añadir al menos una dirección en el envío para usarla',
+ 'error_sameAddFP1' => 'Debe añadir al menos una dirección en el envío del primer ferro para usarla.'
],
'errores' => [
@@ -463,6 +468,7 @@ return [
Por favor, disminuya el número de páginas o el gramaje del papel para que sea encuadernable.",
'error_lomo_minimo' => "No se pueden encuadernar libros {0} con un lomo interior inferior a {1} mm. El lomo actual es de {2} mm.
Por favor, aumente el número de páginas o el gramaje del papel para que sea encuadernable.",
+ 'error_direccion_principal_no_encontrada' => 'No se ha encontrado la dirección en las direcciones del cliente. Por favor, añádala antes de marcar esta opción.',
],
'resize_preview' => 'Refrescar vista esquema'
diff --git a/ci4/app/Models/Presupuestos/PresupuestoModel.php b/ci4/app/Models/Presupuestos/PresupuestoModel.php
index c2bc84fa..5a90c01b 100755
--- a/ci4/app/Models/Presupuestos/PresupuestoModel.php
+++ b/ci4/app/Models/Presupuestos/PresupuestoModel.php
@@ -139,6 +139,7 @@ class PresupuestoModel extends \App\Models\BaseModel
'lomo_redondo',
'cabezada',
'envio_base',
+ 'direcciones_fp_checks',
];
protected $returnType = "App\Entities\Presupuestos\PresupuestoEntity";
@@ -535,6 +536,8 @@ class PresupuestoModel extends \App\Models\BaseModel
'iva_reducido' => $iva_reducido,
'excluir_rotativa' => $excluir_rotativa,
+ 'direcciones_fp_checks' => $data['direcciones_fp_checks'] ? json_encode($data['direcciones_fp_checks']) : null,
+
];
/* Actualizacion */
if ($id != 0) {
diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php
index 999d787c..54cd2aa5 100755
--- a/ci4/app/Services/PresupuestoService.php
+++ b/ci4/app/Services/PresupuestoService.php
@@ -386,6 +386,7 @@ class PresupuestoService extends BaseService
$precio_pedido = $precio_libro * ($datosPedido->tirada + $datosPedido->merma);
$mano = PresupuestoService::computeLomoInterior($datosPedido->paginas, $papel_impresion->espesor);
+ $mano += floatval(model('App\Models\Configuracion\ConfigVariableModel')->getVariable('aumento_fijo_lomo_interior')->value);
// peso
$peso = PresupuestoService::computePeso(
@@ -515,6 +516,7 @@ class PresupuestoService extends BaseService
$data['total_corte'] = round(($data['tiempo_corte'] / 60.0) * $maquina->precio_hora_corte, 2);
$data['mano'] = PresupuestoService::computeLomoInterior($datosPedido->paginas, $papel_impresion->espesor);
+ $data['mano'] += floatval(model('App\Models\Configuracion\ConfigVariableModel')->getVariable('aumento_fijo_lomo_interior')->value);
// ($paginas / 2.0) * (($gramaje / 1000.0) * $papel_compra->mano);
// peso
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosEnvios.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosEnvios.php
index 891f10aa..1529f8fb 100755
--- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosEnvios.php
+++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosEnvios.php
@@ -1,69 +1,207 @@
-
+
-
- = view("themes/vuexy/form/presupuestos/admin/_presupuestoDireccionesForm") ?>
-
-
-
- Envio base
-
-
+
+
+ = view("themes/vuexy/form/presupuestos/admin/_presupuestoDireccionesForm") ?>
+
+
+
+ Envio base
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
recoger_en_taller == true ? 'checked' : ''; ?> >
-
= lang('Presupuestos.recogerEnTaller') ?>
+
-
-
-
-
= lang("Presupuestos.insertar")?>
+
+
+ = lang("Presupuestos.insertar") ?>
+
-
+
+
+
+
+
+
+
+ Dirección de envío ferro/prototipo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ = lang('PresupuestosDirecciones.sameAddPrincipal') ?>
+
+
+
+
+
+ = lang("Presupuestos.insertar") ?>
+
+
+
+
+
+
+
+
+
+ Dirección de envío ferro/prototipo 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ = lang("Presupuestos.insertar") ?>
+
+
+
+
-
-
+
\ No newline at end of file
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php
index e481ca95..76c7a106 100755
--- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php
+++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php
@@ -303,11 +303,20 @@
-
-
-
+
+
+
+
+ >
+ = lang('Presupuestos.prototipo_2') ?>
+
+
+
+
@@ -326,6 +335,18 @@
+
+
+
+
+ >
+ = lang('Presupuestos.ferro_2') ?>
+
+
+
+
+
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_presupuestoDireccionesForm.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_presupuestoDireccionesForm.php
index c87a07a5..2a688713 100755
--- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_presupuestoDireccionesForm.php
+++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_presupuestoDireccionesForm.php
@@ -1,4 +1,4 @@
-