Как можно изменить выделенные строки динамического списка? Выделенные строки получил, но как изменить их не знаю. Нужно, чтобы при нажатии на кнопку "Зачет оплаты" изменялось значение реквизита СостояниеОплаты с Ложь на Истина

```1c
    &НаКлиенте
    Процедура КомандаЗачетОплаты(Команда)

    СтрокиСписка = Элементы.Список.ВыделенныеСтроки;

    Для Каждого ВыделеннаяСтрока Из СтрокиСписка Цикл

    СтрокаСписка = Элементы.Список.ДанныеСтроки(ВыделеннаяСтрока);
    СтрокаСписка.СостояниеОплаты = Истина;
    Сообщить(СтрокаСписка.СостояниеОплаты);

    КонецЦикла;

    КонецПроцедуры
```
---
```1c
    ОбъектНакладная = выделеннаястрока.ссылка.получитьобьект();
    ОбъектНакладная.состояниеоплаты=истина;
    Объектнакладная.записать();
```

Если это реквизит (не типовая конфигурация), то и можно пойти от обратного, записать признак оплаты в накладной, а затем автоматически сформировать документы оплаты по всем накладным (если это вообще предусмотрено в конфигурации).
---
Возможно, состояние оплаты это не реквизит накладной, а показатель, рассчитываемый при обновлении списка запросом из формы. В этом случае ваша кнопка должно формировать документы оплаты со ссылками на выделенные документы и проводить их, после чего обновлять форму.
---
Это реквизит накладной. Сообщить(СтрокаСписка.СостояниеОплаты); Это работает, но вот как изменить его значение
---
СтрокаСписка.СостояниеОплаты - это не реквизит накладной. Это колонка динамического списка. Смотрите в запросе динамического списка - откуда берет ноги этот реквизит. Это раз.

Во-вторых, в нормальной ситуации состояние оплаты изменяется вводом документов поступления оплат, а не изменением "галочки в списке".
---
Я согласен, что в нормальной ситуации нужно вводить через документы оплат, но заказчик скажем так не захотел. Он не ведет эти оплаты в 1с, не знаю по какой причине. Просто хочет отслеживать, что оплачено, а что нет
---
Беги оттуда.
---
а процент оплаты еще не просит указывать в накладной? И отчет по дебиторке исходя из суммы накладной * на 1- процент/100?
---
По началу вообще хотел сделать, чтобы на основании документа создавался РКО и зачитывался по нему платеж. Но по его просьбе там даже не указывается сумма самой доставки, а лишь сумма товаров, которые перевозчик перевозит... Сказал, что нужно максимум указывать водителя и был платеж или нет, без каких-либо усложнений. Что там в голове не знаю))
---
```1c
    ОбъектНакладная = выделеннаястрока.ссылка.получитьобьект();
    ОбъектНакладная.состояниеоплаты=истина;
    Объектнакладная.записать();
```

Если это реквизит (не типовая конфигурация), то и можно пойти от обратного, записать признак оплаты в накладной, а затем автоматически сформировать документы оплаты по всем накладным (если это вообще предусмотрено в конфигурации).
---
Поле объекта не обнаружено (Ссылка). Но это поле у списка есть.. и на форме списка отображается
---
в отладчике смотрите, какие реквизиты есть вообще,и это уф, клиент, значит вызов сервера.
Примерно как здесь
http://xn--h1akadalqlb.xn--p1ai/1s-poluchit-videlennuyu-stroku-tablichnoy-chasti/
---
Примерно как здесь вероятно, только у вас список(массив строк).

Модуль формы документа

```1c
    &НаКлиенте
    Процедура ПолучитьВыделеннуюСтроку(Команда)
    ПолучитьВыделеннуюСтрокуНаСервере();
    КонецПроцедуры

    &НаСервере
    Процедура ПолучитьВыделеннуюСтрокуНаСервере()
    ТекСтрока = Элементы.ТабличнаяЧасть.ТекущаяСтрока;
    Объект.ТабличнаяЧасть[ТекСтрока].РеквизитТЧ;
    КонецПроцедуры
```
---
Да, спасибо, получилось. Только по регистрам проводок нет
---
А какие проводки вы ждете?
---
Которые проходят при проведении документа. Их описывал в модуле объекта самой накладной. Если проводить накладную стандартным путем, все проводки формируются
---
Ну так и проводите их после смены своего статуса...
---
Да, виноват. Забыл, что записывать нужно с параметрами. ОбъектНакладная.Записать(РежимЗаписиДокумента.Проведение);
---
Изменение строк динамического списка подробно описано
https://xn----1-bedvffifm4g.xn--p1ai/news/2017-12-26-many-values-in-one-cell/
Вот пример

```1c
    &НаКлиенте
    Процедура ЗаполнитьВВыделенныхСтроках(Команда)

    МассивСтруктур = Новый Массив;

    Для каждого Стр Из Элементы.Список.ВыделенныеСтроки Цикл

    ЗначениеСтроки = Элементы.Список.ДанныеСтроки(Стр);

    Если ТипЗнч(Стр) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
    Продолжить;
    КонецЕсли;

    СтруктураСтроки = Новый Структура;
    СтруктураСтроки.Вставить("Строка",Стр);
    СтруктураСтроки.Вставить("ГотовКОтправке",Не ЗначениеСтроки.ГотовКОтправке);

    МассивСтруктур.Добавить(СтруктураСтроки);

    КонецЦикла;

    Список.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ВыделенныеСтроки",МассивСтруктур);
    Элементы.Список.Обновить();

    КонецПроцедуры

    &НаСервереБезКонтекста
    Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)

    ВыделенныеСтроки = Неопределено;
    Настройки.ДополнительныеСвойства.Свойство("ВыделенныеСтроки",ВыделенныеСтроки);

    Если ВыделенныеСтроки <> Неопределено Тогда

    Для каждого Стр Из ВыделенныеСтроки Цикл
    НужнаяСтрока = Строки.Получить(Стр.Строка);
    НужнаяСтрока.ГотовКОтправке = Стр.ГотовКОтправке;
    КонецЦикла;

    КонецЕсли;

    КонецПроцедуры
```