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

1С 8.1 Управление видимостью

Автор Natalia21, 06 ноя 2011, 23:34

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

Natalia21

Подскажите пожалуйста как сделать чтобы при постановке галочки, поле ввода и надпись стали невидимы. не могу разобраться как написать код для управления видимостью(((
Имя флажка - ВариантОплаты
Имя надписи - НадписьПлательщик
Имя поля ввода - Плательщик
В свойствах флажка в собитиях поставила при изменении - ВариантОплатыПриИзменении

Код:
Процедура ВариантОплатыПриИзменении (Элемент)
УправлениеВидимостьюПлательщика();
КонецПроцедуры

Процедура УправлениеВидимостьюПлательщика()
Евли ВариантОплаты = 1 Тогда
............
КонецПроцедуры

Подскажите пожалуйста как правильно написать??

Андрей Федотов

Зависит от того управляемая форма или нет:

1) Если форма управляемая:
Элементы.НадписьПлательщик.Видимость = Истина;
Элементы.Плательщик.Видимость = Истина;

2) Если форма обычная:
ЭлементыФормы.НадписьПлательщик.Видимость = Истина;
ЭлементыФормы.Плательщик.Видимость = Истина;

При использовании управляемой формы лучше использовать свойство Доступность, ибо при изменении значения свойства "Видимость" идёт дополнительный вызов Сервера, что не есть хорошо

Dethmontt

Если ВариантОплаты Тогда
     ЭлементыФормы.НадписьПлательщик.Видимость = Истина;
ЭлементыФормы.Плательщик.Видимость = Истина;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Dethmontt

Если ВариантОплаты Тогда
    ЭлементыФормы.НадписьПлательщик.Видимость = Истина;
    ЭлементыФормы.Плательщик.Видимость = Истина;
Иначе
    ЭлементыФормы.НадписьПлательщик.Видимость = Ложь;
    ЭлементыФормы.Плательщик.Видимость = Ложь;
КонецЕсли;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Natalia21

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

Андрей Федотов

В справочнике "ВидыПлатежей" в конфигураторе делаете предопределенный элемент "Электронно".
Пользователи смогут изменить его наименование, но системное название нет. Удаление данного элемента справочника невозможно интерактивными средствами.

Далее есть замечательный обработчик формы: ПриСозданииНаСервере(). В нём можно будет заполнить значение элемента формы

Natalia21

"обработчик формы: ПриСозданииНаСервере()"
но у меня обычная форма, а не управляемая, разве сервер тут уместен?!

Necropunk

Ну, что-то типа такого (писал по памяти в конфе, так, в виде примерной реализации)

Процедура ПередОткрытием()

Если ЭтотОбъект.ЭтоНовый() Тогда
      ВидДокумента = Справочники.ВидыДокументов.НайтиПоНаименованию("Электронный");
КонецЕсли;

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

Necropunk

Лучше с предопределенными, но там смотрите сами, как удобнее, их не всегда получается корректно использовать - их создание обновления конфы требует.

Natalia21

аха, поняла, все получилось! спасибо большое!!! Можно еще вопрос, вот есть таблица, в ней столбец сумма. мне надо чтобы после таблицы, в объект "Надпись" посчиталась общая сумма по всем строкам столбца "Сумма". как это можно реализовать?

Процедура ТабличнаяЧасть1СуммаПриИзменении(Элемент)
    ЭлементыФормы.Всего_Итог = ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные;
КонецПроцедуры

Я думаю что свойство тут выбрано не правильное, т.к. графа сумма она считается автоматически.... и как посчитать сумму по всем строкам не знаю(((( помогите пожалуйста!

Теги:

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

Рейтинг@Mail.ru

Поиск