Документооборот 2.1.29.17.
Зачем-то создали 3 одинаковых процесса по одному шаблону. В шаблоне один исполнитель и одни проверяющий. Проверяющий не может закрыть задачу в любом из процессов.
При нажатии на кнопку завершить, в задаче проверяющего появляется такое сообщение.
Значение не является значением объектного типа (Ссылка)
{ОбщийМодуль.ВыполнениеЗадачКлиент.Модуль(29)}: Возврат Форма.Записать(ПараметрыЗаписи);
{БизнесПроцесс.Исполнение.Форма.ФормаЗадачиПроверяющего.Форма(808)}: Если Не ВыполнениеЗадачКлиент.ВыполнитьЗадачуИзФормы(ЭтаФорма, ПараметрыЗаписи) Тогда
{БизнесПроцесс.Исполнение.Форма.ФормаЗадачиПроверяющего.Форма(758)}: ВыполнитьОбработкуОповещения(ОписаниеОповещения, РезультатЗавершения);
{ОбщийМодуль.РаботаСБизнесПроцессамиКлиент.Модуль(2920)}: ВыполнитьОбработкуОповещения(ОписаниеОповещения, КодВозвратаДиалога.Да);
{БизнесПроцесс.Исполнение.Форма.ФормаЗадачиПроверяющего.Форма(721)}: РаботаСБизнесПроцессамиКлиент.ПроверитьНаличиеЗанятыхФайлов(ЭтаФорма, ОписаниеОповещения, УникальныйИдентификатор);
{ОбщийМодуль.РаботаСБизнесПроцессамиКлиент.Модуль(2182)}: ВыполнитьОбработкуОповещения(ОписаниеОповещения, ИсполнительЗадачи);
{БизнесПроцесс.Исполнение.Форма.ФормаЗадачиПроверяющего.Форма(686)}: РаботаСБизнесПроцессамиКлиент.ВыбратьИсполнителяЗадачи(
{БизнесПроцесс.Исполнение.Форма.ФормаЗадачиПроверяющего.Форма(660)}: ИсполненоПослеПодзадач(Команда);

по причине:
Ошибка при выполнении обработчика - 'ЗавершениеПриЗавершении'
по причине:
Значение не является значением объектного типа (Ссылка)
{ОбщийМодуль.РаботаСПроектами.Модуль(618)}: МассивИзмененныхЗадач.Добавить(ДанныеПроектнойЗадачи.Ссылка);
{ОбщийМодуль.РаботаСПроектами.Модуль(562)}: РассчитатьПланПроектаПоЗадаче(ПроектнаяЗадача, ПересчитатьПланПоЗадаче, МассивИзмененныхЗадач, ДанныеПроекта);
{ОбщийМодуль.РаботаСПроектами.Модуль(1686)}: РассчитатьПланПроекта(ДанныеПроектнойЗадачи.Родитель);
{БизнесПроцесс.Исполнение.МодульОбъекта(1874)}: РаботаСПроектами.ОтметитьОкончаниеВыполненияПроектнойЗадачи(ЭтотОбъект);
---
Поскольку задачи были по проектным задачам помеченным на удаление, то при выполнении появлялась ошибка связанная с пересчетом сроков проекта (хотя зачем это делать для помеченных на удаление проектных задач непонятно).

Сделал в расширении доработку и задачи закрылись
Процедура ОтметитьОкончаниеВыполненияПроектнойЗадачи

```1c
    #Вставка
    Если НЕ ДанныеПроектнойЗадачи.Родитель.ПометкаУдаления Тогда
    #КонецВставки
    Если ЗначениеЗаполнено(ДанныеПроектнойЗадачи.Родитель) Тогда
    РассчитатьПланПроекта(ДанныеПроектнойЗадачи.Родитель);
    КонецЕсли;

    Если ДанныеПроектнойЗадачи.АвтоматическиОтправлятьПроектныеЗадачиНаИсполнение Тогда
    ПродолжитьИсполнениеПроекта(ДанныеПроектнойЗадачи);
    КонецЕсли;
    #Вставка
    КонецЕсли;
    #КонецВставки
```
---
Поскольку задачи были по проектным задачам помеченным на удаление, то при выполнении появлялась ошибка связанная с пересчетом сроков проекта (хотя зачем это делать для помеченных на удаление проектных задач непонятно).

Сделал в расширении доработку и задачи закрылись
Процедура ОтметитьОкончаниеВыполненияПроектнойЗадачи

```1c
    #Вставка
    Если НЕ ДанныеПроектнойЗадачи.Родитель.ПометкаУдаления Тогда
    #КонецВставки
    Если ЗначениеЗаполнено(ДанныеПроектнойЗадачи.Родитель) Тогда
    РассчитатьПланПроекта(ДанныеПроектнойЗадачи.Родитель);
    КонецЕсли;

    Если ДанныеПроектнойЗадачи.АвтоматическиОтправлятьПроектныеЗадачиНаИсполнение Тогда
    ПродолжитьИсполнениеПроекта(ДанныеПроектнойЗадачи);
    КонецЕсли;
    #Вставка
    КонецЕсли;
    #КонецВставки
```
---
Это ошибка в конфигурации. Без программирования не исправить.
---
Буду благодарен если поделитесь решением, пока сам не дошел что поправить.
---
зайти в этот модуль ОбщийМодуль.РаботаСПроектами, поставить точку останова на строке 618 и включить отладку и думать
---
У вас сложился такой паззл в данных, что в переменной ДанныеПроектнойЗадачи нет Ссылки, а скорее всего туда попал null. Видимо где-то не состыковались таблицы в результате запроса, это реально надо на месте в отладчике ковырять, чтобы отловить причину.

Как вариант можно не разбираясь написать затычку, вместо

МассивИзмененныхЗадач.Добавить(ДанныеПроектнойЗадачи.Ссылка);

сделать

Попытка МассивИзмененныхЗадач.Добавить(ДанныеПроектнойЗадачи.Ссылка) Исключение КонецПопытки;

В таком виде модуль может отработать до конца без ошибок, только что-то не создаст или создаст пустое. Но по хорошему надо искать причину.
---
спасибо за пример, пробую дальше разобраться в причинах
---
Случаем задачи не помечали на удаление? Там вроде только такая проверка с исключением данных.
---
да, обнаружил, что проектные задачи помечены на удаление
---
Значит снимите пометку удаления, а потом завершайте задачи.
---
При попытке снять пометку удаления выдается сообщение, что объект мной заблокирован)).
---
А как вы пытались снять пометку?
---
По-разному, сначала интерактивно на самой задаче, потом сначала на подчиненных, потом программно через редактирование реквизитов. Результат одинаковый.
---
Программно - это обработкой? А с "ОбменДанными.Загрузка = Истина" пробовали?
---
да, в обработке по редактированию реквизитов ставил и такой флаг, не помогает.
---
Ну, тогда идей без доступа к базе у меня почти нет.
Разве, что у вас действительно открыт данный объект (элемент справочника) или завис старый сеанс/соединение с блокировкой на этот объект на сервере 1С, если база не файловая. Как вариант посмотреть открытые сеансы/соединения на сервере 1С, перегрузить службу/сервер.

Может кто-то другой ещё что подскажет.
---
Нет сеансов, я в копии пробую. Где-то опять зацикливается алгоритм.
---
Если я правильно помню, там нет встроенной обработки группового изменения реквизитов, но можно ещё воспользоваться "ИР" - http://devtool1c.ucoz.ru/
---
Можно попробовать включить сбор тех журнала на события SCRIPTCIRCREFS, EXCP, EXCPCNTX
Пример

<?xml version="1.0"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">

 <dump create="true" location="Ваша папка" prntscrn="false" type="3" externaldump="1"/>

    <log location="Ваша папка" history="8">

        <event>
            <ne property="name" value="SCRIPTCIRCREFS"/>
        </event>

  <event>
            <ne property="name" value="EXCP"/>
        </event>

  <event>
            <ne property="name" value="EXCPCNTX"/>
        </event>

  <property name="all"/>

    </log>

</config>

Если нужной инфы не словит то подключить еще SDBL или DBV8DBEng по виду вашей базы субд и половить ROLLBACK для транзакции.