Здравствуйте

Подскажите как реализовать доступность полей в зависимости от количества субконто в счете.

Пробовал через оформление. что то не получилось.

Делал через код
 сч=ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Кт.ВидыСубконто.Количество();
 Для Каждого стр из Элементы.ГруппаСубконто.ПодчиненныеЭлементы Цикл
  стр.Доступность = (сч>0);
  сч = сч-1;
 КонецЦикла;
в этом случае блокируются субконто во всей таблице.
как блокировать для текущей строки и можно ли это реализовать в коде?

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

Подскажите куда копать.
---
```1c
    &НаКлиенте
    Процедура ТаблицаКатегорияПриИзменении(Элемент)

    ТекущаяСтрока = Элементы.Таблица.ТекущиеДанные;
    Если ЗначениеЗаполнено(ТекущаяСтрока.Категория) И Не ЗначениеЗаполнено(ТекущаяСтрока.Тип) Тогда
    ТекущаяСтрока.Тип = ПолучитьТипЗапросаНаСервере(ТекущаяСтрока.Категория);
    КонецЕсли;

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

Вот примерно код.
Тут надо в зависимости от того сколько субконто, ставить им только просмотр = истина.
---
спасибо за помощь. уже реализовал через активацию строки

```1c
    &НаКлиенте
    Процедура ТабличнаяЧасть1ПриАктивизацииСтроки(Элемент)

    сч=ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Кт.ВидыСубконто.Количество();
    Для Каждого стр из Элементы.ГруппаСубконто.ПодчиненныеЭлементы Цикл
    стр.Доступность = (сч>0);
    сч = сч-1;
    КонецЦикла;

    КонецПроцедуры
```
---
Ну судя по коду, у вас цикл для всей таблицы, "в этом случае блокируются субконто во всей таблице" так и должно быть.
Вам надо если у счета 2 субконто допустим, делать поле недоступным, если 4 субконто то делать доступным?
---
верно. есть 3 поля для субконто и нужно в зависимости от счета менять доступность поля. если у счета 2 субконто то сделать доступным только Реквизит субконто1 и субконто2 а субконто3 запретить(доступность отключить).
---
и вот не знаю как менять доступность конкретно для одной строки а не для всей таблицы
---
Не знаю честно говоря, можно в событии при изменении Счета, получить его субконто, если больше 2 то включить только просмотр для субконто.
Но опять же для конкретной строки, можно наверное ТекущаяСтрока использовать, но это кажется на сервере, а на сервере ТолькоПросмотр нельзя трогать кажется.
---
```1c
    &НаКлиенте
    Процедура ТаблицаКатегорияПриИзменении(Элемент)

    ТекущаяСтрока = Элементы.Таблица.ТекущиеДанные;
    Если ЗначениеЗаполнено(ТекущаяСтрока.Категория) И Не ЗначениеЗаполнено(ТекущаяСтрока.Тип) Тогда
    ТекущаяСтрока.Тип = ПолучитьТипЗапросаНаСервере(ТекущаяСтрока.Категория);
    КонецЕсли;

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

Вот примерно код.
Тут надо в зависимости от того сколько субконто, ставить им только просмотр = истина.
---
спасибо за помощь. уже реализовал через активацию строки

```1c
    &НаКлиенте
    Процедура ТабличнаяЧасть1ПриАктивизацииСтроки(Элемент)

    сч=ЭтаФорма.ТекущийЭлемент.ТекущиеДанные.Кт.ВидыСубконто.Количество();
    Для Каждого стр из Элементы.ГруппаСубконто.ПодчиненныеЭлементы Цикл
    стр.Доступность = (сч>0);
    сч = сч-1;
    КонецЦикла;

    КонецПроцедуры
```
---
Да не за что, Вы сами все сделали))