База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сделать реквизиты видимыми при выборе переключателя «Данные из Артикса»? › Ответ в теме: Как сделать реквизиты видимыми при выборе переключателя «Данные из Артикса»?
Чтобы реквизиты «Номер кассы», «Номер z-отчета», «Номер чека» были видны только при выборе переключателя «Данные из Артикса», нужно управлять свойством Видимость этих реквизитов в форме отчёта.
Алгоритм:
1. В форме отчёта у вас есть переключатель (RadioButton) с двумя вариантами:
— «Сравнение данных из Супермага и Артикса»
— «Данные из Артикса»
2. Для переключателя создайте реквизит (например, ПереключательДанных), который будет принимать значения, например, 0 и 1.
3. Для реквизитов «Номер кассы», «Номер z-отчета», «Номер чека» в форме установите свойство Видимость (Visible) через выражение, зависящее от значения переключателя.
Пример:
— Допустим, переключатель связан с реквизитом формы ПереключательДанных, где:
— 0 — «Сравнение данных из Супермага и Артикса»
— 1 — «Данные из Артикса»
— Тогда для каждого из трёх реквизитов в форме в свойстве Видимость укажите:
|
1 |
ПереключательДанных = 1 |
Или в модуле формы:
|
1 2 3 4 5 |
Процедура ПереключательДанныхПриИзменении(Элемент) ЭлементыФормы.НомерКассы.Видимость = (Элемент.Значение = 1); ЭлементыФормы.НомерZОтчета.Видимость = (Элемент.Значение = 1); ЭлементыФормы.НомерЧека.Видимость = (Элемент.Значение = 1); КонецПроцедуры |
Где ПереключательДанных — имя реквизита, связанного с переключателем, а НомерКассы, НомерZОтчета, НомерЧека — имена элементов формы с этими реквизитами.
Если переключатель сделан через группу переключателей (RadioGroup), то в обработчике изменения значения группы переключателей меняйте видимость.
—
Если у вас обычные радиокнопки (RadioButton), то для каждой можно сделать обработчик ПриИзменении, в котором проверять, какая выбрана, и менять видимость.
Пример для двух радиокнопок:
|
1 2 3 4 5 6 7 8 9 10 11 |
Процедура РадиоДанныеИзАртиксаПриИзменении(Элемент) Если Элемент.Значение Тогда ЭлементыФормы.НомерКассы.Видимость = Истина; ЭлементыФормы.НомерZОтчета.Видимость = Истина; ЭлементыФормы.НомерЧека.Видимость = Истина; Иначе ЭлементыФормы.НомерКассы.Видимость = Ложь; ЭлементыФормы.НомерZОтчета.Видимость = Ложь; ЭлементыФормы.НомерЧека.Видимость = Ложь; КонецЕсли; КонецПроцедуры |
И аналогично для другой радиокнопки.
—
Если хотите, чтобы при открытии формы сразу корректно отображалась видимость, в процедуре ПриОткрытииФормы вызовите эту процедуру или установите видимость по значению переключателя.
—
Таким образом, вы динамически управляете видимостью реквизитов в зависимости от выбранного переключателя.