Всем доброго времени суток, в ТЗ одно из значений колонок типа булево, как можно сделать так чтобы если пользователь в новой строке выставлял этот флажок то предыдущие становились неактивны?
Грубый пример: пользователь ввел несколько строк, для обозначения главной строки требуется поставить флажок (главное значение) в колонке типа Булево, естественно главная строка может быть только одна.
---
Образец обработки в приложении

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Для Сч = 1 По 10 Цикл
    Таблица.Добавить();
    КонецЦикла;

    Таблица[0].Флажок = Истина;

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

    &НаКлиенте
    Процедура ТаблицаФлажокПриИзменении(Элемент)

    ТекущиеДанные = Элементы.Таблица.ТекущиеДанные;
    Если ТекущиеДанные = Неопределено Тогда
    Возврат;
    КонецЕсли;

    Флажок = ТекущиеДанные.Флажок;

    Для Каждого Строка Из Таблица Цикл
    Строка.Флажок = Ложь;
    КонецЦикла;

    ТекущиеДанные.Флажок = Флажок;

    КонецПроцедуры
```
---
```1c
    Если Элементы.ТабличнаяЧасть1.ТекущиеДанные <> Неопределено Тогда
    Для Каждого стр из Объект.ТабличнаяЧасть1 Цикл
    стр.Пометка = Ложь;
    КонецЦикла;
    Объект.ТабличнаяЧасть1[Элементы.ТабличнаяЧасть1.ТекущиеДанные.НомерСтроки-1].Пометка = Истина;
    КонецЕсли;
```
---
все проще.
В событии при изменении в нужной ячейки проверять, если установили в Истина, тогда:
ТЗ.ЗаполнитьЗначения(Ложь, ИмяКолонки);
И установить для данной ячейки в Истина.
---
А как можно проверить?
---
Попробовал написать:

```1c
    &НаКлиенте
    Процедура РесурсыИзделияПризнакОсновногоРесурсаПриИзменении(Элемент)

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

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

ТаблицаРесурсыИзделия - ТЗ
ПризнакОсновногоРесурса - Колонка ТЗ тип: Булево
---
а, нет. Для УФ не получится нормально так сделать. ЗаполнитьЗначения доступен только для ТаблицаЗначений. А на форме ДанныеФормыКоллекция. Там нет такого метода.
---
Жаль.
---
щас обработку напишу
---
Образец обработки в приложении

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Для Сч = 1 По 10 Цикл
    Таблица.Добавить();
    КонецЦикла;

    Таблица[0].Флажок = Истина;

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

    &НаКлиенте
    Процедура ТаблицаФлажокПриИзменении(Элемент)

    ТекущиеДанные = Элементы.Таблица.ТекущиеДанные;
    Если ТекущиеДанные = Неопределено Тогда
    Возврат;
    КонецЕсли;

    Флажок = ТекущиеДанные.Флажок;

    Для Каждого Строка Из Таблица Цикл
    Строка.Флажок = Ложь;
    КонецЦикла;

    ТекущиеДанные.Флажок = Флажок;

    КонецПроцедуры
```
---
Спасибо)
---
```1c
    Если Элементы.ТабличнаяЧасть1.ТекущиеДанные <> Неопределено Тогда
    Для Каждого стр из Объект.ТабличнаяЧасть1 Цикл
    стр.Пометка = Ложь;
    КонецЦикла;
    Объект.ТабличнаяЧасть1[Элементы.ТабличнаяЧасть1.ТекущиеДанные.НомерСтроки-1].Пометка = Истина;
    КонецЕсли;
```
---
(14)
Спасибо большое.
---
Создать реквизит формы (на форму его можно не выносить ) который будет содержать идентификатор текущей основной строки, в событии приИзменении обрабатываемой строки если флажок установлен в Истина , найти строку по идентификатору и сбросить флаг , в реквизите сохранить идентификатор тек. строки
---
Примерно понял, спасибо за помощь и сейчас попробую)
---
Не получается сделать, можете пожалуйста поподробнее?
---
форма УФ ?
---
Извините я еще новичок в 1С, что за УФ?
---
Если Управляемые формы то да.
---
открываешь нужную форму в конфигураторе , с правой стороны есть окно где перечислены все реквизиты ( внизу закладка реквизиты) там есть кнопка добавить реквизит - таким образом ты добавляешь реквизит формы тип строка
---
up
---
если управляемая форма можно сделать в условие оформление