Для реализации данной функциональности вам понадобится следующий код:
1. В файле /bitrix/php_interface/init.php добавьте следующий код:
```php
use Bitrix\Main\Page\Asset;
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'timeman',
'OnAfterTMDayStart',
function () {
Asset::getInstance()->addString('<script src="/path/to/your/script.js"></script>');
}
);
```
2. В файле /path/to/your/script.js добавьте следующий код:
```javascript
BX.ready(function () {
function OpenDayEventHandler() {
// Проверка обязательных полей
var fieldsFilled = true;
// Здесь нужно проверить все обязательные поля формы и установить fieldsFilled в false, если хотя бы одно поле не заполнено
if (!fieldsFilled) {
var popup = BX.PopupWindowManager.create(
'my-popup',
null,
{
content: '<div style="padding: 10px;">Заполните все обязательные поля</div>',
closeIcon: false,
autoHide: true
}
);
popup.show();
}
}
OpenDayEventHandler();
});
```
Обратите внимание на комментарий в коде, где нужно проверить все обязательные поля формы и установить переменную fieldsFilled в false, если хотя бы одно поле не заполнено. Вам нужно будет заменить эту часть кода на свою логику проверки полей.
Также учтите, что путь "/path/to/your/script.js" в коде init.php должен быть заменен на путь к вашему скрипту, который будет вызываться при срабатывании события "OnAfterTMDayStart".