Имя: Пароль:
1C
1С v8
Бизнес-процесс не останавливается программно
0 Suvar19
 
14.11.23
20:05
Вот такой код:

		ВыборкаДанные = Запрос.Выполнить().Выбрать();
		Пока ВыборкаДанные.Следующий() Цикл
			// останавливаем БП
			БизнесПроцессОбъект = ВыборкаДанные.Ссылка.ПолучитьОбъект();
			БизнесПроцессОбъект.ДатаЗавершения			= ТекущаяДата();
			БизнесПроцессОбъект.Завершен				= Истина;
			БизнесПроцессОбъект.Состояние				= Перечисления.СостоянияБизнесПроцессов.Остановлен;
			БизнесПроцессОбъект.РезультатВыполнения		= Перечисления.РезультатыВыполнения.Выполнено;
			БизнесПроцессОбъект.ОстановленАвтоматически	= Истина;
			БизнесПроцессОбъект.Записать();
		КонецЦикла;



Код проходит, ошибок нет, но с бизнес-процессаим ничего не происходит вообще.

А интерактивно остановиться получается, там лишь такой код на кнопке:

БизнесПроцессыИЗадачиКлиент.ОстановитьБизнесПроцессИзФормыОбъекта(ЭтотОбъект);

Процедура ОстановитьБизнесПроцессИзФормыОбъекта(Форма) Экспорт
	Форма.Объект.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияБизнесПроцессов.Остановлен");
	ОчиститьСообщения();
	Форма.Записать();
	ПоказатьОповещениеПользователя(
		НСтр("ru = 'Бизнес-процесс остановлен'"),
		ПолучитьНавигационнуюСсылку(Форма.Объект.Ссылка),
		Строка(Форма.Объект.Ссылка),
		БиблиотекаКартинок.Информация32);
	ОповеститьОбИзменении(Форма.Объект.Ссылка);
	
КонецПроцедуры


Подскажите пожалуйста в чем может быть дело?
1 Волшебник
 
14.11.23
20:04
В Вашем коде нет БП.Записать()
2 Волшебник
 
14.11.23
20:05
и проверьте, что транзакция фиксируется
3 Suvar19
 
14.11.23
20:16
(1) есть
(2) нет транзакции
4 Suvar19
 
14.11.23
20:16
кстати так тоже не работает: БизнесПроцессыИЗадачиВызовСервера.ОстановитьБизнесПроцесс(ПараметрКоманды)
5 Donkey_hot
 
14.11.23
20:39
(0) Странненько, но я бы покурил модуль менеджера БП, скорее всего там есть что-то готовое для вашей задачи.
6 Волшебник
 
14.11.23
20:44
(3) Вы заблуждаетесь. Чудес не бывает.
7 Волшебник
 
14.11.23
20:46
(4) Перестаньте надеяться на оболочки типа БСП, а вызывайте прямые методы объектов платформы, которые делают дело.
8 Suvar19
 
14.11.23
21:53
(6) Явно тут не чудеса, но какая то дичь в платформе может.
(7) прямые методы тоже не работаю.
9 Valdis2007
 
15.11.23
07:54
(8) ОповеститьОбИзменении(Форма.Объект.Ссылка);

смотри кто ловит это оповещение
10 Suvar19
 
15.11.23
09:29
(9) Это процедура оповещает форму списка чтобы там отобразились изменения
11 RomanYS
 
15.11.23
09:36
(8) что значит "БП не останавливается"?
Флажок "Завершен" установился?
Новые задачи создаются?
12 Suvar19
 
15.11.23
11:52
(11) это значит что ничего не происходит, код выполняется ничего не происходит
13 RomanYS
 
15.11.23
11:55
(12) В ЖР что пишется?
14 Suvar19
 
15.11.23
12:54
Разобрался, всем спасибо!
15 RomanYS
 
15.11.23
13:00
Поделился бы, что ты там записывал.
(6) как не грустно это слышать от Волшебника, но чудес не бывает
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший