Хочу сделать на форме отражение состояния документа (Проведен/Не проведен/Удален)

Попытался это изобразить так создал: форму добавил текстовый реквизит ЭлементСостояния и в модуле формы написал код:

```1c
    &НаСервере
    Процедура ОбновитьСостояниеДокумента()
    Если Объект.Проведен Тогда
    ЭлементСостояния.Текст = "Проведен";
    ЭлементСостояния.ЦветФона = Новый Цвет(0, 255, 0); // Зеленый фон
    ИначеЕсли Объект.ПометкаУдаления Тогда
    ЭлементСостояния.Текст = "Удален";
    ЭлементСостояния.ЦветФона = Новый Цвет(255, 0, 0); // Красный фон
    Иначе
    ЭлементСостояния.Текст = "Не проведен";
    ЭлементСостояния.ЦветФона = Новый Цвет(255, 255, 0); // Желтый фон
    КонецЕсли;
    КонецПроцедуры

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    ОбновитьСостояниеДокумента();
    КонецПроцедуры

    &НаКлиенте
    Процедура ПриИзмененииСостояния(ИзмененныеДанные)
    ОбновитьСостояниеДокумента();
    КонецПроцедуры
```

Но чтото нихрена не работает, Значение не является значением объектного типа (Текст)

 может кто делал у себя нечто подобное, помогите разобраться. Версия 8.3.21
---
Кое что поправил

```1c
    /////////// +Добавление на форму Элемента Состояния Документа ("Проведен" / "Не проведен" / "Удален")
    &НаКлиенте
    Процедура ОбновитьСостояниеДокумента()
    Если Объект.Проведен Тогда
    Элементы.ЭлементСостояния.Заголовок = "Проведен";
    Элементы.ЭлементСостояния.ЦветТекста = Новый Цвет(0, 150, 70); // Зеленый
    Элементы.ЭлементСостояния.ЦветРамки = Новый Цвет(0, 150, 70); // Зеленый
    ИначеЕсли Объект.ПометкаУдаления Тогда
    Элементы.ЭлементСостояния.Заголовок = "Удалён";
    Элементы.ЭлементСостояния.ЦветТекста = Новый Цвет(255, 0, 0); // Красный
    Элементы.ЭлементСостояния.ЦветРамки = Новый Цвет(255, 0, 0); // Красный
    Иначе
    Элементы.ЭлементСостояния.Заголовок = "Не проведен";
    Элементы.ЭлементСостояния.ЦветТекста = Новый Цвет(0, 0, 0); // черный
    Элементы.ЭлементСостояния.ЦветРамки = Новый Цвет(0, 0, 0); // черный
    КонецЕсли;
    КонецПроцедуры

    &НаСервере
    Процедура СозданиеЭлементаСостояния()
    Элемент = ЭтаФорма.Элементы.Добавить("ЭлементСостояния", Тип("ДекорацияФормы"), ЭтаФорма.Элементы.Группа1 ); //"Группа1" обычно это группа с Номером и Датой документа
    Элемент.Заголовок = "Состояние документа";
    Элемент.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 2);
    Элемент.Ширина = 13;
    Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Центр;
    Элемент.Шрифт = Новый Шрифт(,,Истина,,,,); //Полужирный
    КонецПроцедуры

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    СозданиеЭлементаСостояния(); //Вставлено для понимания свойств элемента, можно нарисовать в ручную
    ОбновитьСостояниеДокумента();
    КонецПроцедуры

    &НаКлиенте
    Процедура ПослеЗаписи(ПараметрыЗаписи)
    ОбновитьСостояниеДокумента();
    КонецПроцедуры
```

Жду замечаний.
---
Итить-колотить. Даже на этом сайте поискать лень.
---
может кто делал у себя нечто подобное Таких придется долго искать. Задача нетривиальная!
---
Уже и Вселенная подсказывает, что нет такого свойства "Текст", но мы настойчивые!

