Всем привет ! Прошу помощи !
Конфигурация на управляемых формах, имеется процедура и функция для управления видимостью
Необходимо чтобы в строке "Элементы.ГруппаРезультат.Видимость = Истина" слово "Результат" заменялось, т.е. если переменная результат равна "Сайт" то как сделать чтобы 1С воспринимала строку как "Элементы.ГруппаСайт.Видимость = Истина;"
Если кто то подскажет более рациональный вариант управления видимостью страниц буду премного благодарен !
Конфигурация на управляемых формах, имеется процедура и функция для управления видимостью
&НаКлиенте
Процедура ВидОбъектаПриИзменении(Элемент)
Для Каждого Страница ИЗ Элементы.ГруппаСтраниц.ПодчиненныеЭлементы Цикл
Страница.Видимость = Ложь;
КонецЦикла;
Результат = ВидимостьСтраниц (Объект.ВидОбъекта);
Элементы.ГруппаРезультат.Видимость = Истина;
КонецПроцедуры
&НаСервере
Функция ВидимостьСтраниц (Значение)
Если Значение = Перечисления.ВидОбъекта.Сайт
Тогда Результат = "Сайт"
ИначеЕсли Значение = Перечисления.ВидОбъекта.Почта
Тогда Результат = "Почта"
ИначеЕсли Значение = Перечисления.ВидОбъекта.ПлатежнаяСистема
Тогда Результат = "ПлатежнаяСистема"
ИначеЕсли Значение = Перечисления.ВидОбъекта.ПластиковаяКарта
Тогда Результат = "ПластиковаяКарта"
ИначеЕсли Значение = Перечисления.ВидОбъекта.Документ
Тогда Результат = "Документ"
КонецЕсли;
Возврат Результат;
КонецФункции
ПоказатьНеобходимо чтобы в строке "Элементы.ГруппаРезультат.Видимость = Истина" слово "Результат" заменялось, т.е. если переменная результат равна "Сайт" то как сделать чтобы 1С воспринимала строку как "Элементы.ГруппаСайт.Видимость = Истина;"
Если кто то подскажет более рациональный вариант управления видимостью страниц буду премного благодарен !
По теме из базы знаний
- 1С Рекомендуемо (Система требований к продуктам 1С)
- Exec - Выполнение кода, консоль запросов и не только!
- Как вам поможет Service Discovery и управление секретами инфраструктуры в 1С и не только
- Начальная настройка программы в ЗУП. Включенные премии
- Полезный код для программистов 1С (часть 3). Подготовка печатных форм + подсистема Управление печатью (БСП)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
&НаКлиенте
Процедура ВидОбъектаПриИзменении(Элемент)
Для Каждого Страница ИЗ Элементы.ГруппаСтраниц.ПодчиненныеЭлементы Цикл
Если Результат = "Сайт" Тогда
Страница.Видимость = Истина;
Иначе
Страница.Видимость = Ложь;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ВидОбъектаПриИзменении(Элемент)
Для Каждого Страница ИЗ Элементы.ГруппаСтраниц.ПодчиненныеЭлементы Цикл
Если Результат = "Сайт" Тогда
Страница.Видимость = Истина;
Иначе
Страница.Видимость = Ложь;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Камрады ну помогите плиз ! Пока получился только такой вариант, подскажите как можно сделать тоже самое без функции Выполнить() или может вообще как то по другому ?
&НаКлиенте
Процедура ВидОбъектаПриИзменении(Элемент)
Для Каждого Страница ИЗ Элементы.ГруппаСтраниц.ПодчиненныеЭлементы Цикл
Страница.Видимость = Ложь;
КонецЦикла;
Результат = ВидимостьСтраниц (Объект.ВидОбъекта);
Выполнить("Элементы.Группа"+Результат+".Видимость = Истина;");
КонецПроцедуры
&НаСервере
Функция ВидимостьСтраниц (Значение)
Если Значение = Перечисления.ВидОбъекта.Сайт
Тогда Результат = "Сайт"
ИначеЕсли Значение = Перечисления.ВидОбъекта.Почта
Тогда Результат = "Почта"
ИначеЕсли Значение = Перечисления.ВидОбъекта.ПлатежнаяСистема
Тогда Результат = "ПлатежнаяСистема"
ИначеЕсли Значение = Перечисления.ВидОбъекта.ПластиковаяКарта
Тогда Результат = "ПластиковаяКарта"
ИначеЕсли Значение = Перечисления.ВидОбъекта.Документ
Тогда Результат = "Документ"
КонецЕсли;
Возврат Результат;
КонецФункции
Показать
Попробуй вот так
&НаКлиенте
Процедура ВидОбъектаПриИзменении(Элемент)
Для Каждого Страница ИЗ Элементы.ГруппаСтраниц.ПодчиненныеЭлементы Цикл
Страница.Видимость = Ложь;
КонецЦикла;
Результат = ВидимостьСтраниц (Объект.ВидОбъекта);
//Выполнить("Элементы.Группа"+Результат+".Видимость = Истина;");
Элементы[Результат].Видимость = ИСТИНА;
КонецПроцедуры
&НаСервере
Функция ВидимостьСтраниц (Значение)
Стр = "Группа";
Если Значение = Перечисления.ВидОбъекта.Сайт
Тогда Результат = Стр + "Сайт"
ИначеЕсли Значение = Перечисления.ВидОбъекта.Почта
Тогда Результат = Стр + "Почта"
ИначеЕсли Значение = Перечисления.ВидОбъекта.ПлатежнаяСистема
Тогда Результат = Стр + "ПлатежнаяСистема"
ИначеЕсли Значение = Перечисления.ВидОбъекта.ПластиковаяКарта
Тогда Результат = Стр + "ПластиковаяКарта"
ИначеЕсли Значение = Перечисления.ВидОбъекта.Документ
Тогда Результат = Стр + "Документ"
КонецЕсли;
Возврат Результат;
КонецФункции
Показать
а так не получится ?
&НаКлиенте
Процедура ВидОбъектаПриИзменении(Элемент)
Для Каждого Страница ИЗ Элементы.ГруппаСтраниц.ПодчиненныеЭлементы Цикл
Страница.Видимость = Ложь;
КонецЦикла;
Результат = ВидимостьСтраниц (Объект.ВидОбъекта);
Элементы["Группа" + Результат].Видимость = Истина;
КонецПроцедуры
&НаСервере
Функция ВидимостьСтраниц (Значение)
Если Значение = Перечисления.ВидОбъекта.Сайт
Тогда Результат = "Сайт"
ИначеЕсли Значение = Перечисления.ВидОбъекта.Почта
Тогда Результат = "Почта"
ИначеЕсли Значение = Перечисления.ВидОбъекта.ПлатежнаяСистема
Тогда Результат = "ПлатежнаяСистема"
ИначеЕсли Значение = Перечисления.ВидОбъекта.ПластиковаяКарта
Тогда Результат = "ПластиковаяКарта"
ИначеЕсли Значение = Перечисления.ВидОбъекта.Документ
Тогда Результат = "Документ"
КонецЕсли;
Возврат Результат;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот