Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
04 июл 2022, 09:46

Подмена формы при открытии

Автор Фома, 23 июн 2022, 09:25

0 Пользователей и 1 гость просматривают эту тему.

Фома

Здравствуйте!
Подскажите, пожалуйста, могу ли я подменить форму документа, которая открывается по кнопке из таблицы?
Т.е. я выбираю из списка документ в ячейке таблицы, там есть стандартная кнопка открытия, можно отредактировать выбранный документ и сохранить изменения. Вот можно как-то открывать не основную форму документа, а специально для этого созданную?
ОбработкаПолученияФормы пишется в модуле менеджера, а процедуры обработки нажатия - в модуле формы. Мне как-то из одного модуля передать в другой?
Я совсем не профи и не понимаю. Может, в стандартных объектах можно где-то подглядеть хотя бы?

Фома

Платформа 8.3.20, конфигурация ERP 2.2.2, если это важно.

LexaK

Фома,
Цитироватьмогу ли я подменить форму документа
конечно можете, вариантов великое множество.
вот один из них, когда открывается документ (любой объект имеющий формы)
управление передается на форму заданную как основная, в ней есть и отрабатывают несколько системных событий
ПриСозданииНаСервере..., ПриОткрытии... и др.
для данной задачи используется процедура ПриОткрытии
внутри вы анализируете какие-то свои условия и решаете что нужна не текущая форма а специализированная
и выполняете следующие код (это пример!)
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Если НужнаДругаяФорма() Тогда
        ЭтаФорма.Закрыть(); //закрываем текущую
        ОткрытьФорму(...);//а этой командой открываете нужную
    КонецЕсли;
КонецПроцедуры


 
если помогло нажмите: Спасибо!

Фома

LexaK, о, большое спасибо, что ответили!
Скажите, пожалуйста, в моём случае, получается, этим самым условием открытия альтернативной формы будет документ, из которого форма вызывается, правильно? Это... хм... владелец? Я посмотрю синтаксис в помощнике, только подскажите, что искать, если не сложно.
В других случаях мне нужна основная. Простое "открыть форму такую-то" открывало мне нужную форму, но для нового документа, а не для выбранного в ячейке.

LexaK

Цитата: Фома от 23 июн 2022, 11:43Скажите, пожалуйста, в моём случае, получается, этим самым условием открытия альтернативной формы будет документ, из которого форма вызывается, правильно? Это... хм... владелец? Я посмотрю синтаксис в помощнике, только подскажите, что искать, если не сложно.
В других случаях мне нужна основная. Простое "открыть форму такую-то" открывало мне нужную форму, но для нового документа, а не для выбранного в ячейке.

да, все это можно выполнить и проверить!
при открытии формы всегда можно проверить новый это документ или уже существующий открывается
например (как правило, если принудительно не задано)
Если Объект.Ссылка.Пустая() = Истина Тогда  -  то это новый документа

вот самый хороший совет! найдете пару учебных, тестовых типовых баз, там все это уже есть
смотрите как сделано, пробуйте применить под свои задачи. 
если помогло нажмите: Спасибо!

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск