feat: validar caracteres invocieIn.supplierref #6931 #2090

Merged
carlosap merged 7 commits from 6931-Líneas-en-referencias-de-invoiceIn.supplierRef into dev 2024-02-23 15:45:02 +00:00
5 changed files with 25 additions and 2 deletions
Showing only changes of commit e0cee8f559 - Show all commits

View File

@ -9,7 +9,7 @@
}, },
"vn": { "vn": {
"view": { "view": {
"expeditionPallet_Print": "288cbd6e8289df083ed5eb1a2c808f7a82ba4c90c8ad9781104808a7a54471fb" "expeditionPallet_Print": "a8ea2872086aa4e3401350470b28f68d9efdbaff9fdff8c3d6b478756f7fad2a"
} }
} }
} }

View File

@ -0,0 +1,15 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `util`.`string_checkPrintableAndSpanishChars`(

checkPrintableChars

checkPrintableChars
vString VARCHAR(255)
) RETURNS tinyint(1)
DETERMINISTIC
BEGIN
/**
* Validates whether the input string contains only printable characters
* and Spanish special characters (such as ¡, ÿ, etc.).
*
* @vString string to check
*/
RETURN vString REGEXP '^[ -~¡-ÿ]*$';
END$$
DELIMITER ;

View File

@ -9,6 +9,10 @@ BEGIN
DECLARE vActive TINYINT; DECLARE vActive TINYINT;
DECLARE vWithholdingSageFk INT; DECLARE vWithholdingSageFk INT;
IF NOT util.string_checkPrintableAndSpanishChars(NEW.supplierRef) THEN
CALL util.throw('The invoiceIn cannot contain special characters');

The invoiceIn reference contains invalid characters

The invoiceIn reference contains invalid characters
END IF;
SET NEW.editorFk = account.myUser_getId(); SET NEW.editorFk = account.myUser_getId();
SELECT withholdingSageFk INTO vWithholdingSageFk SELECT withholdingSageFk INTO vWithholdingSageFk

View File

@ -3,9 +3,12 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`invoiceIn_beforeUpdat
BEFORE UPDATE ON `invoiceIn` BEFORE UPDATE ON `invoiceIn`
FOR EACH ROW FOR EACH ROW
BEGIN BEGIN
DECLARE vWithholdingSageFk INT; DECLARE vWithholdingSageFk INT;
IF NOT (NEW.supplierRef <=> OLD.supplierRef) AND NOT util.string_checkPrintableAndSpanishChars(NEW.supplierRef) THEN
CALL util.throw('The invoiceIn cannot contain special characters');
END IF;
SET NEW.editorFk = account.myUser_getId(); SET NEW.editorFk = account.myUser_getId();
IF (SELECT COUNT(*) FROM vn.invoiceIn IF (SELECT COUNT(*) FROM vn.invoiceIn

View File

@ -0,0 +1 @@
-- Place your SQL code here