![]() |
|
Ошибка при сохранении документа | ☑ | ||
---|---|---|---|---|
0
bamond
20.08.13
✎
12:13
|
День добрый. Подскажите пожалуйста почему возникает ошибка:
&НаКлиенте Процедура ОтменитьСогласование(Команда) Если НЕ Объект.СсылкаНаБизнесПроцесс.Пустая() тогда СтопСогласование(); Предупреждение("Согласование остановлено, откройте документ повторно."); Объект.ПроверкаСтартаБП=Ложь; ЭтаФорма.Записать(); ЭтаФорма.Закрыть(); Иначе Сообщить("Бизнес-Процесс не запущен!"); КонецЕсли; КонецПроцедуры &НаСервере Процедура СтопСогласование(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗадачаИсполнителя.Дата, | ЗадачаИсполнителя.Ссылка, | ЗадачаИсполнителя.БизнесПроцесс, | ЗадачаИсполнителя.ТочкаМаршрута, | ЗадачаИсполнителя.БизнесПроцесс.Ссылка |ИЗ | Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя |ГДЕ | ЗадачаИсполнителя.БизнесПроцесс.Ссылка = &Ссылка"; Ссылка = Объект.СсылкаНаБизнесПроцесс; Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить(); Результат = Запрос.Выполнить(); Выборка = Результат.Выгрузить(); Для каждого СтрокаЗапроса из Выборка Цикл ОбъектЗадача = СтрокаЗапроса.Ссылка.ПолучитьОбъект(); ОбъектЗадача.ВыполнитьЗадачу(); //Если необходимо то Завершим и Бизнес Процесс Если НЕ СтрокаЗапроса.Ссылка.БизнесПроцесс.Завершен Тогда БизнесПроцесс = СтрокаЗапроса.Ссылка.БизнесПроцесс.ПолучитьОбъект(); БизнесПроцесс.Завершен = Истина; БизнесПроцесс.Записать(); КонецЕсли; КонецЦикла; КонецПроцедуры Ситуация такая: Запускаем бизнес процесс... после этого жмем ОтменитьСогласование , и после первого нажатия возникает ошибка {Документ.ЗаявкаНаПлатеж.Форма.ФормаДокумента.Форма(621)}: Ошибка при вызове метода контекста (Записать) ЭтаФорма.Записать(); по причине: Данные были изменены или удалены другим пользователем и БИЗНЕС ПРОЦЕСС - ЗАВЕРШАЕТСЯ , а задача ( точка маршрута ) не завершается... висит... И после повторного открытия документа , завершается задача по бизнес процессу и всё отрабатывает без этой ошибки ( текст ошибки выше ). Задача в том что бы по нажатию кнопки отменить согласование. Объект.ПроверкаСтартаБП=Ложь; - устанавливает признак по которому в форме документа отображаются\скрываются различные поля. |
|||
1
bamond
20.08.13
✎
12:16
|
Уточнение: после повторного открытия документа и нажатия на кнопку ОтменитьСогласование отрабатывает уже без ошибки.
|
|||
2
Euguln
20.08.13
✎
12:17
|
Даже сообщение об ошибке как бы намекает, куда копать.
Перечитай форму перед записью, ты же этот объект уже записал. |
|||
3
bamond
20.08.13
✎
12:22
|
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) ОбновитьОтображениеДанных() КонецПроцедуры Так? Не работает =( |
|||
4
Шапокляк
20.08.13
✎
12:31
|
(3) ЗначениеВДанныеФормы()?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |