Всем доброго времени суток, есть у меня следующий код вызываемый процедурой ПриИзменении:
ТекущиеДанные = Элементы.ТаблицаРесурсыИзделия.ТекущиеДанные;
 Если ТекущиеДанные = Неопределено Тогда
  Возврат;
 КонецЕсли;

 ПризнакОсновногоРесурса = ТекущиеДанные.ПризнакОсновногоРесурса;

 Для Каждого СтрокаТЧ Из ТаблицаРесурсыИзделия Цикл
  СтрокаТЧ.ПризнакОсновногоРесурса = Ложь;
 КонецЦикла;

Код не дает пользователю выставлять два значения типа: Булево (флажок) в колонке табличной части. Но столкнулся с тем что в ТЗ у меня фактически отображается Регистр сведений, который приповторном открытии справочника отображает и убранные флажки и новый.
Вопрос: как можно это исправить? (чтобы при изменении данные изменялись и в регистре)
P.S. В 1С новенький, если возможно то желательно кодом.
---
Если у тебя уже записаны две записи, они в одну не превратятся. Очисти отбор, потом запиши новый:

```1c
    РС = РегистрыСведений.Ресурсы.СоздатьНаборЗаписей();
    РС.Отбор.Изделие.Установить(СтрокаТЧ.Изделие);
    РС.Отбор.РесурсыИзделия.Установить(СтрокаТЧ.РесурсыИзделия);
    РС.Прочитать();
    РС.Очистить();

    Для Каждого Строка Из ТекущиеДанные Цикл
    СтрокаРС = РС.Добавить();
    СтрокаРС.Изделие = Строка.Изделие;
    СтрокаРС.РесурсыИзделия = Строка.РесурсыИзделия
    Для всех - ЕдиницыИзмерения,СпособыХранения,СрокСлужбы,СрокХранения,УстановленныйРесурс,ПризнакОсновногоРесурса,Примечание
    СтрокаРС.ПризнакОсновногоРесурса = Ложь;
    КонецЦикла;
    РС.Записать();
```
---
У ТЧ должен быть тип РегистрНакопления(или другой)НаборЗаписей.ИмяРегистра
---
Немного не понял, у меня таблица значений а не табличная часть.
 Вы предлагаете через проверку сделать по набору записей?
---
При записи документа изменения сами запишутся
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
ПризнакОсновногоРесурса - в РС это ресурс или измерение?
РС непериодический? не подчинен регистратору?
---
ПризнакОсновногоРесурса это ресурс, РС непериодический, регистраторов нет.
---
Какие реквизиты в измерениях?
---
Изделие,РесурсыИзделия,ЕдиницыИзмерения,СпособыХранения,СрокСлужбы,СрокХранения,УстановленныйРесурс,ПризнакОсновногоРесурса,Примечание
---
Изделие,РесурсыИзделия - это измерения
---
Было по отбору в РС: https://forum.infostart.ru/forum9/topic53989/
посмотрите. Должно подойти.

```1c
    Для Каждого СтрокаТЧ Из ТаблицаРесурсыИзделия Цикл

    РС = РегистрыСведений.ВашРС.СоздатьНаборЗаписей();
    РС.Отбор.Изделие.Установить(СтрокаТЧ.Изделие);
    РС.Отбор.РесурсыИзделия.Установить(СтрокаТЧ.РесурсыИзделия);
    РС.Прочитать();

    Для Каждого Строка Из РС Цикл
    СтрокаТЧ.ПризнакОсновногоРесурса = Ложь;
    КонецЦикла;
    РС.Записать();
    КонецЦикла;
```
---
Не дает обращаться к регистру:

{Справочник.ЭФО.Форма.ФормаЭлемента.Форма(590,7)}: Переменная не определена (РегистрыСведений)
 РС = <<?>>РегистрыСведений.Ресурсы.СоздатьНаборЗаписей(); (Проверка: Тонкий клиент)
---
Наверно его нужно выполнять на сервере, а вы запускаете на клиенте.
Посмотрите, что у вас написано над процедурой? &НаСервере
---
Все что касается изменения данных делается на сервере:
&НаСервере или &НаСервереБезКонтекста
см (16) примерно так
---
Это нужно делать на сервере.
---
Для Каждого СтрокаТЧ Из ТаблицаРесурсыИзделия Цикл а здесь должно быть значение ТЗ?
---
Значения у вас в СтрокаТЧ
СтрокаТЧ.Изделие и т.д.
---
```1c
    &На клиенте
    Процедура ПриИзменении()
    ТекущиеДанные = Элементы.ТаблицаРесурсыИзделия.ТекущиеДанные;
    Если ТекущиеДанные = Неопределено Тогда
    Возврат;
    КонецЕсли;

    ВыполнитьСервер(ТекущиеДанные);

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

    &НаСервереБезКонтекста
    Процедура ВыполнитьСервер(ТекущиеДанные);
    Для Каждого СтрокаТЧ Из ТекущиеДанные Цикл

    РС = РегистрыСведений.ВашРС.СоздатьНаборЗаписей();
    РС.Отбор.Изделие.Установить(СтрокаТЧ.Изделие);
    РС.Отбор.РесурсыИзделия.Установить(СтрокаТЧ.РесурсыИзделия);
    РС.Прочитать();

    Для Каждого Строка Из РС Цикл
    СтрокаТЧ.ПризнакОсновногоРесурса = Ложь;
    КонецЦикла;
    РС.Записать();
    КонецЦикла;
    КонецПроцедуры
```
---
Не работает, в ТЗ так же все отрабатывает, но в регистре запоминает все значения.
---
Может быть я не правильно понял, РС это ведь просто переменная? Или нужно было указывать РегистрСведений.Ресурсы?
---
РС = РегистрыСведений.Ресурсы.СоздатьНаборЗаписей();

РС - это переменная для набора записей с которым Вы работаете
---
Очисть отбор перед добавлением:
РС.Прочитать();
РС.Очистить();
РС.Добавить();
---
Это перед записью?
---
Не нужно очищать.
Немного ошиблась. Попробуй

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

```1c
    РС = РегистрыСведений.Ресурсы.СоздатьНаборЗаписей();
    РС.Отбор.Изделие.Установить(СтрокаТЧ.Изделие);
    РС.Отбор.РесурсыИзделия.Установить(СтрокаТЧ.РесурсыИзделия);
    РС.Прочитать();
    РС.Очистить();

    Для Каждого Строка Из ТекущиеДанные Цикл
    СтрокаРС = РС.Добавить();
    СтрокаРС.Изделие = Строка.Изделие;
    СтрокаРС.РесурсыИзделия = Строка.РесурсыИзделия
    Для всех - ЕдиницыИзмерения,СпособыХранения,СрокСлужбы,СрокХранения,УстановленныйРесурс,ПризнакОсновногоРесурса,Примечание
    СтрокаРС.ПризнакОсновногоРесурса = Ложь;
    КонецЦикла;
    РС.Записать();
```
---
Для всех - ЕдиницыИзмерения,СпособыХранения,СрокСлужбы,СрокХранения,УстановленныйРесурс,ПризнакОсновногоРесурса,Примечание

Что это?
---
Для каждого реквизита заполнение:
СтрокаРС. ... = Строка. ...
---
Сообщение было скрыто модератором.
---
Извините, нашел в чем проблема (моя ошибка). Но тем не менее теперь другая ошибка.
---
Сообщение было скрыто модератором.