Estimate Note Items (/admin/estimate-notes) es el catálogo de texto de nota reutilizable para estimaciones. En una sola pantalla se mantienen dos vistas:
- Notes — líneas en
estimate_note_item, cada una con Type Item o Template. - Note groups — grupos con nombre que agrupan solo notas Template (
estimate_note_item_groupy vínculos), para que el estimador elija un library group en el estimate.
El cuerpo de la nota vive en Description en ambos tipos. Las notas Item son líneas sueltas; las Template además pueden ir en grupos para insertar un bloque entero. El armado del estimate (pegar notas en una licitación) es otro módulo; aquí solo se administra el catálogo.
Permisos: FunctionId ESTIMATE_NOTE_ITEM (38), menú Estimating → Libraries → Notes (function.url = note_estimate_item). View abre la página; Add habilita New / New group; Edit habilita Edit y guardar; Delete habilita borrado por fila y Delete masivo solo en la vista Notes.
Disposición de la pantalla
Figura: toolbar de página con toggle Notes | Note groups a la derecha; listado Notes con Search, New, Export, checkboxes y Description / Type ordenables.
| Región | Contenido |
|---|---|
| Toolbar de página | Título Estimate Note Items, subtítulo Reusable note lines and template groups for estimates., y el control segmentado Notes | Note groups (arriba a la derecha). El ? abre este artículo. |
| Card de tabla | Chrome FoodHub: Search, New o New group, Export, columnas, ⋮ por fila, paginación y (solo Notes) checkboxes + barra bulk. |
| Modales | Superficie B — Cancel y Save en el header; sin formulario full-page ni números Metronic en labels. |
Cambiar Notes / Note groups recarga la grilla; la ruta sigue siendo /admin/estimate-notes.
Vista Notes
Orden por defecto: Description ascendente (legado DataTables sobre description).
- Search — placeholder Search notes…; debounce ~300 ms. Filtra si el cuadro está vacío (todo) o el texto tiene al menos 3 caracteres (coincidencia en Description, sin distinguir mayúsculas). Con menos de tres caracteres no se envía filtro al API.
- Export — Copy, Excel y CSV de la página actual.
- Sort — Description, Type (móvil: Sort by). Type muestra Item o Template (
item/templateen BD). - Checkboxes + bulk — con permiso Delete. Delete elimina las filas seleccionadas (hard delete). Sin selección:
Select item(s) to delete. - New — modal de nota (permiso Add).
- ⋮ — Edit · Delete según permisos.
Vacío: No notes found.
Alta o edición de nota
Títulos de modal: New estimate note item / Edit estimate note item.
| Campo | Reglas |
|---|---|
| Type | Obligatorio: Item o Template. En alta, por defecto Item. |
| Description | Texto multilínea obligatorio. |
Validación: This field is required. Registro inexistente: The requested record does not exist.
Éxito (alta, edición, borrado): The operation was successful.
ApplicationLog registra Add, Update y Delete (Estimate Note Item en legado).
Borrado de notas
- Una fila — confirmación y borrado permanente.
- Masivo — selección, Delete en la barra bulk, confirmación. Parcial:
The operation was successful. N of M record(s) were deleted.Si ninguna:No records could be deleted.
En este catálogo no hay bloqueo FK legado al borrar una nota; los grupos pierden el vínculo si se elimina una template usada.
Vista Note groups
Activa Note groups en el toolbar.
Orden por defecto: Name ascendente.
- Search — Search groups…; vacío o ≥ 2 caracteres en Name.
- Export — Copy / Excel / CSV de la página actual.
- Sort — Name, Notes (cantidad de miembros).
- Sin bulk delete — el legado no tenía eliminación múltiple en grupos.
- New group — modal de grupo (Add).
- ⋮ — Edit · Delete.
Vacío: No groups found.
Alta o edición de grupo
Títulos: New note group / Edit note group.
| Campo | Reglas |
|---|---|
| Group name | Obligatorio y único. Duplicado: A group with this name already exists. Vacío: Group name is required. |
| Template notes | Multi-select solo de notas Template. Ayuda: Only notes of type Template can be added to a group. Placeholder: Select template notes… |
Al guardar se reemplazan todos los vínculos (estimate_note_item_group_item). Si incluyes una nota no template: Only template notes can belong to a library group. Id desconocido: Note not found: {id}.
Éxito: The operation was successful. Log Estimate Note Item Group en Add/Update/Delete.
Borrado de grupo
Confirmación; se borra el grupo y sus vínculos. Sin bulk en esta vista.
Permisos (referencia)
| UI | Permiso |
|---|---|
Abrir /admin/estimate-notes | ESTIMATE_NOTE_ITEM View |
| New (notas) | Add |
| New group | Add |
| Edit / Save | Edit |
| Delete, bulk (Notes) | Delete |
| Toggle Note groups | View (misma página) |
Sin permiso, los CTA no se muestran; el API responde 403 con Access denied.
Uso posterior en estimates
Las notas de este catálogo alimentan pickers y campos de nota en estimaciones. Los Note groups aceleran insertar bloques estándar (disclaimer, alcance). Este artículo cubre solo mantenimiento del catálogo.