Костыльный способ может быть таким. Через событие OnAdminTabControlBegin чистим значение поля.
Код |
---|
Main\EventManager::getInstance()->addEventHandler("main", "OnAdminTabControlBegin", [MyClass::class, "clearFormFieldAfterIBElementCopy"]); class MyClass { public static function clearFormFieldAfterIBElementCopy(&$form) { // Проверяем наша ли это форма, инфоблок 10 if ($form->name !== "form_element_10") { return; } // Проверяем на новый элемент, ID не задан if (!empty($form->arFields["ID"]["custom_html"])) { return; } // На всякий случай проверяем наличие поля для нашего свойства, номер 82 if (!isset($form->arFields["PROPERTY_82"])) { return; } // Обнуляем значение поля формы. В моем случае значение поля - число. $form->arFields["PROPERTY_82"] = preg_replace('#value="\d+"#', 'value=""', $form->arFields["PROPERTY_82"]); } } |