Как открыть свою, произвольную форму из документа и при закрытии этой формы передать какое-то значение?
По теме из базы знаний
Найденные решения
Если Управляемые формы то данные хранить лучше в реквизитах объекта, тогда не придется таскать их отдельным кодом с клиента на сервер и обратно...
Они будут в таком варианте автоматически меняться, когда это необходимо...
Вот и меняйте такие данные в своей форме при условии что дополнительная форма принадлежит тому же документу, а основная форма также будет видеть прекрасно все изменения реквизитов объекта.
Если форма из внешней обработки, то при закрытии надо записать данные во временное хранилище и создать оповещение о закрытии этой формы.
А основная форма должна ловить это оповещение...
И при получении считывать данные из временного хранилища с дальнейшими действиями над полученными данными...
Они будут в таком варианте автоматически меняться, когда это необходимо...
Вот и меняйте такие данные в своей форме при условии что дополнительная форма принадлежит тому же документу, а основная форма также будет видеть прекрасно все изменения реквизитов объекта.
Если форма из внешней обработки, то при закрытии надо записать данные во временное хранилище и создать оповещение о закрытии этой формы.
А основная форма должна ловить это оповещение...
И при получении считывать данные из временного хранилища с дальнейшими действиями над полученными данными...
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
1. Когда открываете форму, обязательно указываете в качестве владельца ту форму, из которой открывается Ваша форма.
2. На своей форме при нажатии на вашу кнопку (по которой должно передаваться значение) пишете код Закрыть(ДанныеКоторыеНужноПередать);
3. На форме документа находите процедуру "ОбработкаОповещения" и там по аналогии с написанным там кодом добавляете свой код
1. Когда открываете форму, обязательно указываете в качестве владельца ту форму, из которой открывается Ваша форма.
2. На своей форме при нажатии на вашу кнопку (по которой должно передаваться значение) пишете код Закрыть(ДанныеКоторыеНужноПередать);
3. На форме документа находите процедуру "ОбработкаОповещения" и там по аналогии с написанным там кодом добавляете свой код
(7) При методе Закрыть(), вызывается процедура "ОбработкаОповещения" (можно почитать в синтаксис помощнике о ней), в ней есть 3 стандартных параметра, ИмяСобытия, Параметр, Источник. Нас интересуют Параметр - это то, что Вы передали при закрытии и Источник - это Ваша форма, откуда был передан параметр. Делаете проверку
Если Источник = [ВашаФорма] Тогда
...тут ваш код или лучше вызов отдельной процедуры с вашим кодом
КонецЕсли
Если Источник = [ВашаФорма] Тогда
...тут ваш код или лучше вызов отдельной процедуры с вашим кодом
КонецЕсли
Если Управляемые формы то данные хранить лучше в реквизитах объекта, тогда не придется таскать их отдельным кодом с клиента на сервер и обратно...
Они будут в таком варианте автоматически меняться, когда это необходимо...
Вот и меняйте такие данные в своей форме при условии что дополнительная форма принадлежит тому же документу, а основная форма также будет видеть прекрасно все изменения реквизитов объекта.
Если форма из внешней обработки, то при закрытии надо записать данные во временное хранилище и создать оповещение о закрытии этой формы.
А основная форма должна ловить это оповещение...
И при получении считывать данные из временного хранилища с дальнейшими действиями над полученными данными...
Они будут в таком варианте автоматически меняться, когда это необходимо...
Вот и меняйте такие данные в своей форме при условии что дополнительная форма принадлежит тому же документу, а основная форма также будет видеть прекрасно все изменения реквизитов объекта.
Если форма из внешней обработки, то при закрытии надо записать данные во временное хранилище и создать оповещение о закрытии этой формы.
А основная форма должна ловить это оповещение...
И при получении считывать данные из временного хранилища с дальнейшими действиями над полученными данными...
(3) "а основная форма также будет видеть прекрасно все изменения реквизитов объекта"
Боюсь, что основная форма не будет видеть эти изменения, т.к. УФ работает не напрямую с объектом, а с его имитацией, и чтобы загрузить изменения сделанные в другой форме, да ещё не получить при этом конфликт блокировок нужно изрядно попотеть
Боюсь, что основная форма не будет видеть эти изменения, т.к. УФ работает не напрямую с объектом, а с его имитацией, и чтобы загрузить изменения сделанные в другой форме, да ещё не получить при этом конфликт блокировок нужно изрядно попотеть
(3)
Необязательно. Достаточно передать саму открываемую форму в качестве дополнительного параметра в описание оповещения о закрытии. Тогда, после закрытия в процедуре, указанной для оповещения о закрытии, будет доступна закрываемая форма со всеми проделанными изменениями.
надо записать данные во временное хранилище
Необязательно. Достаточно передать саму открываемую форму в качестве дополнительного параметра в описание оповещения о закрытии. Тогда, после закрытия в процедуре, указанной для оповещения о закрытии, будет доступна закрываемая форма со всеми проделанными изменениями.
(14) Ну мы же не знаем , а что там эта форма будет менять? может таблицу значений в пару гигов....
Временное хранилище - универсальный вариант...
А для поменять 1 букву конечно есть частные случаи...
Но автор не удосужилась описать чего она там менять намерена...
Временное хранилище - универсальный вариант...
А для поменять 1 букву конечно есть частные случаи...
Но автор не удосужилась описать чего она там менять намерена...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот