Добрый день!
Чтобы завершить конкретный бизнес-процесс для всех сделок, вам нужно использовать API вашей CRM-системы, например, 1С-Битрикс или другую. Я приведу пример на PHP для Битрикса. Предположим, что вы знаете ID вашего бизнес-процесса и работаете с модулем CRM.
Вот пример, как это можно сделать:
```php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
// Убедитесь, что у вас есть доступ к CRM
if (!CModule::IncludeModule('crm')) {
die('Модуль CRM не подключен.');
}
// ID бизнес-процесса, который нужно завершить
$businessProcessId = 'YOUR_BUSINESS_PROCESS_ID';
// Получить все сделки
$deals = CCrmDeal::GetListEx(['ID' => 'ASC'], [], false, false, ['ID', 'STATUS_ID']);
// Обойдём все сделки
while ($deal = $deals->Fetch()) {
$dealId = $deal['ID'];
// Завершаем бизнес-процесс для сделки
$bpStatus = CBPDocument::GetDocumentType($businessProcessId);
if(CBPDocument::Terminate(
$bpStatus,
$dealId,
'terminate',
['reason' => 'Завершение процесса по коду']
)) {
echo "Бизнес-процесс завершен для сделки ID: $dealId<br/>";
} else {
echo "Ошибка завершения процесса для сделки ID: $dealId<br/>";
}
}
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
```
### Обратите внимание на следующие моменты:
1. **Замените `'YOUR_BUSINESS_PROCESS_ID'`** на ID вашего бизнес-процесса.
2. **Проверьте ваши права доступа.** Убедитесь, что ваш скрипт имеет необходимые права для выполнения этих действий.
3. **Идентификаторы и настройки.** Возможно, необходимо будет подстроить этот код под вашу конкретную CRM-систему, если она отличается от Битрикса.
4. **Безопасность.** Запускайте этот код в безопасной среде, чтобы избежать ненамеренных изменений в данных.
Этот код завершит указанный бизнес-процесс для всех сделок, как активных, так и завершённых. Если у вас есть дополнительные условия или параметры, не забудьте их учесть.