Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Видимость элемента формы
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
bodka
В Документе есть реквизит "мебель" (тип СправочникСсылка.Номенклатура) Мне при изменении нужно сравнить:

&НаКлиенте
Процедура МебельПриИзменении(Элемент)
    Если Объект.Мебель = Шкаф Тогда
        Элементы.МояТаблица.Видимость = Ложь;
        КонецЕсли;
КонецПроцедуры


Подскажите пожалуйста, что не так?
mister-x
в керованому клієнті видимістю оперують тільки в момент створення форми на сервері, при вже відкритій формі оперуйте доступністю
bodka
Цитата(mister-x @ 01.02.12, 15:24) необходимо зарегистрироваться для просмотра ссылки
в керованому клієнті видимістю оперують тільки в момент створення форми на сервері, при вже відкритій формі оперуйте доступністю

&НаКлиенте
Процедура МебельПриИзменении(Элемент)
    Если Объект.Мебель = "Шкаф" Тогда
        Элементы.ГруппаФасады.Доступность = Ложь;
        КонецЕсли;
КонецПроцедуры


Так тоже не идет.... Наверное надо что-то на подобии такого:
Если Объект.Мебель = Справочники.Номенклатура.Шкаф
?
Vofka
Справочники.Номенклатура.Шкаф - это предопределенный элемент? И почему-то мне кажется, что при изменении надо данные брать не из Объект.Номенклатура.

Цитата
в керованому клієнті видимістю оперують тільки в момент створення форми на сервері, при вже відкритій формі оперуйте доступністю

Это чё это? Я понимаю, что оптимальней конечно при создании на сервере этим управлять, но почему это после этого это делать нельзя?
bodka
Цитата(Vofka @ 01.02.12, 15:45) необходимо зарегистрироваться для просмотра ссылки
Справочники.Номенклатура.Шкаф - это предопределенный элемент? И почему-то мне кажется, что при изменении надо данные брать не из Объект.Номенклатура.


Это чё это? Я понимаю, что оптимальней конечно при создании на сервере этим управлять, но почему это после этого это делать нельзя?

нет не предопределенный - это я для примера написал... Мне нужно сравнить Объект формы (Справочники.Номенклатура) с его значением, то есть если значение Шкаф то видимость таблицы = Ложь

Вот допустим, я изменил тип реквизита Мебель на Строку и все работает:

Процедура МебельПриИзменении(Элемент)
    Если Объект.Мебель = "Шкаф" Тогда
        Элементы.ГруппаФасады.Видимость=Ложь;
        иначеЕсли Объект.Мебель = "Кухня" Тогда
            Элементы.ГруппаФурнитура.Видимость = ложь;
        КонецЕсли;
КонецПроцедуры

А вот можно такое сделать, если тип будет Справочники.Ссылка?
Vofka
Не уверен на 100%, что будет работать в управляемом интерфейсе, но в обычном можно сделать так:

Справочники.Номенклатура.НайтиПоНаименованию("Шкаф");
DartRomanius
Цитата(bodka @ 01.02.12, 16:21) необходимо зарегистрироваться для просмотра ссылки
В Документе есть реквизит "мебель" (тип СправочникСсылка.Номенклатура) Мне при изменении нужно сравнить:

&НаКлиенте
Процедура МебельПриИзменении(Элемент)
    Если Объект.Мебель = Шкаф Тогда
        Элементы.МояТаблица.Видимость = Ложь;
        КонецЕсли;
КонецПроцедуры


Подскажите пожалуйста, что не так?


Реквизит формы или данные документа?
bodka
Мебель - это реквизит документа
Irina_
Цитата(Vofka @ 01.02.12, 16:24) необходимо зарегистрироваться для просмотра ссылки
Не уверен на 100%, что будет работать в управляемом интерфейсе, но в обычном можно сделать так:

Справочники.Номенклатура.НайтиПоНаименованию("Шкаф");


К сожалению на клиенте нельзя оперировать справочниками (((


Вот как вариант

&НаКлиенте
Процедура СкладПриИзменении(Элемент)
    СкладОстатков = ПолучитьСклад();
    Если СкладОстатков = 1 Тогда
        Элементы.Товары.Видимость = Ложь;
    КонецЕсли;
КонецПроцедуры

&НаСервере
Функция ПолучитьСклад()
    Если Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Остатков",Истина) Тогда
        Возврат 1;
    Иначе
        Возврат 0;
    КонецЕсли;
КонецФункции
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.