Fix line_label length limit causing issues with many account mappings

- Created migration to change line_label from varchar(255) to TEXT
- Added truncation logic to prevent future line_label length issues (1000 char limit)
- This fixes the issue where 11 accounts mapped to line 08 base caused display problems
- The calculation should now work correctly with any number of account mappings
This commit is contained in:
Frank Cools 2025-10-03 15:30:48 +02:00
parent c896cfab7f
commit 575a644c64
2 changed files with 17 additions and 0 deletions

View File

@ -263,6 +263,12 @@ class DeclarationTVA
);
$combined_label = !empty($account_labels) ? implode(', ', $account_labels) : 'No accounts mapped';
// Truncate label if too long to prevent database issues (keep some buffer)
if (strlen($combined_label) > 1000) {
$combined_label = substr($combined_label, 0, 997) . '...';
}
$this->createCA3Line($declaration_id, $ca3_line, $combined_label, $combined_amounts);
// Log the final amounts for debugging

View File

@ -0,0 +1,11 @@
-- Migration to fix line_label field length issue
-- The varchar(255) limit was causing problems with many account mappings
-- This increases it to TEXT to handle long account label combinations
-- Update the line_label field to TEXT to handle long account combinations
ALTER TABLE `llx_declarationtva_ca3_lines`
MODIFY COLUMN `line_label` TEXT DEFAULT NULL;
-- Add comment to document the change
ALTER TABLE `llx_declarationtva_ca3_lines`
MODIFY COLUMN `line_label` TEXT DEFAULT NULL COMMENT 'Combined account labels for this CA-3 line (can be long with many accounts)';