УФ, изменение видимости по условию без вызова сервера #597190


#0 by Humandra
Добрый день! Что-то не догоняю с изменением видимости поля формы по условию. Предположим, у меня есть в справочнике одно поле - в типовых это как "Головной контрагент". Я хочу на форму поместить еще и флаг "Входит в холдинг", опять таки как в типовых. Первоначально флаг проставляется в зависимости от заполненности самого поля, при изменении флага поле "Головной контрагент" разблокируется и можно ввести значение. А при сбросе флага - поле сбрасывается. Не могу понять как это сделать, чтобы метод не лез на сервер. Пробовала так: &НаКлиенте Лезет на сервер. Я так понимаю, потому что изменяется реквизит формы, а не элемент формы. А так: &НаКлиенте не работает по причине отсутствия свойства "Значение" Смотрела как это сделано в типовой бухгалтерии 3.x бета - там вообще баг (ну или нелогичная особенность), так как при сбросе флага заполненное поле Головной контрагент - не сбрасывается вообще, и после сбрасывания флага, сохранения и выхода - флаг опять проставлен, так как реквизит "Головная компания" не сбросился, а флаг проставляется по нему. Возможно ли вообще изменить элемент формы, не меняя реквизит на сервере? Вплоть до сохранения карточки?
#1 by ilpar
потому что книги надо читать
#2 by Humandra
Уже третью читаю, но времени мало, видимо что-то упустила :) Но форум же как раз за тем, чтобы подсказать, где я не права, разве нет? :)
#3 by ilpar
а нет, извиняюсь
#4 by ДенисЧ
Использование: Чтение и запись. Описание: Тип: Булево. Определяет видимость поля. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент. Изменение свойства на клиенте может потребовать обращения к серверу. Примечание: Ложь - поле не отображается.
#5 by ilpar
вообще да, повторюсь... теорию надо читать =)
#6 by Asmody
через условное оформление можно сделать
#7 by Asmody
[А при сбросе флага - поле сбрасывается] нужно обрабатывать при записи
#8 by Humandra
Ну, я тоже с названием темы немного не права (может кто подкорректирует на "Как сбросить поле на клиенте без вызова сервера"?), но все же вопрос был не в том :) У меня видимость нормально изменяется, но при сбросе по флагу значения - лезет на сервер
#9 by Humandra
Тоже тема, в общем-то... верно.
#10 by Humandra
А по другому никак? Если захочется, чтобы если пользователь повторно нажал "Входит в холдинг - Истина", то старое значение Головной компании уже было сброшено?
#11 by Humandra
Понятное дело, что в таком простом примере несущественно с вызовом сервера, но такой механизм предполагается делать и там, где существенно...
#12 by Asmody
а почему [Объект.ГоловнаяКомпания = Неопределено]? тебе же пустая ссылка нужна. а её получение вызывает сервер. теоритически, её можно "закешировать" на клиенте в реквизите, тогда обращения не будет наверное
#13 by Humandra
Попробовала закешировать пустую ссылку - не помогло. Клиент похоже лезет к Объект.ГоловнаяКомпания на сервер... Попробовала даже с обработчиком по нессылочным реквизитам: При изменении меняю: Все равно лезет на сервер. В принципе, логично вроде - реквизиты формы же на сервере обитают?
#14 by Asmody
в книге написано, что изменение видимости требует обращения к серверу, поскольку при этом пересчитывается расположение элементов. рекомендуют вместо видимости управлять доступностью
#15 by Humandra
А! Вот оно в чем дело. Вот почему в типовой сделали подмену групп страниц, а я то думала - зачем так сложно. А в какой книге писали, в документации?
#16 by Asmody
«Разработка управляемого интерфейса»
#17 by Humandra
А, я как раз до нее еще не дошла :) Радченко обе книги прочитала, документацию к коробке, Габеца нового и половину Хрусталевой про СКД, а до интерфейса не дошли руки :) Спасибо, помогло! Так что мои умозаключения о том, что обращение к реквизитам формы могут вызывать сервер признаны глубоко ошибочными - ибо с изменением доступности все заработало :)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С