Generación de Albaranes de Venta según Albaranes de Compra c.6.2

 

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:

  1. Selecciona líneas de albaranes de compra mediante un filtro configurable.
  2. 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.
  3. Conecta con la empresa destino indicada.
  4. Reserva el siguiente número disponible dentro de la serie de venta.
  5. Crea una única cabecera de albarán de venta para todas las líneas seleccionadas.
  6. Genera una línea de venta por cada línea de compra seleccionada.
  7. Calcula precios, importes, costes, beneficio, impuestos y conversiones de unidades o moneda según la configuración disponible.
  8. Si la empresa lo tiene configurado, recalcula totales, Intrastat, bultos, número de bultos y taras.
  9. 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

  1. 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.

  2. 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.

  3. 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.
  4. Indique la Fecha que tendrá el albarán de venta. Al iniciar una selección nueva se propone la fecha actual.

  5. 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.

  6. 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.

  7. Indique el Cliente de la empresa destino.

  8. Indique el Almacén en el que se crearán las líneas del albarán de venta.

  9. Indique la Serie del nuevo albarán de venta.

  10. 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.
  11. Opcionalmente, indique un Usuario para el albarán generado.

    Si se deja vacío, se utiliza el usuario actual de la aplicación.

  12. Revise los criterios mostrados en la cuadrícula de selección.

  13. Pulse Procesar.

    Durante el proceso se muestra una barra de progreso y la referencia de la línea que se está tratando.

  14. 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ámetroNombre técnicoDescripciónObligatorioFormato o valores permitidosValor predeterminadoEjemplo
