KonstantinT

Members
  • Content count

    5
  • Joined

  • Last visited

Community Reputation

0 Neutral

About KonstantinT

  • Rank
    Newbie
  1. а как получить данные из формы если поля формируются отдельной функцией? В$bean этих полей нет.
  2. Здравствуйте! Нужна связка категория-ответственный, а не продукт-ответственный В чем будет неудобство редактирования? Можете подробнее написать как Вы предлагаете сделать базовыми средствами?
  3. Теперь еще вопрос как сохранить ? Могу сделать конечно как писал с помощью javascript вставлять в поле, а это поле сохранять. Но хотелось бы сразу сохранять без использования доп полей.
  4. В общем создал в SuiteCRM/custom/Extension/modules/Accounts/Ext/Vardefs файл custom_fields.phpс таким содержимым: <?php $dictionary["Account"]["fields"]["custom_fields"] = array ( 'required' => false, 'name' => 'custom_fields', 'vname' => 'LBL_CUSTOM_FIELDS', 'type' => 'varchar', 'massupdate' => , 'comments' => '', 'help' => '', 'importable' => 'true', 'duplicate_merge' => 'disabled', 'duplicate_merge_dom_value' => '0', 'audited' => false, 'reportable' => true, 'function' => array('name' => 'getFields', 'returns' => 'html', 'include' => 'сust_f/get_field.php'), 'source' => 'non-db', ); ?> Возможно некоторые значения можно убрать но я с этим намучился так что пусть работает как есть. Кодировку поставил UTF8 (без BOM) Потом создал файл русификации для поляSuiteCRM/custom/Extension/modules/Accounts/Ext/Language/ru_RU.custom_fields.php с содержимым <?php $mod_strings['LBL_CUSTOM_FIELDS'] = 'Категории и пользователи'; кодировка тоже UTF8 (без BOM) Затем создал каталог сust_fи в нем файлget_drop.php SuiteCRM/сust_f/get_drop.php там уже на Ваше усмотрение функцию пишите с именем которое указали в первом файле в этой строке: 'function' => array('name' => 'getFields', 'returns' => 'html', 'include' => 'Cust_f/get_field.php'), в моем случае функция называется getFields например: function getFields ($bean, $event, $arguments){ $te = $bean->id; //получим ID контрагента return $te; } потом делаем Быстрое восстановление через админку и все работает. Рекурсивно задал права всем файлам и каталогам SuiteCRM755 и на каталоги и файлыcache, custom, data, modules,themes рекурсивно 775
  5. Здравствуйте! Как при создании поля по инструкции: добавить дополнительную функцию которая будет выводить под этим полем на странице редактирования Контрагентакатегории этого контрагента, заданные через связь с категориями товаров. Если у контрагента задана одна или несколько категорий они выводятся на странице редактирования в выпадающем списке можно выбрать ответственного за эту категорию. Выпадающий список формируется из заданных контрагенту пользователей тоже через связь. При выборе для категории пользователя в поле выше записывается ID категории и имя пользователя: {"6153b311-251f-437a-5253-58380e8edb3a":" Петя","562e3004-e513-c0ca-2c09-583d48f94d92":" Аня","453e3004-e513-c0ca-2c09-583d48f9404":" Виктор"}. Пока лучше не придумал. По сохранению думаю буду дальше думать. Сейчас задача корректно подключить функцию из файла. Первый раз подключил по такому комменту: 1: add yourFieldname.php file path: \custom\Extension\modules\yourModule\Ext\Vardefs\yourFieldname.php code: $dictionary["yourModule"]["fields"]["yourFieldname"] = array ( 'required' => false, 'name' => 'yourFieldname', 'vname' => 'LBL_YOURFIELDNAME', 'type' => 'enum', 'required' => false, 'massupdate' => 0, 'comments' => '', 'help' => '', 'importable' => 'true', 'duplicate_merge' => 'disabled', 'duplicate_merge_dom_value' => '0', 'audited' => false, 'reportable' => true, 'len' => 70, 'size' => '20', 'function' => 'getDropdown', ); In vardef i called a function 'getDropdown' 2: getDropdown.php path: \custom\Extension\application\Ext\Utils\getDropdown.php code: function getDropdown(){ static $dropDown = null; if(!$dropDown){ global $db; $query = "SELECT id,name FROM accounts where deleted = 0 order by name asc "; $result = $db->query($query, false); $dropDown = array(); $dropDown[''] = ''; while (($row = $db->fetchByAssoc($result)) != null) { $dropDown[$row['id']] = $row['name']; } } return $dropDown; } Must Quick Repair and Rebuild to see the changes. потом поставил чистую CRM пытался сделать то же самое но это не сработало. В прикреплении наглядното чего хочу добиться.