Здраввствуйте, есть колонка в тч "Задача". В ней пишется наименование задачи.
Я пишу НайтиПоНаименованию. Нахожу задачу.
Вот теперь когда я нашел задачу, необходимо изменить ее реквизит "Срок".
Как это реализвоатЬ?
Всем спасибо.

```1c
    Если ПеренестиПлановыйСрокНаСервере() Тогда
    СрокВыполнения = ";
    ВвестиДату(СрокВыполнения,"Введите новый срок",);
    Если ЗначениеЗаполнено(СрокВыполнения) Тогда
    Задача = НайтиЗадачу(Элементы.ПринятыеРешения.ТекущиеДанные.Задача);
    Задача.СрокВыполненияЗадачи = СрокВыполнения;
    КонецЕсли;
    Иначе
    Сообщить("У Вас нет прав на изменение планового срока");
    КонецЕсли;
```
---
Ошибка:
Значит Задача не найдена.

```1c
    Если Задача <> Задачи.УниверсальнаяЗадача.Пустая() Тогда
    ИзменитьСрокИсполнения(Задача, СрокВыполнения)
    КонецЕсли
```
---
1C это объектно ориентированная система, - задача такой же объект, который надо получить, внести изменения и записать в базу.
---
Можете привести пример? У меня колонка Задача тип ЗадачаСсылка.
пытасюь через получить объект, пишет элемент не выбран.
---
```1c
    Если ПеренестиПлановыйСрокНаСервере() Тогда
    СрокВыполнения = ";
    ВвестиДату(СрокВыполнения,"Введите новый срок",);
    Если ЗначениеЗаполнено(СрокВыполнения) Тогда
    Задача = НайтиЗадачу(Элементы.ПринятыеРешения.ТекущиеДанные.Задача);
    обЗадача = Задача.ПолучитьОбъект();
    обЗадача.СрокВыполненияЗадачи = СрокВыполнения;
    обЗадача.Записать();
    КонецЕсли;
    Иначе
    Сообщить("У Вас нет прав на изменение планового срока");
    КонецЕсли;
```
---
Метод объекта не обнаружен ПолучитьОбъект().
Это все на клиенте может поэтому?
---
Это нужно на сервере делать. Что у вас возвращает функция НайтиЗадачу? Нужно еще проверить: нашлась ли задача, если нет, то объект не получить.
---
найтиЗадачу:
```1c
    Функция НайтиЗадачу(Задача)
    Возврат Задачи.УниверсальнаяЗадача.НайтиПоНаименованию(Задача);
    КонецФункции
```
---
Вам же написали Проверить ! Может метод не нашел задачу

```1c
    Если ЗначениеЗаполнено(обЗадача) тогда
    обЗадача = Задача.ПолучитьОбъект();
```
---
ну как не может найти задачу, задача ведь есть.
---
В консоли запросов просмотрите, какое у задачи наименование.
---
Возвращает ссылку.

```1c
    Если ПеренестиПлановыйСрокНаСервере() Тогда
    СрокВыполнения = ";
    ВвестиДату(СрокВыполнения,"Введите новый срок",);
    Если ЗначениеЗаполнено(СрокВыполнения) Тогда
    Задача = НайтиЗадачу(Элементы.ПринятыеРешения.ТекущиеДанные.Задача);
    ИзменитьСрокИсполнения(Задача, СрокВыполнения)
    КонецЕсли;
    Иначе
    Сообщить("У Вас нет прав на изменение планового срока");
    КонецЕсли;

    &НаСервере
    Процедура ИзменитьСрокИсполнения(Задача, СрокВыполнения)
    обЗадача = Задача.ПолучитьОбъект();
    обЗадача.СрокВыполненияЗадачи = СрокВыполнения;
    обЗадача.Записать();
    КонецПроцедуры
```
---
Сделал на сервере.
Ошибка:
```1c
    {БизнесПроцесс.Протокол.Форма.ФормаБизнесПроцесса.Форма(379)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
    обЗадача = Задача.ПолучитьОбъект();
    по причине:
    Элемент не выбран
    Элемент не выбран
```

