Это будет небезопасное обновление. TemplateParsing - это область, которая требует большого внимания, ей не хватает таких базовых вещей, как то, что вы хотите сделать + это или это
Это то, что я делаю, когда мне нужен другой формат для того, что хранится в БД, а также когда у меня есть пользовательские sugarFields
1 создайте новое текстовое поле (например, date_entered_french_format_c
в этом примере), как это объяснено в этом видео
NB: новое текстовое поле не изменит таблицу базы данных (в данном случае aos_quote
), вместо этого текстовое поле определено в таблице fields_meta_data
и значениях поля date_entered_french_format_c
связанные с кортежами в aos_quote
будут хранить aos_quotes_cstm
(<module>_cstm
, чтобы сделать его общим для других модулей).
2 создать after_save logic_hook в aos_quotes (3 шага):
Вот справочная документация по созданию ловушки модуля модуля
SugarCRM CE Документы
шаг № 1:
в [suitecrm folder]/custom/Extension/modules/AOS_Quotes/Ext/LogicHooks/after_save_logic_hooks.php
:
<?php
$hook_array['after_save'] = Array();
$hook_array['after_save'][] = Array(1, 'after save', 'custom/modules/AOS_Quotes/AOSQuotesAfterSaveClass.php','AOSQuotesAfterSaveClass','after_save_method');
?>
шаг № 2: парсинг полей даты и их форматирование в соответствии с вашими потребностями
in [suitecrm folder]/custom/modules/AOS_Quotes/AOSQuotesAfterSaveClass.php
:
<?php
if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
class AOSQuotesAfterSaveClass
{
function after_save_method($bean, $event, $arguments)
{
//logic
$date_entered = (empty($bean->fetched_row['id']))?((new \DateTime())->format('Y-m-d H:i:s')):$bean->fetched_row['date_entered'];
$date_entered_as_date = DateTime::createFromFormat('Y-m-d H:i:s',$date_entered);
$date_format_to_french = $date_entered_as_date->format('d-m-Y');
$bean->date_entered_french_format_c = $date_format_to_french;
$bean->save();
}
}
?>
шаг № 3: Выполните восстановление заново , как описано здесь .
3 включает новые поля вместо полей по умолчанию (date_entered_french_format_c
можно использовать в шаблоне PDF)