Добрый вечер.
У меня есть справочник Подразделение ( если что это в расширении), так вот, у него в реквизитах есть Основное (тип булево)
1)как сделать так, чтобы можно эту галочку пользователь мог поставить только одному подразделению? Чтобы все они вдруг не стали основными
2) Как сделать так, чтобы при создании документа, реквизит подразделения автоматически заполнялся, если стоит галочка на основном? ну то есть будет стоять у второго подразделения основное, то оно и будет срау в документе заполнятся
заранее спасибо за помощь!
---
```1c
    &НаСервере
    Процедура ITV1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    Если НЕ ЗначениеЗаполнено (объект.Ссылка) Тогда // Заполняем реквизит ТОЛЬКО при создании нового документа. В созданном
    // он уже установлен и может отличаться от основного
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ITVПодразделение.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.ITVПодразделение КАК ITVПодразделение
    |ГДЕ
    | ITVПодразделение.Основное = ИСТИНА";
    КонецЕсли;
    Результат = Запрос.Выполнить();
    Если НЕ Результат.Пустой() Тогда // "соломка" на случай, что ни у одного подразделения не стоит галка
    Выборка = Результат.Выбрать();
    Выборка.Следующий();
    Объект.Подразделение1 = Выборка.Ссылка;
    КонецЕсли;
```
---
ну проверять надо в процедуре приизменении реквизита, если вы этому ставите галочку то все проверяются и снимается, а вот вторая часть как то непонятна
---
первое уже сделала, да, спасибо
---
Первое как в (2)
Второе, в ПриСозданииНаСервере при условии НЕ ЗначениеЗаполнено (объект.Ссылка) - новый, создаваемый док, запрос к справочнику Подразделение с условием Основное = Истина и подставить в реквизит
---
это только начало, пока набросок и не работает соответственно

```1c
    &НаСервере
    Процедура ITV1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ITVПодразделение.Ссылка КАК Ссылка,
    | ITVПодразделение.Наименование КАК Наименование,
    |ИЗ
    | Справочник.ITVПодразделение КАК ITVПодразделение
    |ГДЕ
    | ITVПодразделение.Основное = ИСТИНА";
    Выборка = Запрос.Выполнить().Выбрать();

    СсылкаНаЭлемент = Выборка.Ссылка;

    ОбъектСправочника = СсылкаНаЭлемент.ПолучитьОбъект();
    ЭлементыФормы.Подразделение1.Значение = ОбъектСправочника.Наименование;

    КонецПроцедуры
```
---
как обратиться к этому элементу формы, чтобы собственно его заполнить ?
в интернете было ЭлементыФормы, но видимо нет))
---
все, получилось сделать
спасибо за помощь!
---
```1c
    &НаСервере
    Процедура ITV1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    Если НЕ ЗначениеЗаполнено (объект.Ссылка) Тогда // Заполняем реквизит ТОЛЬКО при создании нового документа. В созданном
    // он уже установлен и может отличаться от основного
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ITVПодразделение.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.ITVПодразделение КАК ITVПодразделение
    |ГДЕ
    | ITVПодразделение.Основное = ИСТИНА";
    КонецЕсли;
    Результат = Запрос.Выполнить();
    Если НЕ Результат.Пустой() Тогда // "соломка" на случай, что ни у одного подразделения не стоит галка
    Выборка = Результат.Выбрать();
    Выборка.Следующий();
    Объект.Подразделение1 = Выборка.Ссылка;
    КонецЕсли;
```