Джуниорская болезнь - путать реквизит формы с элементом формы.
---
я понял. что нет, а вот ка можно сделать не знаю, похоже и Вы не знаете.
---
похоже и Вы не знаете. Откуда уж мне, болезному, знать о таких грандиозных и непостижимых возможностях вывода букв на форму.
---
похоже и Вы не знаете.Ты совершенно прав. Тут никто ничего не знает. Спрашивай в других местах.
---
Я понимаю - писать свои мысли проще, чем сформулировать ответ по существу вопроса.
---
Тебе подсказывают, что надо менять свойства у элемента формы, а не у реквизита.
Тебе осталось узнать как обратиться к элементу формы.
---
Или наоборот - надо установить значение реквизита. Который называется "ЭлементСтояния".
И вообще - откуда нам знать, что это юное дарование понимает под термином "добавил реквизит".
---
переделал вот так, вроде работает,

```1c
    Процедура ОбновитьСостояниеДокумента()
    Если Объект.Проведен Тогда
    Элементы.ЭлементСостояния.Заголовок = "Проведен";
    Элементы.ЭлементСостояния.ЦветТекстаЗаголовка = Новый Цвет(50, 205, 50);
    ИначеЕсли Объект.ПометкаУдаления Тогда
    Элементы.ЭлементСостояния.Заголовок = "Удален";
    Элементы.ЭлементСостояния.ЦветТекстаЗаголовка = Новый Цвет(255, 0, 0);
    Иначе
    Элементы.ЭлементСостояния.Заголовок = "Не проведен";
    Элементы.ЭлементСостояния.ЦветТекстаЗаголовка = Новый Цвет(0, 0, 0);
    КонецЕсли;
    КонецПроцедуры
```

Но мне не нравится, как-то коряво через заголовок.
Может кто подскажет более красивый способ?
---
Установи значение реквизита.
МойРеквизит = НужноеЗначение;

И цвет фона - в свойствах элемента.
---
При попытке в него сохранить - ошибка Поле объекта не доступно для записи.
---
Это ты сейчас с кем разговариваешь?
---
Подскажи, плис, откуда вызывается

```1c
    Процедура ПриИзмененииСостояния(ИзмененныеДанные)
```
---
эту процедуру я заменил на ПослеЗаписи()
---
В итоге получилось вот так:

```1c
    /////////// +Добавление на форму Элемента Состояния ("Проведен" / "Не проведен" / "Удален")
    &НаСервере
    Процедура ОбновитьСостояниеДокумента()
    Если Объект.Проведен Тогда
    Элементы.ЭлементСостояния.Заголовок = "Проведен";
    Элементы.ЭлементСостояния.ЦветТекста = Новый Цвет(0, 150, 70); // Зеленый
    Элементы.ЭлементСостояния.ЦветРамки = Новый Цвет(0, 150, 70); // Зеленый
    ИначеЕсли Объект.ПометкаУдаления Тогда
    Элементы.ЭлементСостояния.Заголовок = "Удалён";
    Элементы.ЭлементСостояния.ЦветТекста = Новый Цвет(255, 0, 0); // Красный
    Элементы.ЭлементСостояния.ЦветРамки = Новый Цвет(255, 0, 0); // Красный
    Иначе
    Элементы.ЭлементСостояния.Заголовок = "Не проведен";
    Элементы.ЭлементСостояния.ЦветТекста = Новый Цвет(0, 0, 0); // черный
    Элементы.ЭлементСостояния.ЦветРамки = Новый Цвет(0, 0, 0); // черный
    КонецЕсли;
    КонецПроцедуры

    &НаСервере
    Процедура СозданиеЭлементаСостояния()
    Элемент = ЭтаФорма.Элементы.Добавить("ЭлементСостояния", Тип("ДекорацияФормы"), ЭтаФорма.Элементы.Группа1 ); //"Группа1" обычно это группа с Номером и Датой документа
    Элемент.Заголовок = "Состояние документа";
    Элемент.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 2);
    Элемент.Ширина = 13;
    Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Центр;
    Элемент.Шрифт = Новый Шрифт(,,Истина,,,,); //Полужирный
    КонецПроцедуры

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    СозданиеЭлементаСостояния();
    ОбновитьСостояниеДокумента();
    КонецПроцедуры

    &НаКлиенте
    Процедура ПослеЗаписи(ПараметрыЗаписи)
    ОбновитьСостояниеДокумента();
    КонецПроцедуры
```
---
Снимай галочку со своего правильного ответа.
Нахрена ты на сервер-то лезешь при изменении, чудик?
И почему формируешь элемент именно ПриОткрытии() Чтобы с клиента на сервер слазить?

