Как программно закрыть форму, открытую спомощью ОткрытьФорму() #236913


#0 by петрович
ОткрытьФорму(Док.ТекущийДокумент,КонтекстДокумента);А как потом программно закрыть форму ?
#1 by Uho
КонтекстДокумента.Форма.Закрыть
#2 by Iova
Форма.Закрыть
#3 by VZ
Еще один... :(
#4 by петрович
КонецЕсли;{Обработка.ЗаменаНоменклатуры.Форма.Модуль}: Объект заблокирован: Реализация 1300000002 (21.11.06)А кем заблокирован док ?
#5 by Uho
это что за чушь?
#6 by Бит
А зачем его было открывать?
#7 by VZ
А он в логике документа разобратся не в состоянии, поэтому будет пр...ся с вводом реквизитов через форму... Готов на это весь день потратить.
#8 by Здрасте
Тип значения параметра контролируй
#9 by pit
И только вежливость не позволяет VZ вспомнить дятлов...
#10 by VZ
Не "дятлов", а "долбодятлов" :)
#11 by петрович
В доках (всех видов) надо менять номенклатуру, для этого формексом надо получать формулы, которые используються при изменении номенклатуры.
#12 by петрович
КонецЦиклаНа этом цикле программа зависает, т.е. это следует понимать что форма открыта даже после КонтекстДокумента.Форма.Закрыть ???
#13 by Доктор
Петрович, сейчас я тебе преподам мастер-класс!Документ у тебя не проводится потому, что вызов этого метода исполняется раньше, чем форма успевает закрыться.Для выхода из ситуации:1.Контекст открытой формы пиши в глобальную переменную2. В процедуре глобального модуля, вызываемой по ОбработкеОжидания проверяй тип значения этой переменной. Как только этот тип перестанет быть групповым контекстом, можешь продолжать , но уже из глобальника, исполнение своего кода, которым документ проводится или записывается.Учись, петрович, и больше никогда не говори, что я на форуме- без году неделя!
#14 by trdm
Если цены и суммы остаются "в норме", а меняются только единицы для номенклатуры, тогда не лучше ли просто сбацать обработку?Поскольку твой путь (ч/з) открытие формы 85% времени делает бестолковую работу. (всякие бяки при открытии)
#15 by петрович
Меняется сама номенклатура.
#16 by trdm
Ну и соответственно единицы номенклатуры. Так елы, лучше обработку...
#17 by Gosha
2: Открывать форму НЕ НАДО. Хотя бы просто потому, что при программном изменении в открытой форме реквизитов никакие формулы элементов диалога выполняться не будут.Необходимые правки вполне можно внести через "СоздатьОбъект(..", позиционирование на документе в этом объекте, внесение правок в спозиционированный объект, и ".Записать" (+".Провести").
#18 by петрович
Разумеется,никакие формулы элементов диалога выполняться не будут.Но для этого есть FormEx, который позволяет получить формулу реквизита и выполнить её в контексте открытой формы документа...
#19 by Uho
ты идешь по такому пути, что легче пользователя посадить, или иммитировать нажатие им клавиш через SendKeys
#20 by LDR
и правильно же говорят "все беды от ума", надо быть проще и делать доступнее, а не извращаться через определенное место. как обычно есть легче методы получения желаемого, но либо не додумали, либо хотим Мега-пупер-навороченной фигни.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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