Значение не является значением объектного типа (Ссылка)

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

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

Сделал в расширении доработку и задачи закрылись
Процедура ОтметитьОкончаниеВыполненияПроектнойЗадачи
	#Вставка
	Если НЕ  ДанныеПроектнойЗадачи.Родитель.ПометкаУдаления Тогда
		#КонецВставки
		Если ЗначениеЗаполнено(ДанныеПроектнойЗадачи.Родитель) Тогда
			РассчитатьПланПроекта(ДанныеПроектнойЗадачи.Родитель);
		КонецЕсли;
		
		Если ДанныеПроектнойЗадачи.АвтоматическиОтправлятьПроектныеЗадачиНаИсполнение Тогда
			ПродолжитьИсполнениеПроекта(ДанныеПроектнойЗадачи);
		КонецЕсли;
		#Вставка	
	КонецЕсли;
	#КонецВставки
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
19. tolyan_ekb 104 28.12.21 10:10 Сейчас в теме
(1)Поскольку задачи были по проектным задачам помеченным на удаление, то при выполнении появлялась ошибка связанная с пересчетом сроков проекта (хотя зачем это делать для помеченных на удаление проектных задач непонятно).

Сделал в расширении доработку и задачи закрылись
Процедура ОтметитьОкончаниеВыполненияПроектнойЗадачи
	#Вставка
	Если НЕ  ДанныеПроектнойЗадачи.Родитель.ПометкаУдаления Тогда
		#КонецВставки
		Если ЗначениеЗаполнено(ДанныеПроектнойЗадачи.Родитель) Тогда
			РассчитатьПланПроекта(ДанныеПроектнойЗадачи.Родитель);
		КонецЕсли;
		
		Если ДанныеПроектнойЗадачи.АвтоматическиОтправлятьПроектныеЗадачиНаИсполнение Тогда
			ПродолжитьИсполнениеПроекта(ДанныеПроектнойЗадачи);
		КонецЕсли;
		#Вставка	
	КонецЕсли;
	#КонецВставки
Показать
2. starjevschik 24.11.21 09:40 Сейчас в теме
Это ошибка в конфигурации. Без программирования не исправить.
tolyan_ekb; +1 Ответить
3. tolyan_ekb 104 24.11.21 09:47 Сейчас в теме
(2) Буду благодарен если поделитесь решением, пока сам не дошел что поправить.
4. Kilka_v_Kepke 24.11.21 11:22 Сейчас в теме
(3) зайти в этот модуль ОбщийМодуль.РаботаСПроектами, поставить точку останова на строке 618 и включить отладку и думать
5. jefjef 10 24.11.21 11:47 Сейчас в теме
У вас сложился такой паззл в данных, что в переменной ДанныеПроектнойЗадачи нет Ссылки, а скорее всего туда попал null. Видимо где-то не состыковались таблицы в результате запроса, это реально надо на месте в отладчике ковырять, чтобы отловить причину.

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

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

сделать

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

В таком виде модуль может отработать до конца без ошибок, только что-то не создаст или создаст пустое. Но по хорошему надо искать причину.
tolyan_ekb; Swamt; +2 Ответить
6. tolyan_ekb 104 24.11.21 14:47 Сейчас в теме
(5) спасибо за пример, пробую дальше разобраться в причинах
7. Release 24.11.21 15:00 Сейчас в теме
(6) Случаем задачи не помечали на удаление? Там вроде только такая проверка с исключением данных.
8. tolyan_ekb 104 24.11.21 15:11 Сейчас в теме
(7) да, обнаружил, что проектные задачи помечены на удаление
9. Release 24.11.21 15:12 Сейчас в теме
(8) Значит снимите пометку удаления, а потом завершайте задачи.
10. tolyan_ekb 104 22.12.21 08:49 Сейчас в теме
(9)При попытке снять пометку удаления выдается сообщение, что объект мной заблокирован)).
11. Release 22.12.21 10:37 Сейчас в теме
(10) А как вы пытались снять пометку?
12. tolyan_ekb 104 22.12.21 10:58 Сейчас в теме
(11) По-разному, сначала интерактивно на самой задаче, потом сначала на подчиненных, потом программно через редактирование реквизитов. Результат одинаковый.
13. Release 22.12.21 11:29 Сейчас в теме
(12) Программно - это обработкой? А с "ОбменДанными.Загрузка = Истина" пробовали?
15. tolyan_ekb 104 22.12.21 11:38 Сейчас в теме
(13)да, в обработке по редактированию реквизитов ставил и такой флаг, не помогает.
16. Release 22.12.21 12:17 Сейчас в теме
(15) Ну, тогда идей без доступа к базе у меня почти нет.
Разве, что у вас действительно открыт данный объект (элемент справочника) или завис старый сеанс/соединение с блокировкой на этот объект на сервере 1С, если база не файловая. Как вариант посмотреть открытые сеансы/соединения на сервере 1С, перегрузить службу/сервер.

Может кто-то другой ещё что подскажет.
17. tolyan_ekb 104 22.12.21 12:49 Сейчас в теме
(16)Нет сеансов, я в копии пробую. Где-то опять зацикливается алгоритм.
14. Release 22.12.21 11:32 Сейчас в теме
(12) Если я правильно помню, там нет встроенной обработки группового изменения реквизитов, но можно ещё воспользоваться "ИР" - http://devtool1c.ucoz.ru/
18. Free_Danial 53 24.12.21 12:47 Сейчас в теме
Можно попробовать включить сбор тех журнала на события 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 для транзакции.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот