Generación de Albaranes de Venta según Albaranes de Compra c.6.2
¿Para qué sirve?
Esta funcionalidad permite generar un albarán de venta en una empresa destino utilizando líneas de albaranes de compra registradas en la empresa de origen.
Está orientada a operaciones interempresa. Una vez procesados, los albaranes de compra de origen quedan vinculados con la empresa y el albarán de venta generados.
La funcionalidad solo puede abrirse si el usuario tiene permiso de acceso al programa PWZGR978.
¿Qué hace?
El proceso realiza las siguientes operaciones:
- Selecciona líneas de albaranes de compra mediante un filtro configurable.
- Excluye los albaranes de compra que ya tengan informada una empresa o un albarán de venta de destino para el proceso c.6.2.
- Conecta con la empresa destino indicada.
- Reserva el siguiente número disponible dentro de la serie de venta.
- Crea una única cabecera de albarán de venta para todas las líneas seleccionadas.
- Genera una línea de venta por cada línea de compra seleccionada.
- Calcula precios, importes, costes, beneficio, impuestos y conversiones de unidades o moneda según la configuración disponible.
- Si la empresa lo tiene configurado, recalcula totales, Intrastat, bultos, número de bultos y taras.
- Marca los albaranes de compra de origen con la empresa destino y el número del albarán de venta generado.
El proceso no imprime, envía ni factura el documento. Su resultado principal es la creación del albarán de venta y la actualización de los albaranes de compra de origen.
Importante: el precio e importe que se graban en la línea de venta no se copian directamente del precio e importe de la línea de compra. Se obtienen del precio de coste del artículo en el almacén indicado como Almacén P. Coste, con las conversiones de unidad y moneda aplicables.
Cómo utilizarlo
Abra Generar AlbV s/ AlbC (IE c.6.2).
Si existe una configuración utilizada anteriormente por el mismo usuario, empresa y programa, se carga automáticamente la más reciente.
Pulse Nuevo si desea comenzar con una selección vacía.
Esta acción limpia los datos de la pantalla y elimina los criterios SQL temporales del usuario para este programa.
Pulse SQL y defina qué líneas de albaranes de compra deben procesarse.
El selector permite utilizar criterios relacionados con:
- Albarán de compra.
- Fecha del albarán de entrada.
- Tipo.
- Proveedor.
- Centro de coste.
- Empresa transportista.
- Número de seguimiento.
- Número de asiento.
- Número de factura.
- Zona.
- Ruta.
- Provincia.
- País.
- Fecha del albarán de origen.
- Artículo.
Indique la Fecha que tendrá el albarán de venta. Al iniciar una selección nueva se propone la fecha actual.
Seleccione el Almacén P. Coste de la empresa de origen.
De este almacén se recupera el precio de coste del artículo utilizado para calcular el precio y el importe de las líneas generadas.
Seleccione la Empresa destino.
Debe hacerse antes de introducir el cliente, el almacén de destino, la serie o el artículo. Si cambia la empresa, esos campos se borran automáticamente.
Indique el Cliente de la empresa destino.
Indique el Almacén en el que se crearán las líneas del albarán de venta.
Indique la Serie del nuevo albarán de venta.
Opcionalmente, seleccione un Artículo.
- Si lo deja vacío, cada línea utiliza el artículo de la línea de compra correspondiente.
- Si informa un artículo, ese mismo artículo sustituye al original en todas las líneas generadas.
- El texto descriptivo de la línea continúa obteniéndose de la línea de compra.
Opcionalmente, indique un Usuario para el albarán generado.
Si se deja vacío, se utiliza el usuario actual de la aplicación.
Revise los criterios mostrados en la cuadrícula de selección.
Pulse Procesar.
Durante el proceso se muestra una barra de progreso y la referencia de la línea que se está tratando.
Cuando aparezca “Proceso finalizado.”, compruebe el albarán creado en la empresa destino.
Guardar y reutilizar una selección
Las opciones de plantilla permiten conservar tanto los campos de la pantalla como los criterios SQL:
- Guardar: actualiza la configuración abierta.
- Guardar como: solicita un código y guarda una nueva configuración.
- Abrir: recupera una configuración existente.
- Borrar: elimina la configuración actual después de pedir confirmación.
- Exportar: copia una configuración a otra empresa y, según la opción utilizada, a un usuario concreto o sin indicar usuario destino.
La exportación afecta a la configuración de selección, no a los albaranes.
Programación
El botón Programar abre una pantalla específica para guardar una configuración destinada a ejecución programada. En esta pantalla el usuario es obligatorio.
No aparecen campos de hora, frecuencia o calendario. Por tanto, no puede determinarse cómo ni cuándo se ejecuta posteriormente la configuración guardada.
Campos y parámetros
| Campo o parámetro | Nombre técnico | Descripción | Obligatorio | Formato o valores permitidos | Valor predeterminado | Ejemplo |
|---|---|---|---|---|---|---|
| Código de configuración | edit_codigo_conf / COD_55 | Dato introducido por el usuario. Identifica una plantilla de selección. | No para procesar; necesario para identificar una plantilla guardada | Hasta 8 caracteres | Última configuración utilizada o vacío al pulsar Nuevo | INTER001 (hipotético) |
| Descripción | edit_descripcion_conf / DES_55 | Dato introducido por el usuario. Descripción de la plantilla. | No determinado en el código | Hasta 100 caracteres en la pantalla principal | Vacío | Compras interempresa diarias (hipotético) |
| Notas | memo_observacion / OBSERVACION_55 | Dato introducido por el usuario. Observaciones asociadas a la plantilla. No interviene directamente en la generación. | No | Texto; longitud no determinada en el código | Vacío | Procesar después de revisar compras (hipotético) |
| Selección | where1, programa de selección 2769 | Dato introducido por el usuario. Condiciones que determinan las líneas de compra que se procesarán. | Sí | Criterios construidos mediante la pantalla SQL | Vacío | Fecha de entrada igual a 05/08/2026 (hipotético) |
| Fecha | dtp_fecha / CAMPO1_55 / F_ALB_017 | Dato introducido por el usuario. Fecha del albarán de venta y referencia para determinados cálculos de impuestos y divisas. | Sí; el control siempre contiene una fecha | Fecha | Fecha actual | 05/08/2026 (hipotético) |
| Almacén P. Coste | edit_cod_alm_stk / CAMPO8_55 | Dato introducido por el usuario. Almacén de la empresa de origen del que se recupera el precio de coste del artículo. | Sí | Código de almacén de hasta 3 caracteres | Vacío | 001 (hipotético) |
| Empresa destino | edit_cod_emp / CAMPO2_55 | Dato introducido por el usuario. Empresa en la que se creará el albarán de venta. | Sí | Código de hasta 3 caracteres; internamente se completa con ceros a la izquierda para la conexión | Vacío | 003 (hipotético) |
| Cliente destino | edit_cod_cli / CAMPO3_55 / CLIENTE_017 | Dato introducido por el usuario. Cliente del nuevo albarán en la empresa destino. | Sí | Código numérico de 6 posiciones; se completa con ceros a la izquierda | Vacío | 000123 (hipotético) |
| Almacén destino | edit_cod_alm / CAMPO4_55 / ALMD_016 | Dato introducido por el usuario. Almacén asignado a todas las líneas de venta generadas. | Sí | Código de hasta 3 caracteres existente en la empresa destino | Vacío | 002 (hipotético) |
| Serie | edit_cod_serie / CAMPO5_55 / COD_017 | Dato introducido por el usuario. Serie del albarán de venta. | Sí | Código de hasta 3 caracteres existente en la empresa destino | Vacío | INT (hipotético) |
| Artículo sustituto | edit_cod_art / CAMPO6_55 / ART_016 | Dato introducido por el usuario. Sustituye al artículo de todas las líneas seleccionadas. Si queda vacío, se conserva el artículo de cada línea de compra. | No | Artículo de categoría A existente en la empresa destino; longitud no determinada en el código | Vacío | A000045 (hipotético) |
| Usuario del albarán | edit_cod_usuario / CAMPO7_55 / USUARIO_017 | Dato introducido por el usuario o calculado automáticamente. Usuario que queda asociado al documento. | No en ejecución manual; sí en la pantalla Programar | Hasta 8 caracteres; debe existir en el maestro de usuarios | Usuario actual de la aplicación si está vacío | OPER01 (hipotético) |
| Número del albarán | COD2_017 | Dato calculado automáticamente. Siguiente número disponible de la serie seleccionada. | Automático | Número de 6 posiciones, completado con ceros | Máximo existente más uno; 000001 si no existen documentos | 000456 (hipotético) |
| Datos de cabecera | Campos de FZG017 obtenidos de FZG128, FZG020, FZC025 y configuración de empresa | Datos recuperados de la base de datos. Incluyen, entre otros, forma de pago, dirección, tarifa, comisión, moneda, transportista, descuentos, recargos, tratamiento fiscal y condición de facturable. | Automático | Según los maestros de cliente, serie, usuario y empresa destino | Configuración vigente de dichos maestros | No determinado en el código |
| Cantidad y unidad | UNID_024, TU_024 → UNID_016, TU_016 | Datos recuperados del albarán de compra. Se copian a la línea de venta. | Automático | Valores registrados en la línea de compra | Línea de compra seleccionada | 10 unidades (hipotético) |
| Descripción de la línea | DART_024 → DART_016 | Dato recuperado del albarán de compra. Texto descriptivo copiado a la línea de venta. | Automático | Texto; longitud no determinada en el código | Descripción de origen | Material interempresa (hipotético) |
| Precio e importe de la línea | PCOSTE_011, MON_011 → PCOMPRA_016, IMPORTE_016 | Datos calculados automáticamente. Se obtienen del coste del artículo en el Almacén P. Coste de origen, ajustado por unidad, cantidad y moneda. | Automático | Importe numérico con los decimales configurados para la moneda | Coste vigente del artículo; cero si falta o no puede convertirse | 125,00 (hipotético) |
| Impuesto de la línea | IVA_024 → IVA_016 | Dato recuperado y recalculado automáticamente. Parte de la referencia fiscal de la compra y busca el código aplicable en la fecha del albarán de venta. | Automático | Código fiscal vigente | Según línea de compra, fecha y configuración | No determinado en el código |
| Vínculo c.6.2 en origen | EMP_C62_025, ALBV_C62_025 | Dato calculado automáticamente. Empresa destino y albarán de venta asociados al albarán de compra. | Automático | Empresa de 3 posiciones y referencia serie/número | Vacío antes del proceso | 003 y INT/000456 (hipotéticos) |
| Referencia de origen en destino | EMP_C62_ORIGEN_017, ALBC_C62_ORIGEN_017 | Dato calculado automáticamente. Identifica la empresa de origen y un albarán de compra vinculado. | Automático | Empresa y referencia de albarán | Empresa actual y primer albarán recuperado | No determinado en el código |
| Usuario de exportación | edit_usuario | Dato introducido por el usuario. Usuario que recibirá la plantilla cuando se utiliza la exportación dirigida. | Sí en la exportación dirigida | Hasta 8 caracteres | Vacío | USUDEST (hipotético) |
| Empresa de exportación | edit_empresa | Dato introducido por el usuario. Empresa a la que se copia la plantilla. | Sí | Código de 3 caracteres, completado con ceros | Empresa actual | 003 (hipotético) |
| Código y descripción exportados | edit_codigo, edit_des_codigo | Datos introducidos o recuperados. Identificación que tendrá la plantilla exportada. | No determinado en el código | Formato no determinado en el código | Código y descripción de la plantilla actual | INTER003 (hipotético) |
Validaciones y condiciones
Condiciones obligatorias para procesar
Deben estar informados:
- Una selección SQL.
- El Almacén P. Coste.
- La empresa destino.
- El cliente destino.
- El almacén destino.
- La serie.
El artículo y el usuario son opcionales en la ejecución manual.
Comprobaciones realizadas
- El usuario debe tener acceso al programa.
- No se puede introducir un cliente, almacén, serie o artículo sin haber seleccionado previamente una empresa destino.
- El cliente debe existir en la empresa destino.
- El almacén destino debe existir en la empresa destino.
- La serie debe existir en la empresa destino.
- El Almacén P. Coste se valida contra los almacenes de la empresa de origen.
- El artículo se selecciona en el maestro de artículos de la empresa destino.
- La conexión con la base de datos de la empresa destino debe poder establecerse.
- Solo se recuperan albaranes de compra cuyos campos de vinculación c.6.2 estén vacíos.
- Debe existir al menos una línea que cumpla simultáneamente la selección y las condiciones de no procesada.
- Debe poder reservarse un número de albarán de venta. La reserva intenta hasta 100 números consecutivos.
- En la pantalla de programación, el usuario es obligatorio.
Cuando una comprobación de campo no se supera, el valor se borra, el foco vuelve al campo correspondiente o se cancela el proceso.
Combinaciones relevantes
- Artículo vacío: se utiliza el artículo de cada línea de compra.
- Artículo informado: se utiliza el mismo artículo sustituto en todas las líneas.
- Usuario vacío en ejecución manual: se utiliza el usuario actual.
- Cambio de empresa destino: se vacían cliente, almacén, serie y artículo.
- Varias líneas seleccionadas: se integran en un único albarán de venta.
- Varias líneas del mismo albarán de compra: el albarán de compra completo queda marcado como procesado, aunque el filtro solo haya seleccionado algunas de sus líneas.
Resultado del proceso
El resultado confirmado es:
- Un albarán de venta nuevo en la empresa destino.
- Una línea de venta por cada línea de compra seleccionada.
- Numeración automática dentro de la serie indicada.
- Copia de cantidades, unidades y descripciones desde las líneas de compra.
- Aplicación opcional de un artículo sustituto y de un almacén destino común.
- Cálculo del precio e importe desde el coste del artículo en la empresa de origen.
- Conversión de unidades cuando exista configuración para ello.
- Conversión de moneda cuando corresponda.
- Cálculo del coste de venta y del beneficio.
- Determinación del código de impuesto aplicable.
- Cálculo de totales y, según la configuración de la empresa, de Intrastat, bultos y taras.
- Vinculación de los albaranes de compra de origen con la empresa y el albarán de venta destino.
- Registro en la cabecera de venta de la empresa y el albarán de compra de origen.
No se ha identificado ninguna impresión, envío por correo, llamada a un servicio externo ni creación automática de factura.
Mensajes y errores habituales
| Mensaje o situación | Causa probable | Cómo resolverlo |
|---|---|---|
No tiene acceso a este programa. | El usuario no tiene permiso para PWZGR978. | Solicitar al responsable de permisos que revise el acceso al programa. |
Debe realizar una selección. Proceso cancelado. | No se ha definido o recuperado ningún filtro SQL. | Pulsar SQL, crear la selección y volver a procesar. |
Debe seleccionar un almacén. Proceso cancelado. | Falta el Almacén P. Coste o el almacén destino. El mensaje no distingue entre ambos. | Revisar que estén informados Almacén P. Coste y Almacén. |
Debe seleccionar una empresa. Proceso cancelado. | No se ha indicado la empresa destino. | Seleccionar la empresa antes de procesar. |
Debe seleccionar un cliente. Proceso cancelado. | No se ha indicado el cliente destino. | Seleccionar un cliente existente en la empresa destino. |
Debe seleccionar una serie. Proceso cancelado. | No se ha indicado la serie de venta. | Seleccionar una serie existente en la empresa destino. |
Debe seleccionar un usuario. Proceso cancelado. | En la pantalla Programar no se ha informado el usuario. | Seleccionar el usuario que quedará asociado a la configuración programada. |
Debe seleccionar una empresa para poder seleccionar un cliente. | Se ha introducido el cliente antes que la empresa destino. | Seleccionar primero la empresa y después el cliente. |
Debe seleccionar una empresa para poder seleccionar un almacén. | Se ha introducido el almacén destino antes que la empresa. | Seleccionar primero la empresa y después el almacén. |
Debe seleccionar una empresa para poder seleccionar una serie. | Se ha introducido la serie antes que la empresa. | Seleccionar primero la empresa y después la serie. |
Debe seleccionar una empresa para poder seleccionar un artículo. | Se ha intentado buscar un artículo sin empresa destino. | Seleccionar primero la empresa destino. |
No existe el Cliente especificado. | El código no existe en el maestro de clientes de la empresa destino. | Elegir un cliente existente mediante el botón de búsqueda. |
No existe el Almacén especificado. | El almacén no existe en la empresa destino. | Elegir un almacén existente para esa empresa. |
No existe la Serie especificada. | La serie no existe en la empresa destino. | Elegir una serie existente para esa empresa. |
Empresa no conectada. | No ha sido posible conectar con la empresa destino al buscar el artículo. | Verificar la empresa seleccionada y que su base de datos esté disponible. |
No se pudo establecer la conexión con la BBDD de destino. Proceso cancelado. | La base de datos de la empresa destino no está accesible. | Comprobar la empresa destino y solicitar la revisión de la conexión. |
No se han seleccionado datos para procesar. | Ninguna línea cumple el filtro o los albaranes coincidentes ya están vinculados por c.6.2. | Revisar los criterios y comprobar si los albaranes ya tienen empresa o albarán de venta destino. |
El albarán de ventas no se pudo bloquear. Proceso cancelado. | No ha podido reservarse un número disponible o se ha producido un error al registrar el bloqueo. | Volver a intentarlo. Si persiste, solicitar la revisión de bloqueos y numeración de la serie. |
ERROR DE CONEXION DE BBDD: ... | Fallo de conexión con la base general o con la empresa de origen. | Solicitar la revisión de disponibilidad y configuración de la base de datos. |
El motor seleccionado no existe | El programa ha recibido un tipo de motor de base de datos no admitido. | Solicitar la revisión de la configuración técnica de arranque. |
ERROR: ... al abrir una plantilla | La configuración guardada no ha podido recuperarse correctamente. | Probar otra plantilla o solicitar la revisión de la configuración afectada. |
Aparece Proceso finalizado, pero no se encuentra el albarán | Puede haberse producido un error interno durante la transacción que no se muestra al usuario. | Comprobar el albarán en destino y la vinculación en origen. Si no existen, comunicar la incidencia al soporte técnico. |
Ejemplo práctico
Todos los datos de este ejemplo son hipotéticos.
Una empresa de origen necesita generar en la empresa 003 un albarán de venta correspondiente a un albarán de compra recibido el 05/08/2026.
- Pulse Nuevo.
- En SQL, seleccione:
- Fecha del albarán de entrada igual a
05/08/2026. - Proveedor igual a
000045. - Albarán de compra igual a
AC/001250.
- Fecha del albarán de entrada igual a
- Indique como fecha del albarán de venta
05/08/2026. - Seleccione
001como Almacén P. Coste. - Seleccione la empresa destino
003. - Seleccione el cliente
000123. - Seleccione el almacén destino
002. - Indique la serie
INT. - Deje vacío el artículo para conservar el artículo de cada línea de compra.
- Deje vacío el usuario para utilizar el usuario actual.
- Pulse Procesar.
Si el albarán de compra contiene tres líneas elegibles, se genera un único albarán de venta, por ejemplo INT/000456, con tres líneas.
Cada línea conserva la cantidad, unidad y descripción de su línea de compra. El precio se obtiene del coste del artículo en el almacén 001, no del precio registrado en el propio albarán de compra. Finalmente, el albarán de compra queda vinculado con la empresa 003 y con INT/000456.
Observaciones
- El filtro actúa sobre líneas de albarán de compra, pero la marca de procesado se guarda en la cabecera del albarán.
- Para evitar dejar líneas sin posibilidad de procesarse posteriormente, conviene seleccionar todas las líneas necesarias de cada albarán de compra en una misma ejecución.
- Todas las líneas seleccionadas se agrupan en un solo albarán de venta, aunque procedan de distintos albaranes de compra.
- El artículo sustituto, cuando se informa, se aplica a todas las líneas.
- El almacén destino también es común para todas las líneas generadas.
- La descripción de la compra se conserva incluso cuando se utiliza un artículo sustituto.
- El precio de coste ausente o una conversión no disponible pueden producir un precio calculado igual a cero.
- La configuración de cliente y empresa destino interviene de manera relevante en la cabecera, impuestos, moneda, totales, bultos, Intrastat y taras.
- Las configuraciones guardadas incluyen la fecha. Al recuperarlas, se restaura esa fecha; si no puede interpretarse, se utiliza la fecha actual.
- Al procesar una plantilla con código, se actualiza su fecha y hora de último uso.
- El botón Programar guarda una configuración especial, pero no permite definir calendario, hora ni frecuencia.
Información pendiente de confirmar
- Significado funcional exacto de la denominación c.6.2.
- Qué proceso externo ejecuta las configuraciones guardadas mediante Programar.
- Cómo se establecen la hora, frecuencia, calendario y estado de una ejecución programada.
- Significado funcional de todos los operadores y opciones disponibles en el selector SQL común.
- Si se permite seleccionar líneas de varios albaranes de compra en una sola ejecución desde el punto de vista operativo.
- Si el albarán de venta debe incluir siempre todas las líneas del albarán de compra o se admite el procesado parcial.
- Qué documento de origen debe aparecer en la cabecera de venta cuando se seleccionan varios albaranes de compra.
- Si el artículo sustituto debe existir también en la empresa de origen para recuperar correctamente su coste.
- Qué debe hacerse cuando el coste del artículo no existe en el Almacén P. Coste o su moneda no puede convertirse.
- Si el mensaje “Proceso finalizado” garantiza actualmente que el albarán se ha grabado.
- Longitud funcional permitida para notas y para los códigos y descripciones usados al exportar plantillas.
- Diferencia funcional y destinatarios previstos de las dos opciones de exportación disponibles.
- Si las configuraciones programadas deben usar necesariamente como código el de la empresa de origen.
- Si los documentos generados requieren una revisión, validación o contabilización posterior.