Características de la formación de la validación
Copiar enlace al artículo
Copiado

La validacion está diseñada para crear verificaciones adicionales de cambios en pedidos y clientes que el usuario implementa en el sistema. Los cheques se aplican no solo al editar en el pedido / ficha de cliente, sino en operaciones grupales.

Se especifica una expresión booleana en la condición; si es verdadera, la acción se cancelará y el usuario recibirá un mensaje de error.

En la condición, puede trabajar con el objeto en el que se realiza la acción (esto es order o customer), así como con el objeto changeSet (tipo Change\EntityChangeSet), que contiene información sobre el) campos.

changeSet.isUpdate() and changeSet.hasChangedField('payments.status')

En algunos casos, la validación requiere verificar algunos atributos del usuario que cambia los datos en el pedido / cliente. Por ejemplo, verifique que el usuario esté en un grupo específico. Puede obtener el usuario que cambia los datos a través de la función user().

    1. Prohibición de cambiar el estado de pago del pedido.
changeSet.isUpdate() and changeSet.hasChangedField('payments.status')
    1. La fecha de entrega debe ser hoy o más tarde
order.deliveryDate < date('now 00:00:00') and (
(changeSet.isCreate() and order.deliveryDate) or
(changeSet.isUpdate() and changeSet.hasChangedField('delivery_date'))
)
    1. Solo el usuario del grupo Logist puede hacer el envío.

Nota

De forma predeterminada, no hay un grupo de Logist en el sistema, pero puede crear los grupos de usuarios que necesite.

changeSet.hasChangedField('shipped') and not user().hasGroup('logist')
    1. El usuario puede cambiar solo ciertos campos
changeSet.hasChangesExcluding(['status', 'first_name', 'last_name'])
Gracias por tus comentarios.
¿Te resultó útil este artículo
No
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Si
Artículo anterior
Trabajar con productos en triggeres, validaciones y tipos de precio
El contenido del pedido es una matriz de datos, por lo tanto, el trabajo con él se realiza mediante filtros especiales creados en PipeLanguage. En este artículo analizaremos cómo trabajar con filtros en tipos de precio, triggeres y validación y en el contexto de productos.
Artículo siguiente
Comprobación y validación de triggeres
Si necesita comprobar un trigger o una validación para que funcione correctamente, puede utilizar el registro de acciones, que muestra cada trigger y ofrece una descripcion detallada si hay un error.
#}