Código de configuraciónedit_codigo_conf / COD_55Dato introducido por el usuario. Identifica una plantilla de selección.No para procesar; necesario para identificar una plantilla guardadaHasta 8 caracteresÚltima configuración utilizada o vacío al pulsar NuevoINTER001 (hipotético)
Descripciónedit_descripcion_conf / DES_55Dato introducido por el usuario. Descripción de la plantilla.No determinado en el códigoHasta 100 caracteres en la pantalla principalVacíoCompras interempresa diarias (hipotético)
Notasmemo_observacion / OBSERVACION_55Dato introducido por el usuario. Observaciones asociadas a la plantilla. No interviene directamente en la generación.NoTexto; longitud no determinada en el códigoVacíoProcesar después de revisar compras (hipotético)
Selecciónwhere1, programa de selección 2769Dato introducido por el usuario. Condiciones que determinan las líneas de compra que se procesarán.Criterios construidos mediante la pantalla SQLVacíoFecha de entrada igual a 05/08/2026 (hipotético)
Fechadtp_fecha / CAMPO1_55 / F_ALB_017Dato 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 fechaFechaFecha actual05/08/2026 (hipotético)
Almacén P. Costeedit_cod_alm_stk / CAMPO8_55Dato introducido por el usuario. Almacén de la empresa de origen del que se recupera el precio de coste del artículo.Código de almacén de hasta 3 caracteresVacío001 (hipotético)
Empresa destinoedit_cod_emp / CAMPO2_55Dato introducido por el usuario. Empresa en la que se creará el albarán de venta.Código de hasta 3 caracteres; internamente se completa con ceros a la izquierda para la conexiónVacío003 (hipotético)
Cliente destinoedit_cod_cli / CAMPO3_55 / CLIENTE_017Dato introducido por el usuario. Cliente del nuevo albarán en la empresa destino.Código numérico de 6 posiciones; se completa con ceros a la izquierdaVacío000123 (hipotético)
Almacén destinoedit_cod_alm / CAMPO4_55 / ALMD_016Dato introducido por el usuario. Almacén asignado a todas las líneas de venta generadas.Código de hasta 3 caracteres existente en la empresa destinoVacío002 (hipotético)
Serieedit_cod_serie / CAMPO5_55 / COD_017Dato introducido por el usuario. Serie del albarán de venta.Código de hasta 3 caracteres existente en la empresa destinoVacíoINT (hipotético)
Artículo sustitutoedit_cod_art / CAMPO6_55 / ART_016Dato 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.NoArtículo de categoría A existente en la empresa destino; longitud no determinada en el códigoVacíoA000045 (hipotético)
Usuario del albaránedit_cod_usuario / CAMPO7_55 / USUARIO_017Dato introducido por el usuario o calculado automáticamente. Usuario que queda asociado al documento.No en ejecución manual; sí en la pantalla ProgramarHasta 8 caracteres; debe existir en el maestro de usuariosUsuario actual de la aplicación si está vacíoOPER01 (hipotético)
Número del albaránCOD2_017Dato calculado automáticamente. Siguiente número disponible de la serie seleccionada.AutomáticoNúmero de 6 posiciones, completado con cerosMáximo existente más uno; 000001 si no existen documentos000456 (hipotético)
Datos de cabeceraCampos de FZG017 obtenidos de FZG128, FZG020, FZC025 y configuración de empresaDatos 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áticoSegún los maestros de cliente, serie, usuario y empresa destinoConfiguración vigente de dichos maestrosNo determinado en el código
Cantidad y unidadUNID_024, TU_024UNID_016, TU_016Datos recuperados del albarán de compra. Se copian a la línea de venta.AutomáticoValores registrados en la línea de compraLínea de compra seleccionada10 unidades (hipotético)
Descripción de la líneaDART_024DART_016Dato recuperado del albarán de compra. Texto descriptivo copiado a la línea de venta.AutomáticoTexto; longitud no determinada en el códigoDescripción de origenMaterial interempresa (hipotético)
Precio e importe de la líneaPCOSTE_011, MON_011PCOMPRA_016, IMPORTE_016Datos 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áticoImporte numérico con los decimales configurados para la monedaCoste vigente del artículo; cero si falta o no puede convertirse125,00 (hipotético)
Impuesto de la líneaIVA_024IVA_016Dato 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áticoCódigo fiscal vigenteSegún línea de compra, fecha y configuraciónNo determinado en el código
Vínculo c.6.2 en origenEMP_C62_025, ALBV_C62_025Dato calculado automáticamente. Empresa destino y albarán de venta asociados al albarán de compra.AutomáticoEmpresa de 3 posiciones y referencia serie/númeroVacío antes del proceso003 y INT/000456 (hipotéticos)
Referencia de origen en destinoEMP_C62_ORIGEN_017, ALBC_C62_ORIGEN_017Dato calculado automáticamente. Identifica la empresa de origen y un albarán de compra vinculado.AutomáticoEmpresa y referencia de albaránEmpresa actual y primer albarán recuperadoNo determinado en el código
Usuario de exportaciónedit_usuarioDato introducido por el usuario. Usuario que recibirá la plantilla cuando se utiliza la exportación dirigida.Sí en la exportación dirigidaHasta 8 caracteresVacíoUSUDEST (hipotético)
Empresa de exportaciónedit_empresaDato introducido por el usuario. Empresa a la que se copia la plantilla.Código de 3 caracteres, completado con cerosEmpresa actual003 (hipotético)
Código y descripción exportadosedit_codigo, edit_des_codigoDatos introducidos o recuperados. Identificación que tendrá la plantilla exportada.No determinado en el códigoFormato no determinado en el códigoCódigo y descripción de la plantilla actualINTER003 (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ónCausa probableCó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 existeEl 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 plantillaLa 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ánPuede 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.

  1. Pulse Nuevo.
  2. 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.
  3. Indique como fecha del albarán de venta 05/08/2026.
  4. Seleccione 001 como Almacén P. Coste.
  5. Seleccione la empresa destino 003.
  6. Seleccione el cliente 000123.
  7. Seleccione el almacén destino 002.
  8. Indique la serie INT.
  9. Deje vacío el artículo para conservar el artículo de cada línea de compra.
  10. Deje vacío el usuario para utilizar el usuario actual.
  11. 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

  1. Significado funcional exacto de la denominación c.6.2.
  2. Qué proceso externo ejecuta las configuraciones guardadas mediante Programar.
  3. Cómo se establecen la hora, frecuencia, calendario y estado de una ejecución programada.
  4. Significado funcional de todos los operadores y opciones disponibles en el selector SQL común.
  5. Si se permite seleccionar líneas de varios albaranes de compra en una sola ejecución desde el punto de vista operativo.
  6. Si el albarán de venta debe incluir siempre todas las líneas del albarán de compra o se admite el procesado parcial.
  7. Qué documento de origen debe aparecer en la cabecera de venta cuando se seleccionan varios albaranes de compra.
  8. Si el artículo sustituto debe existir también en la empresa de origen para recuperar correctamente su coste.
  9. Qué debe hacerse cuando el coste del artículo no existe en el Almacén P. Coste o su moneda no puede convertirse.
  10. Si el mensaje “Proceso finalizado” garantiza actualmente que el albarán se ha grabado.
  11. Longitud funcional permitida para notas y para los códigos y descripciones usados al exportar plantillas.
  12. Diferencia funcional y destinatarios previstos de las dos opciones de exportación disponibles.
  13. Si las configuraciones programadas deben usar necesariamente como código el de la empresa de origen.
  14. Si los documentos generados requieren una revisión, validación o contabilización posterior.