Документооборот 2.1.29.17.
Зачем-то создали 3 одинаковых процесса по одному шаблону. В шаблоне один исполнитель и одни проверяющий. Проверяющий не может закрыть задачу в любом из процессов.
При нажатии на кнопку завершить, в задаче проверяющего появляется такое сообщение.
Значение не является значением объектного типа (Ссылка)
{ОбщийМодуль.ВыполнениеЗадачКлиент.Модуль(29)}: Возврат Форма.Записать(ПараметрыЗаписи);
{БизнесПроцесс.Исполнение.Форма.ФормаЗадачиПроверяющего.Форма(808)}: Если Не ВыполнениеЗадачКлиент.ВыполнитьЗадачуИзФормы(ЭтаФорма, ПараметрыЗаписи) Тогда
{БизнесПроцесс.Исполнение.Форма.ФормаЗадачиПроверяющего.Форма(758)}: ВыполнитьОбработкуОповещения(ОписаниеОповещения, РезультатЗавершения);
{ОбщийМодуль.РаботаСБизнесПроцессамиКлиент.Модуль(2920)}: ВыполнитьОбработкуОповещения(ОписаниеОповещения, КодВозвратаДиалога.Да);
{БизнесПроцесс.Исполнение.Форма.ФормаЗадачиПроверяющего.Форма(721)}: РаботаСБизнесПроцессамиКлиент.ПроверитьНаличиеЗанятыхФайлов(ЭтаФорма, ОписаниеОповещения, УникальныйИдентификатор);
{ОбщийМодуль.РаботаСБизнесПроцессамиКлиент.Модуль(2182)}: ВыполнитьОбработкуОповещения(ОписаниеОповещения, ИсполнительЗадачи);
{БизнесПроцесс.Исполнение.Форма.ФормаЗадачиПроверяющего.Форма(686)}: РаботаСБизнесПроцессамиКлиент.ВыбратьИсполнителяЗадачи(
{БизнесПроцесс.Исполнение.Форма.ФормаЗадачиПроверяющего.Форма(660)}: ИсполненоПослеПодзадач(Команда);
по причине:
Ошибка при выполнении обработчика - 'ЗавершениеПриЗавершении'
по причине:
Значение не является значением объектного типа (Ссылка)
{ОбщийМодуль.РаботаСПроектами.Модуль(618)}: МассивИзмененныхЗадач.Добавить(ДанныеПроектнойЗадачи.Ссылка);
{ОбщийМодуль.РаботаСПроектами.Модуль(562)}: РассчитатьПланПроектаПоЗадаче(ПроектнаяЗадача, ПересчитатьПланПоЗадаче, МассивИзмененныхЗадач, ДанныеПроекта);
{ОбщийМодуль.РаботаСПроектами.Модуль(1686)}: РассчитатьПланПроекта(ДанныеПроектнойЗадачи.Родитель);
{БизнесПроцесс.Исполнение.МодульОбъекта(1874)}: РаботаСПроектами.ОтметитьОкончаниеВыполненияПроектнойЗадачи(ЭтотОбъект);
(1)Поскольку задачи были по проектным задачам помеченным на удаление, то при выполнении появлялась ошибка связанная с пересчетом сроков проекта (хотя зачем это делать для помеченных на удаление проектных задач непонятно).
Сделал в расширении доработку и задачи закрылись
Процедура ОтметитьОкончаниеВыполненияПроектнойЗадачи
#Вставка
Если НЕ ДанныеПроектнойЗадачи.Родитель.ПометкаУдаления Тогда
#КонецВставки
Если ЗначениеЗаполнено(ДанныеПроектнойЗадачи.Родитель) Тогда
РассчитатьПланПроекта(ДанныеПроектнойЗадачи.Родитель);
КонецЕсли;
Если ДанныеПроектнойЗадачи.АвтоматическиОтправлятьПроектныеЗадачиНаИсполнение Тогда
ПродолжитьИсполнениеПроекта(ДанныеПроектнойЗадачи);
КонецЕсли;
#Вставка
КонецЕсли;
#КонецВставки
(1)Поскольку задачи были по проектным задачам помеченным на удаление, то при выполнении появлялась ошибка связанная с пересчетом сроков проекта (хотя зачем это делать для помеченных на удаление проектных задач непонятно).
Сделал в расширении доработку и задачи закрылись
Процедура ОтметитьОкончаниеВыполненияПроектнойЗадачи
#Вставка
Если НЕ ДанныеПроектнойЗадачи.Родитель.ПометкаУдаления Тогда
#КонецВставки
Если ЗначениеЗаполнено(ДанныеПроектнойЗадачи.Родитель) Тогда
РассчитатьПланПроекта(ДанныеПроектнойЗадачи.Родитель);
КонецЕсли;
Если ДанныеПроектнойЗадачи.АвтоматическиОтправлятьПроектныеЗадачиНаИсполнение Тогда
ПродолжитьИсполнениеПроекта(ДанныеПроектнойЗадачи);
КонецЕсли;
#Вставка
КонецЕсли;
#КонецВставки
У вас сложился такой паззл в данных, что в переменной ДанныеПроектнойЗадачи нет Ссылки, а скорее всего туда попал null. Видимо где-то не состыковались таблицы в результате запроса, это реально надо на месте в отладчике ковырять, чтобы отловить причину.
Как вариант можно не разбираясь написать затычку, вместо
(11) По-разному, сначала интерактивно на самой задаче, потом сначала на подчиненных, потом программно через редактирование реквизитов. Результат одинаковый.
(15) Ну, тогда идей без доступа к базе у меня почти нет.
Разве, что у вас действительно открыт данный объект (элемент справочника) или завис старый сеанс/соединение с блокировкой на этот объект на сервере 1С, если база не файловая. Как вариант посмотреть открытые сеансы/соединения на сервере 1С, перегрузить службу/сервер.
(12) Если я правильно помню, там нет встроенной обработки группового изменения реквизитов, но можно ещё воспользоваться "ИР" - http://devtool1c.ucoz.ru/