Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 22:48

Отображение комментария при наведении курсора на значение поле типа перечисления

Автор steeld, 27 мая 2023, 12:14

0 Пользователей и 1 гость просматривают эту тему.

steeld

У меня есть в документе реквизит "Стадия" с типом перечисление "СтадииОнкологическогоЗаболевания". Мне нужно чтобы после выбора значения и после наведении мыши на это поле, появлялся комментарий определенного значения, например значение "I", наводишь курсор на это значение и над курсором появляется комментарий, к этой стадии. Скорее всего это можно реализовать по другому, мне главное чтобы появлялся комментарий над курсором при наведении, а как именно это будет реализовано неважно.

antoneus

&НаСервере
Процедура СтадияПриИзмененииНаСервере()

Индекс = Перечисления.СтадииОнкологическогоЗаболевания.Индекс(Стадия);
Элементы.Стадия.Подсказка = Метаданные.Перечисления.СтадииОнкологическогоЗаболевания.ЗначенияПеречисления[Индекс].Комментарий

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


&НаКлиенте
Процедура СтадияПриИзменении(Элемент)
СтадияПриИзмененииНаСервере();
КонецПроцедуры

steeld

antoneus, у меня вылезла ошибка
{Документ.РезультатОбследования.Форма.ФормаДокумента.Форма(15,67)}: Переменная не определена (Стадия)
    Индекс = Перечисления.СтадииОнкологическогоЗаболевания.Индекс(<<?>>Стадия); (Проверка: Сервер)

antoneus

А, ну значит Объект.Стадия. И тогда эту же процедуру надо при открытии вызывать (если реквизит заполнен), чтобы в сохраненном документе подсказка тоже прописывалась.

steeld


steeld

antoneus, Только есть проблема небольшая текст весь не вмещается, возможно ли это исправить?

antoneus

Разбить на короткие строки.

&НаСервере
Процедура СтавкаНДСПриИзмененииНаСервере()

Индекс = Перечисления.СтадииОнкологическогоЗаболевания.Индекс(Объект.Стадия);
Комментарий = Метаданные.Перечисления.СтадииОнкологическогоЗаболевания.ЗначенияПеречисления[Индекс].Комментарий;
мКомментарий = СтрРазделить(Комментарий, " ");
НовСтрока = "";
Подсказка = "";
Для каждого Слово Из мКомментарий Цикл
НовСтрока = НовСтрока + Слово + " ";
Если СтрДлина(НовСтрока) > 50 Тогда
Подсказка = Подсказка + НовСтрока + Символ(10);
НовСтрока = ""
КонецЕсли;
КонецЦикла;
Если НовСтрока <> "" Тогда
Подсказка = Подсказка + НовСтрока
КонецЕсли;
Элементы.Стадия.Подсказка = Подсказка

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

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск