Detalle
| Campo |
Descripción |
| Manual de Usuario |
Asistente que importa Órdenes de Pago de forma masiva desde un archivo Excel. Permite descargar una plantilla modelo, completar las columnas con los datos de cada OP, validar la información antes de importar y, opcionalmente, liquidar las órdenes de pago automáticamente al generarlas. |
Introducción
Cuando necesitás cargar muchas Órdenes de Pago a la vez, ingresarlas una por una es lento y propenso a errores. Esta herramienta te permite armar un archivo Excel con todas las órdenes de pago que querés registrar y subirlas al sistema en un solo proceso.
El asistente trabaja en tres pasos: primero descargás una plantilla Excel con las columnas esperadas, después la completás con tus datos y la cargás al sistema, y por último el sistema valida fila por fila y genera las Órdenes de Pago. Antes de generar nada, podés ver en pantalla una grilla con cada fila importada y el resultado de su validación (correcto, faltan datos o hay errores), de modo que podés corregir lo que haga falta antes de confirmar.
Opcionalmente, podés indicarle al asistente que además de generar las órdenes de pago las liquide automáticamente en el mismo proceso.
Acceso al módulo
- Ingresá a la solapa Tesorería.
- Hacé clic en la opción Más.
- Elegí la opción Importar Órdenes de Pago.
Importante: conviene tener a mano los Id internos del sistema que vas a usar en la plantilla (Id de Especie, Sucursal, entidad, caja, cuenta bancaria, etc.), ya que la plantilla se completa con identificadores, no con nombres. Si alguno de esos Id no existe o está dado de baja, esa fila quedará marcada con error.
Pantalla principal
El asistente se titula Importación de Órdenes de Pago y está organizado como un asistente (wizard) de tres páginas:
- Página de bienvenida: pantalla inicial con el botón Descargar plantilla modelo, que genera el Excel vacío con los encabezados correctos.
- Página "Seleccionar archivo": donde elegís el archivo a importar, ves la grilla con la vista previa y la validación de cada fila, y tildás las opciones de liquidación y de omitir validación de entidad.
- Página de finalización: muestra el resumen del proceso (cuántas órdenes se importaron y cuántas no) y permite ver el Log de Importación.
Se avanza entre páginas con el botón Siguiente (abajo a la derecha) y se cierra con Finalizar.
Parámetros
Plantilla y archivo
| Elemento |
Descripción |
| Descargar plantilla modelo |
Genera un Excel (.xls) llamado "Plantilla para importación de Ordenes de Pago" con la fila de encabezados ya armada. Es el archivo que tenés que completar. |
| Ubicación del archivo a importar |
Campo de solo lectura con el botón de selección de archivo. Al elegir el Excel (.xls), el sistema lo importa y valida automáticamente, mostrando la vista previa en la grilla. |
| Liquidar Ordenes de Pago automáticamente |
Casilla. Si la tildás, cada OP generada se intenta liquidar en el mismo proceso. |
| Omitir validar la Entidad |
Casilla. Omite el control de que la entidad esté bloqueada, eliminada o dada de baja, permitiendo importar igual. |
El archivo a importar debe ser formato Excel .xls.
Columnas de la plantilla
La plantilla incluye estas columnas (en este orden). Se completan con los Id internos del sistema:
| Columna |
Descripción |
| Id_TipoEntidad |
Tipo de entidad de la OP. Valores válidos: 1 = Cliente, 2 = Proveedor Financiero, 3 = Proveedor. |
| Id_Entidad |
Id de la entidad (cliente / proveedor financiero / proveedor) según el tipo indicado. |
| Id_Especie |
Id de la especie. Debe ser una especie activa. |
| Id_Sucursal |
Id de la sucursal. Debe ser una sucursal activa. |
| Fecha |
Fecha de la orden de pago (formato fecha). |
| Fecha_Valor |
Fecha valor. Si se deja vacía, el sistema toma la misma Fecha. |
| Concepto |
Detalle o concepto de la OP. No puede quedar vacío. |
| Importe |
Importe de la OP. Debe ser mayor a 0. |
| Id_CuentaBancaria |
Id de la cuenta bancaria, si el medio de pago es banco. |
| Id_Caja |
Id de la caja, si el medio de pago es caja. |
| Detalle_Id_TipoEntidad |
Tipo de entidad del medio de pago por cuenta corriente (1 Cliente, 2 Proveedor Financiero, 3 Proveedor). |
| Detalle_Id_Entidad |
Id de la entidad del medio de pago por cuenta corriente. |
El medio de pago se define con uno solo de estos tres caminos: Id_Caja, Id_CuentaBancaria, o el par Detalle_Id_TipoEntidad + Detalle_Id_Entidad (cuenta corriente). Si completás más de uno, la fila se marca con error.
Resultado del proceso
Al seleccionar el archivo, el sistema lo importa a una grilla y valida cada fila. El resultado de la validación se ve en dos columnas:
| Columna |
Descripción |
| Status |
Indica si la fila es válida (correcta) o no. Las filas con error se resaltan en color salmón. |
| Observaciones |
Detalle del resultado: "Correcto!" si la fila pasó todas las validaciones, o el listado de errores encontrados. |
Validaciones que aplica el sistema sobre cada fila:
- El Importe debe ser mayor a 0.
- La Fecha debe tener formato correcto.
- El Id_Especie y el Id_Sucursal deben existir y estar activos.
- El Concepto no puede estar vacío.
- El Id_TipoEntidad debe estar entre 1 y 3, y el Id_Entidad no puede ser 0.
- La entidad debe existir como Cliente, Proveedor Financiero o Proveedor según el tipo. Si no está tildado "Omitir validar la Entidad", también se controla que no esté eliminada, bloqueada o dada de baja.
- Debe especificarse un único medio de pago válido (caja, cuenta bancaria o cuenta corriente). La caja y la cuenta bancaria, si se indican, deben existir.
Al confirmar con Siguiente, el sistema genera las Órdenes de Pago de las filas válidas (las filas con error no se procesan). Si tildaste "Liquidar automáticamente", además intenta liquidar cada OP generada.
Para cada fila procesada, la columna Observaciones se actualiza con el resultado final:
- "Importado correctamente! Orden de Pago: #N" (con el número de OP generado).
- Si se liquidó: se agrega "{Liquidada exitosamente!}" o "{ERROR al Liquidar!}".
- Si falló la generación: el mensaje de error correspondiente.
La página final muestra un resumen con la cantidad de órdenes importadas con éxito y la cantidad que no se importaron por contener errores.
Si al presionar Siguiente existen filas con error, el sistema no avanza y avisa que debés corregirlas primero.
Acciones disponibles
| Acción |
Descripción |
| Descargar plantilla modelo |
Genera y guarda el Excel con los encabezados para completar. |
| Seleccionar archivo (botón del campo "Ubicación del archivo a importar") |
Abre el explorador para elegir el .xls, lo importa y lo valida mostrando la vista previa. |
| Editar en la grilla |
Las celdas de la vista previa son editables (salvo Observaciones). Al modificar un valor, la fila se vuelve a validar automáticamente. |
| Liquidar automáticamente |
Casilla que activa la liquidación de las OP al generarlas. |
| Omitir validar la Entidad |
Casilla que evita rechazar entidades bloqueadas, eliminadas o dadas de baja. |
| Siguiente |
Avanza el asistente. En la página de archivo, dispara la generación de las órdenes de pago (pide confirmación). |
| Ver Log de Importación |
En la página final, abre la vista previa de impresión con el resultado de la importación. |
| Finalizar |
Cierra el asistente. |
Ejemplo práctico
Tenés que registrar 30 órdenes de pago a proveedores, todas a pagar por una misma caja.
- Entrás a Tesorería → Más → Importar Órdenes de Pago.
- En la pantalla de bienvenida hacés clic en Descargar plantilla modelo y guardás el Excel.
- Abrís el Excel y completás una fila por cada OP: en Id_TipoEntidad ponés 3 (Proveedor), el Id_Entidad de cada proveedor, el Id_Especie, el Id_Sucursal, la Fecha, el Concepto, el Importe y el Id_Caja que vas a usar. Dejás vacías Id_CuentaBancaria y las columnas Detalle_*.
- Guardás el Excel y hacés clic en Siguiente.
- En la página de archivo, usás el botón del campo Ubicación del archivo a importar y seleccionás tu Excel.
- Revisás la grilla: las filas correctas dicen "Correcto!" y las que tengan algún problema aparecen en salmón con el detalle en Observaciones. Corregís lo que haga falta directamente en la grilla.
- (Opcional) Tildás Liquidar Ordenes de Pago automáticamente si querés que queden liquidadas.
- Hacés clic en Siguiente y confirmás la importación.
- En la página final ves "Se importaron 30 Ordenes de Pago con éxito" y, si querés el detalle, hacés clic en Ver Log de Importación.
Consejos útiles
- No modifiques los encabezados de la plantilla: el sistema busca las columnas por nombre.
- Cargá un único medio de pago por fila (caja, banco o cuenta corriente). Si completás más de uno, la fila se rechaza.
- Si dejás la Fecha_Valor vacía, el sistema usa la misma Fecha; completala solo si necesitás una fecha valor distinta.
- Antes de confirmar, revisá la columna Observaciones: solo se generan las filas en estado correcto.
- Usá "Omitir validar la Entidad" con criterio: solo si realmente necesitás importar contra entidades bloqueadas, eliminadas o dadas de baja.
- Si vas a liquidar automáticamente, verificá primero que todas las filas estén correctas, así evitás liquidar parcialmente.
Preguntas frecuentes
¿Qué formato de archivo tengo que usar?
Un archivo Excel `.xls`. La plantilla que descarga el sistema ya viene en ese formato con los encabezados correctos.
¿Por qué algunas filas aparecen en color salmón?
Porque tienen errores de validación. El detalle del problema aparece en la columna Observaciones de esa fila. No vas a poder avanzar la importación hasta corregir o quitar esas filas.
¿Puedo corregir los datos sin volver a Excel?
Sí. Las celdas de la grilla de vista previa son editables (salvo Observaciones). Cuando cambiás un valor, la fila se vuelve a validar al instante.
¿Qué pasa si dejo la Fecha_Valor vacía?
El sistema toma automáticamente la misma Fecha de la orden de pago.
¿Cómo le indico el medio de pago?
Con uno solo de estos tres caminos: Id_Caja (caja), Id_CuentaBancaria (banco) o el par Detalle_Id_TipoEntidad + Detalle_Id_Entidad (cuenta corriente). Si completás más de uno, la fila se marca con error.
¿Qué significa "Liquidar Ordenes de Pago automáticamente"?
Que, además de generar cada OP, el sistema intenta liquidarla en el mismo proceso. En la columna Observaciones vas a ver si la liquidación fue exitosa o si falló.
¿Dónde veo el resultado final de la importación?
En la página final del asistente se muestra el resumen (importadas / no importadas) y, con el botón **Ver Log de Importación**, podés abrir la vista de impresión con el detalle de cada fila.
Permisos
| Permiso |
Habilita |
| Acceso al módulo Tesorería |
Ingresar a la solapa Tesorería y a la opción Más. |
| Acceso a Importar Órdenes de Pago |
Abrir el asistente de importación masiva de órdenes de pago. |
Información técnica
Sección de referencia para soporte/desarrollo. Basada en el análisis del formulario real de la v14 (FormImportacionOrdenesDePago.cs).
Formularios principales
| Componente |
Detalle |
| Formulario |
FormImportacionOrdenesDePago (hereda de FrmProcesar), namespace VPNET.Windows.Forms. Proyecto VPNET_WinForms (C#), carpeta Tesoreria. |
| Tipo de UI |
Asistente DevExpress.XtraWizard.WizardControl (wcImportarOrdenesDePago) con tres páginas: welcomeWizardPage (bienvenida + botón descargar plantilla), wizardPageSeleccionarArchivo (selección, grilla y validación) y completionWizardPage (resumen final). |
| Apertura |
Desde frmNewMain.vb, handler btnTesoreria_ImportarOrdenesDePago_ItemClick. Se abre acoplado con ShowFrmInDockPanel(New FormImportacionOrdenesDePago()) (no modal). |
| Grilla de vista previa |
gcOrdenesDePago / gridView1 con bindingSourceOrdenesDePago. Filas con Status=false se pintan en Color.Salmon (gridView1_RowStyle). Edición de celda revalida la fila (gridView1_CellValueChanged → Validar). El "Log de Importación" es gcOrdenesDePago.ShowRibbonPrintPreview(). |
| Controles clave |
txtPathArchivo (path del .xls, con botón de búsqueda), chkLiquidar (liquidar automáticamente), chkOmitirEntidad (omitir validación de entidad), btnDescargarPlantilla, btnVerLogImportacion. |
Clases y managers
| Componente |
Detalle |
| Lectura del Excel |
Excel_Manager<OrdenDePago>.Get_ExcelTable(path, "", true). |
| Plantilla modelo |
RTF_LibraryNCG.DocumentFormat (Add_WorkSheet, SetValue_ExcelWorksheet, SaveDocument). Solo escribe la fila de encabezados; archivo .xls. |
| Validación de Ids |
PrestamosSolicitudes_Manager.vpnetContext (EF). LoadIds() precarga HashSet de Ids habilitados; GetFilteredIds aplica/omite el filtro según chkOmitirEntidad. |
| Generación de OP |
clsOrdenesdepago (constructor con clsConnection.HandleConnection y _Usuario.Id): AddDetalleBanco, AddDetalle (caja), AddDetalle_CtaCte, Save, SetRelation, Liquidar. Cotización vía clsEspecies(...).Cotizacion. |
| DTO interno |
FormImportacionOrdenesDePago.OrdenDePago (Id, Id_TipoEntidad, Id_Entidad, Id_Especie, Id_Sucursal, Detalle_Id_TipoEntidad, Detalle_Id_Entidad, Fecha, Fecha_Valor, Concepto, Importe, Id_CuentaBancaria, Id_Caja, Status, Observaciones). |
| Manejo de errores |
Generic_Base_Manager.LogErrors(ex, false); mensajes al usuario con MessageBoxFrm.ShowMessage / MessageBox.Show. |
Permisos reales
| Permiso / control |
Habilita |
Licencia KeyLicences.Instance.Access(Area.Intranet, Modulo.Tesoreria, SubModulo.Importador_OP, 2) |
Habilita el submódulo Importador de OP a nivel licencia. Si falla, muestra KeyLicences.Instance.Mensaje y no abre. |
Permiso de objeto Tesoreria.Operaciones.ImportarOrdenesDePago (clsSeguridad.IsAllowedObject) |
Abrir el asistente de importación de Órdenes de Pago. Es el permiso evaluado contra el usuario logueado. |
Tablas de base de datos principales
| Tabla / entidad (EF) |
Contenido / uso en la validación |
Especies |
Especies válidas (filtra Activo == true). Valida Id_Especie. |
Sucursales |
Sucursales válidas (filtra Activo == true). Valida Id_Sucursal. |
Clientes |
Entidad tipo 1. Filtro: eliminado == false && Bloqueado == false && Fecha_Baja == null (se omite si chkOmitirEntidad). |
Inversores |
Entidad tipo 2 (proveedor financiero) y tipo 3 (proveedor) en LoadIds, filtrando Eliminado == false. |
Proveedores |
Solo en la validación del medio de pago por cuenta corriente (Detalle_Id_TipoEntidad = 3). |
Especies_Cajas |
Valida que la caja (Id_Caja) exista. |
DefinicionCuentasBancarias |
Valida que la cuenta bancaria (Id_CuentaBancaria) exista. |
OrdenesDePago (vía clsOrdenesdepago) |
Tabla destino donde se generan las OP. Centro de Costo fijado en 1. |
Relación con otros módulos / manuales
Esta funcionalidad forma parte de Tesorería. No declara otro manual operativo como dependencia directa en su metadata actual.
Notas para soporte (comportamiento real del código)
- Doble control de acceso: además del permiso de objeto hay un chequeo de licencia (
SubModulo.Importador_OP). Un usuario con permiso pero sin licencia no podrá abrir el formulario.
- Medio de pago por prioridad de generación: al generar, el orden es Id_CuentaBancaria → Id_Caja → cuenta corriente (Detalle_*). La validación, además, rechaza la fila si hay más de un medio de pago (
mediosDePago >= 2).
- Proveedor y proveedor financiero comparten origen: en
LoadIds, tanto tipo 2 como tipo 3 se resuelven contra Inversores (mismos Ids). La tabla Proveedores solo se consulta para el medio de pago por cuenta corriente.
- Filas con error: al presionar Siguiente, si alguna fila tiene
Status=false el asistente no avanza y exige corregir. Las filas válidas son las únicas que se procesan (if (itemExcel.Status == false) continue;).
- Fecha inválida: una fecha vacía/mal formada se interpreta como
1900-01-01 y marca error; si Fecha_Valor es 1900-01-01 y la Fecha es válida, se copia la Fecha.
- Liquidación: si
chkLiquidar está tildado, tras Save se llama Liquidar(Id_TipoEntidad, Id_Entidad) y se agrega a Observaciones {Liquidada exitosamente!} o {ERROR al Liquidar!} (la OP queda generada aunque falle la liquidación).