Добрый день!

Подскажите пожалуйста с вопросом написания произвольного алгоритма:
Есть проблема с изменением реквизита
Надо Отобратьконкретные документы (есть определенные условия отбора) ПоступлениеТоваровУслуг, и в договоре контрагента этого поступления, установить конкретное значение "Вид расчетов"
С отбором проблем нет, а вот написать алгоритм
как установить конкретное значение реквизита ВидВзаиморасчетов (СправочникСсылка.ВидыВзаиморасчетов) являющийся в свою очередь реквизитом ДоговорКонтрагента в документе ПоступлениеТоваровУслуг?

алгоритм
// Доступные переменные:
// Объект - обрабатываемый объект
КодВида = "00-000001";
ВидВзаиморасчетов = Справочники.ВидыВзаиморасчетов.НайтиПоКоду(КодВида);
Объект.ДоговорКонтрагента.ВидВзаиморасчетов = ВидВзаиморасчетов .Записать();

 после выполнения обработки выводиться ошибка:
Поле объекта недоступно для записи (ВидВзаиморасчетов)
---
```1c
    КодВида = "00-000001";
    ВидВзаиморасчетов = СправочникСсылка.ВидыВзаиморасчетов.НайтиПоКоду(КодВида);
    ОбъектДоговор = Объект.ДоговорКонтрагента.ПолучитьОбъект();
    ОбъектДоговор.ВидВзаиморасчетов = ВидВзаиморасчетов;
    ОбъектДоговор.Записать();
```
---
Вот вся цепочка
---
Надо объект получить у вида взаиморасчетов
---
вы подбираете документ поступление, а реквизит пытаетесь менять у договора.
---
да, так нужно, поэтому и нужен произвольный алгоритм
не могу взять сразу справочник договора, так как нужен отбор конкретных поступлений (там где используется конкретный счет списания) , и только в них через договор указанный в поступлении установить реквизит договора.
---
Либо как в ответе №2 надо получать объект договора, либо подобрать договоры, и уже их менять
---
```1c
    КодВида = "00-000001";
    ВидВзаиморасчетов = СправочникСсылка.ВидыВзаиморасчетов.НайтиПоКоду(КодВида);
    ОбъектДоговор = Объект.ДоговорКонтрагента.ПолучитьОбъект();
    ОбъектДоговор.ВидВзаиморасчетов = ВидВзаиморасчетов;
    ОбъектДоговор.Записать();
```
---
+ надо еще ввести объект в режим загрузка, чтобы не было проверки на изменяемые реквизиты.
---
в таком варианте

выдает сообщение
{(4,21)}: Переменная не определена (СправочникСсылка)
---
надо просто Справочники, СправочникСсылка это в запросе указывают.
---
да я в принципе сначала "Справочники" ставила, потом решила СправочникСсылку

Но увы и здесь выдает сообщение
Элемент не выбран!
---
а с таким кодом точно есть элемент?
---
есть такой код
---
а по наименованию не ищет?
---
заменила поиск
КодВида = "Проба";
ВидВзаиморасчетов = Справочники.ВидыВзаиморасчетов.НайтиПоНаименованию(КодВида);
ОбъектДоговор = Объект.ДоговорКонтрагента.ПолучитьОбъект();
ОбъектДоговор.ВидВзаиморасчетов = ВидВзаиморасчетов;
ОбъектДоговор.Записать();

тоже сообщение
Элемент не выбран!
---
не знаю, надо смотреть на самой базе, так подсказать не могу, должен возвращать ссылку.
---
там все типовое, можно на любой базе проверять
скорее всего что-то ещё нужно
---
счас попробую на своей базе.
---
вот такой код работает:
---
Этот вариант не подходит, вы выбрали Для изменения справочник "Договора"
и изменили все договора, а мне надо изменять только в тех договорах которые участвуют в документах поступление при условии что в табличной части Документа выбран счет затрат 20.01 с определенной статьёй затрат"- это условие отбора
С отбором таких доков проблем нет, задача - так сказать "забраться внутрь" реквизита документа -"ДоговорКонтрагента" и установить в нём конкретное значение "ВидыВзаиморасчетов "

поэтому надо идти через обработку документа "Поступление (акт, накладная) а не через справочник "Договора"
---
ёлки палки, я должен был все сделать за Вас? Это просто пример, что все находит!
---
находит
Ох не поняла, попробую применить ваш пример
---
Вот вся цепочка
---
Да спасибо, я поняла что ссылку надо добавить
только с результатом не поспоришь

-Элемент не выбран!

это работает только с одним документом
---
неправда, я специально проверил на 2-х документах, все нормально отрабатывается.
---
я поставила в коде алгоритма
все равно ругается на "Элемент не выбран"
может все дело в отборе?
как вы доки отбирали?
---
давайте скрины настроек и ошибки
---
(19) Обнаружила, что и старый алгоритм работает
только если в отборе 1 документ, а если документов несколько то выдается ошибка
Элемент не выбран!
---
Внизу поставили, что объект записывается в коде алгоритма?
---
Скорее всего дело в отборе
у меня одним из условий отбора стоит дата больше или равно 01.01.2017
думаю тут надо конкретно указывать период с по

попробовала отобрать по ссылке в списке , как вы и говорили всё работает
---
Спасибо большое

Косяк был в отборе по дате
нужно было указать интервал

и все заработало
---
Элемент не выбран!
Скорее всего это относится не к представленному коду. Есть еще код?
---
может проще будет внешнюю обработку сделать?