И раз уж ты залез в модуль формы основной конфигурации - то нахрена тебе вообще программно создавать элемент формы? Нарисуй его сразу на форме, и не парь моск.
---
Предложи свой вариант. и может быть он станет лучшим решением.
---
Мне оно зачем?
Ты преподу на экзаменах так же говоришь?
---
У меня нет препода. Учусь у знающих людей, но таких мало, в основном попадаются критики. :) И да, я понимаю что знаю мало и мой код получается кривой.
---
Так тебе советуют где его надо исправить. А ты в ответ - что? Хамишь, типа "предложи свой вариант раз такой умный". Вместо того, чтобы разобраться - а на что же такое тебе намекают этими подсказками?

Ну не хочешь советов и подсказок - ну и хрен с тобой.

Спрашивай у всех сразу правильные варианты, и тогда никогда не поймешь почему они правильные, а твои нет. Это лучший путь обучения, ящщетаю.
---
почему формируешь элемент именно ПриОткрытии() Чтобы с клиента на сервер слазить?
А как еще? где нужно определять состояние документа? Ты подскажи.
---
Вопрос был не про состояние, а про создание нового элемента.
---
ахрена тебе вообще программно создавать элемент формы?
Согласен можно и нарисовать сразу.
---
Кое что поправил

```1c
    /////////// +Добавление на форму Элемента Состояния Документа ("Проведен" / "Не проведен" / "Удален")
    &НаКлиенте
    Процедура ОбновитьСостояниеДокумента()
    Если Объект.Проведен Тогда
    Элементы.ЭлементСостояния.Заголовок = "Проведен";
    Элементы.ЭлементСостояния.ЦветТекста = Новый Цвет(0, 150, 70); // Зеленый
    Элементы.ЭлементСостояния.ЦветРамки = Новый Цвет(0, 150, 70); // Зеленый
    ИначеЕсли Объект.ПометкаУдаления Тогда
    Элементы.ЭлементСостояния.Заголовок = "Удалён";
    Элементы.ЭлементСостояния.ЦветТекста = Новый Цвет(255, 0, 0); // Красный
    Элементы.ЭлементСостояния.ЦветРамки = Новый Цвет(255, 0, 0); // Красный
    Иначе
    Элементы.ЭлементСостояния.Заголовок = "Не проведен";
    Элементы.ЭлементСостояния.ЦветТекста = Новый Цвет(0, 0, 0); // черный
    Элементы.ЭлементСостояния.ЦветРамки = Новый Цвет(0, 0, 0); // черный
    КонецЕсли;
    КонецПроцедуры

    &НаСервере
    Процедура СозданиеЭлементаСостояния()
    Элемент = ЭтаФорма.Элементы.Добавить("ЭлементСостояния", Тип("ДекорацияФормы"), ЭтаФорма.Элементы.Группа1 ); //"Группа1" обычно это группа с Номером и Датой документа
    Элемент.Заголовок = "Состояние документа";
    Элемент.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 2);
    Элемент.Ширина = 13;
    Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Центр;
    Элемент.Шрифт = Новый Шрифт(,,Истина,,,,); //Полужирный
    КонецПроцедуры

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    СозданиеЭлементаСостояния(); //Вставлено для понимания свойств элемента, можно нарисовать в ручную
    ОбновитьСостояниеДокумента();
    КонецПроцедуры

    &НаКлиенте
    Процедура ПослеЗаписи(ПараметрыЗаписи)
    ОбновитьСостояниеДокумента();
    КонецПроцедуры
```

Жду замечаний.
---
Ты подскажи. (19) Предложи свой вариант.(25) Жду замечаний.
Очень похоже на птицу, которая долбит дерево.