код:
```1c
    &НаКлиенте
    Процедура ПеренестиПлановыйСрок(Команда)
    СрокВыполнения = ";
    ВвестиДату(СрокВыполнения,"Введите новый срок",);
    Если ЗначениеЗаполнено(СрокВыполнения) Тогда
    ПеренестиПлановыйСрокНаСервере(СрокВыполнения, Элементы.ПринятыеРешения.ТекущиеДанные.Задача);
    КонецЕсли;
    КонецПроцедуры

    &НаСервере
    Функция ПеренестиПлановыйСрокНаСервере(Срок, ЗадачаИмя)
    Если ПараметрыСеанса.ТекущийПользователь = Объект.Автор
    ИЛИ ПараметрыСеанса.ТекущийПользователь = Объект.ПротоколВёл
    ИЛИ ПараметрыСеанса.ТекущийПользователь = Объект.Утверждающий
    ИЛИ РольДоступна("ПолныеПрава") Тогда
    Задача = Задачи.УниверсальнаяЗадача.НайтиПоНаименованию(ЗадачаИмя);
    обЗадача = Задача.ПолучитьОбъект();
    обЗадача.СрокВыполненияЗадачи = Срок;
    обЗадача.Записать();
    Иначе
    Сообщить("У Вас нет доступа к изменению планового срока");
    КонецЕсли;
    КонецФункции
```
---
Ошибка:
Значит Задача не найдена.

```1c
    Если Задача <> Задачи.УниверсальнаяЗадача.Пустая() Тогда
    ИзменитьСрокИсполнения(Задача, СрокВыполнения)
    КонецЕсли
```
---
Понял, спасибо, сделал по другому, заработало.
---
А можно еще вопрос?

Есть функция, которая и возвращает ссылку. Эта ссылка может быть Задача, а может быть БизнесПроцесс.
Как узнать что это? и В зависимости от этого изменять срок.
Ведь в задаче это сроквыполнениязадачи а в бп просто срок?
---
Эта ссылка может быть Задача, а может быть БизнесПроцесс.
Если ТипЗнч(Значение) = Тип("имятипа..там помощникввода") Тогда
---
Да спасибо, я уже разобрался)
---
Читаем - ИзменитьСрокИсполнения

Изменить срок задачи

, вырезка текста:

Имеется ли возможность изменить срок исполнения задачи, если она уже отправлена на исполнение?
В «1С:Документооборот» возможно изменение срока выполнения задачи в следующих случаях:

Инициатор задачи ошибочно указал срок исполнения при создании задачи;
Первоначальный срок исполнения требует изменения инициатором в сторону увеличения или уменьшения;
Исполнителю задачи по каким-либо причинам необходимо перенести срок исполнения.
Автор процесса может изменить срок задач, созданных в рамках процесса.

Если в настройках программы включена функциональная опция «Вести учет переносов сроков задач», то в интерфейсе появляются специальные команды для изменения сроков. И все изменения сроков протоколируются в регистре сведений «История событий задач».

Если функциональная опция отключена, то срок изменяется в соответствующем поле в форме процесса, при этом история изменения сроков исполнения не сохраняется.

Включить функциональную опцию «Вести учет переносов сроков задач» можно в настройках программы:

Настройка и администрирование → Настройки программы → Процессы и задачи → Вести учет переносов сроков задач

Для процесса «Исполнение» может быть изменен общий срок или срок для задач некоторых исполнителей. Для остальных процессов — общий срок.

Для изменения общего срока необходимо выполнить команду «Изменить срок» или «Изменить общий срок» для процесса «Исполнение» в форме процесса: Все действия → Изменить срок.

В форме изменения срока необходимо указать новый срок и комментарий к изменению срока. После сохранения изменений будет изменен срок у всех невыполненных задач в рамках данного процесса.

Информацию об изменении срока задачи можно увидеть в форме процесса перейдя по ссылке «История событий задач». В форме задачи — перейдя по ссылке «История событий».

В процессе «Исполнение» для изменения срока задачи конкретного исполнителя в форме процесса предусмотрена кнопка «Изменить срок». При этом срок задачи исполнителя не должен превышать общий срок процесса.