helpf.pro
Регистрация

v8: как проверить программно что форма уже была открыта?!

ProfforG
16.11.2011 19:31Прочитано: 18302
у меня некоторые Элементы на форме имеют закрытый доступ или видимость. при повторном открытии мне нужно проверить форма открыта повторно или нет?! как условие будет выглядеть?!

ПриПовторномОткрытии()
Если ЭтаФорма.{?Была открыта ранее?} = Истино Тогда
//
//выставляю все доступы элементов и видимость как мне надо
//
КонецЕсли;
КонецПроцедуры
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
17.11.2011 10:21Ответ № 1
(0) ProfforG,
Код 1C v 8.х
 Если ЭтаФорма.Открыта() Тогда
//......
КонецЕсли;
ProfforG
17.11.2011 11:39Ответ № 2
Делал я так, но тут немного другое условие. Вот мы заполнили документ, нажали кнопку "провести и закрыть". а потом к примеру решили просмотреть этот документ или редактировать его открываем его. и вот на это повторное открытие у меня должно условие работать. а тут получается условие на то что она уже открыта и мы на это условие проверяем...
E_Migachev
17.11.2011 12:15Ответ № 3
з раза прочитал, так и не понял - что за условие тебе нужно!?
Ermak
17.11.2011 14:02Ответ № 4
(2) ProfforG, Напиши по подробнее, что ты хочешь сделать. Я не давно делал одну вещь и мне кажется что ты тоже самое хочешь сделать.
ProfforG
17.11.2011 19:31Ответ № 5
условие:

если форма документа(ранее созданного) открывается повторно, то тогда (пишу необходимый обработчик)

а вот почему мне нужна такая проверка при повторном открытии формы документа:

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

в обработчике ПриПОвторном открытии будет так:

Если (форма документа открыта повторно?! )=да тогда
реквизиты.видимость = истина

теперь думаю понятно)
Ermak
17.11.2011 20:02Ответ № 6
А может тебе так поможет

Код 1C v 8.х
 
Если ЭтотОбъект.Проведен Тогда
ЭлементыФормы.ПолеВвода.Доступность = Истина;
//и так далее все нужные реквизиты
КонецЕсли;


При добавлением копированием я думаю этот код не подойдет, так как документ будет не проведен
Изменено 17.11.11 20:04:49
ProfforG
18.11.2011 00:46Ответ № 7
проблема вся в том что у меня 1с 8.2 УП... и вот как сделать чтобы ЭтотОбъект переменная была определена, я не знаю(
Ermak
18.11.2011 08:29Ответ № 8
попробуй поставить этот код, я не уверен но должна понять

Код 1C v 8.х
  
Если ЭтотОбъект.Проведен Тогда
ЭлементыФормы.ПолеВвода.Доступность = Истина;
//и так далее все нужные реквизиты
КонецЕсли;


если нет то попробуй так, например:

Код 1C v 8.х
 
Док= Документы.ВнутреннийЗаказ;
Если Док.Проведен Тогда
ЭлементыФормы.ПолеВвода.Доступность = Истина;
//и так далее все нужные реквизиты
КонецЕсли;


думаю должно получиться
Изменено 18.11.11 08:29:30
Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.