Имя: Пароль:
1C
1С v8
Простой вопрос по управляемой форме
0 Гоша_Пи1сец
 
14.12.15
22:29
Часть элементов формы документа после проведения должна стать в режиме только просмотр= истина, а вот после отмены проведения только просмотр=ложь

Как этот момент правильнее всего прописать чтобы при открытой форме после проведения часть элементов формы стала в режиме просмотра, а после отмены проведения наоборот.
Не могу сообразить как после обработки проведения в модуле объекта перейти на модуль формы т.к. только на клиенте возможно управлять элементами формы.... или это как то по другому решается?

Вопрос возможно глупый, но только начал на управляемых формах учиться писать...
1 Garykom
 
гуру
14.12.15
22:33
это нифига не "простой вопрос"
2 Чайник Рассела
 
14.12.15
22:34
Модуль формы ПослеЗаписи
3 Garykom
 
гуру
14.12.15
22:35
(0) навесить куда то в форме процедуру ОбновлениеВидимостиДоступности()

и в ней проверять статус проведения у Объект
4 Гоша_Пи1сец
 
14.12.15
22:37
(2) (3)  а обновить при открытой форме саму форму как? ну чтобы элементы формы при открытой форме стали в режиме просмотра или наоборот?
5 Garykom
 
гуру
14.12.15
22:39
(4) в некоторых случаях никак... только при попытке пользователя в ней что то сделать
6 EvgeniuXP
 
14.12.15
22:45
после записи - это не после проведения :)
7 Гоша_Пи1сец
 
14.12.15
22:52
Вот решение, после записи проверяем на то что объект проведен или нет или делаем как в моем коде...

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

ЭтаФорма.Прочитать();
КонецПроцедуры
8 Гоша_Пи1сец
 
14.12.15
22:53
Всех благодарю
9 Garykom
 
гуру
14.12.15
22:55
10 Garykom
 
гуру
14.12.15
22:56
(9)+ и http://catalog.mista.ru/public/198766/

ЗЫ у тебя открыта форма, в это время другой сеанс твой открытый документа проводит/распроводит, и?
11 Drac0
 
14.12.15
22:56
(7) Во-первых, Прочитать() убери. Во вторых, настраивай видимость в ПриСозданииНаСервре() И ПослеЗаписиНаСервере(). Изменение видимости на клиенте генерит серверный вызов. В 8.3.7 вроде уже не должно, но я не проверял.
12 Defender aka LINN
 
14.12.15
22:57
(7) А для нахрена Прочитать()? За сервер бабло уплачено, пусть работает?
Ну и любопытно, если пользователь форму после записи закроет и снова откроет - что будет?
13 Drac0
 
14.12.15
22:57
(10) И что? Он сохранить его не сможет.
14 Defender aka LINN
 
14.12.15
22:58
(11) Про кнопку "перечитать данные" я планировал рассказать позже, но скажу сейчас. Она есть.
15 Garykom
 
гуру
14.12.15
23:00
(13) но он то думает что сможет! и усиленно правит ))
16 Drac0
 
14.12.15
23:02
(14) Думаю, не стоит пока ему рассказывать про ПриЧтенииНаСервере(). Его может ждать два немного неочевидных сюрприза. Причем сначала первый потом второй :) (15) Се ля ви :) А ты представь, что чел открыл утром документ или справочник и ушел курить, по совещаниям и прочее. И все. Никто не может получить доступ к элементу. Негуманненько.
17 Garykom
 
гуру
14.12.15
23:04
(16) хорошо бы сделать что его документик все это время "периодически" обновлялся (точнее его открытая форма)

и когда пришел посередине крупно: Му..ак! Не оставляй открытых документов, ососбенно не записанных!
18 Гоша_Пи1сец
 
14.12.15
23:05
Благодарю, думаю мне многое нужно почитать
19 Drac0
 
14.12.15
23:05
(17) Ну, тут хватит ОбработчикаОжидания :) И для первого и для второго ))))
20 EvgeniuXP
 
14.12.15
23:08
(19) для этого делают отдельную форму - не привязанную к объекту документа.
21 EvgeniuXP
 
14.12.15
23:09
(20) к (17)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший