Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Управляемые формы. УП. Как переключаться между разными формами внешней обработки?

Управляемые формы. УП. Как переключаться между разными формами внешней обработки?
Я
   Родом из детства
 
15.07.21 - 18:51
Ранее не почти не имел дела с управляемыми формами. Имеется внешняя обработка. В ней несколько форм. По нажатию на кнопку на форме нужно открыть другую форму. Но как это сделать я не понимаю.
Пробовал так:
ОткрытьФорму("ИмяФормы", Параметры);
Возвращает ошибку. Видимо поиск сначала идет не внутри обработки. Заранее спасибо за ответы
   ДенисЧ
 
1 - 15.07.21 - 18:53
ОткрытьФорму("ВнешняяОбработка.ТвояОбработка.Форма.Форма"...);
   Родом из детства
 
2 - 15.07.21 - 18:56
(1) А нужно добавлять её для этого во внешние обработки?
   Родом из детства
 
3 - 15.07.21 - 18:58
Имя обработки: ЖурналЗаказов
Имя формы в обработке: РулоннаяМашина
Вызываю так:
ОткрытьФорму("ВнешняяОбработка.ЖурналЗаказов.РулоннаяМашина");
Падает в ошибку(
   Кулибин
 
4 - 15.07.21 - 19:14
Форму забыл перед Рулонными
   ДедМорроз
 
5 - 16.07.21 - 00:41
Потом еще будет неожиданность,что у каждой формы своя версия обработки,и данные из одной формы в другую не попадают.
   Родом из детства
 
6 - 16.07.21 - 10:24
(5) Вот и получается все как-то неочень. Может, поделитесь правильным алгоритмом работы с формами и обменом данными между ними во внешних обработках? В нете, обычно, гайды о том, как добавить внешнюю обработку(
   Родом из детства
 
7 - 16.07.21 - 10:25
Если брать внешнюю обработку, как экземпляр класса. То нужно обращаться к формам этого экземпляра, а не создавать новые. Однако, не могу понять, в каком месте я могу к этому экземпляру обратиться
   ДенисЧ
 
8 - 16.07.21 - 10:32
Не надо тянуть в 1с оопшные привычки...
   Родом из детства
 
9 - 16.07.21 - 10:34
Или кейс, когда у меня нет реквизитов форм. То есть они обращаются к реквизитам обработки. Тогда, при открытии новой формы, она будет обращаться к реквизитам не моей обработки, а к только что созданной. Получается, при открытии формы, нужно сначала передавать ей необходимые реквизиты с обработки-владельца. Затем, в обработчике создания формы назначать эти параметры реквизитам новой обработки и к ним обращаться? как-то непонятно
   Родом из детства
 
10 - 16.07.21 - 10:35
(8) Да из ООПшных привычек у меня вуз только:) Могу и в таких утверждениях ошибаться. Просто не могу понять механику
   ptiz
 
11 - 16.07.21 - 10:37
(0) С УФ не работаю , но 5 миинут хватило, чтобы разобраться.
    ИмяФормыДляОткрытия = СтрЗаменить(ЭтаФорма.ИмяФормы, "Форма1", "Форма2");
    ОткрытьФорму(ИмяФормыДляОткрытия);
   Родом из детства
 
12 - 16.07.21 - 10:37
Да и откуда вообще 1сина узнает, какую внешнюю обработку я хочу открыть. Если я открываю их через файл-открыть(без добавления). Логичнее было тогда прописывать в путь открытия формы (ОткрытьФорму(путь)) полный адрес расположения файла. Вдруг у меня есть две одноименные обработки
   ptiz
 
13 - 16.07.21 - 10:42
Кстати, зря они ЭтаФорма сделали устаревшим. Каким еще образом можно все свойства формы посмотреть в отладчике?
   lodger
 
14 - 16.07.21 - 10:48
(13) ЭтотОбъект?
   ptiz
 
15 - 16.07.21 - 10:54
(14) Действительно. То же самое выдаёт.
   lodger
 
16 - 16.07.21 - 11:07
(15) унификация обращения к текущему объекту же.
   ДедМорроз
 
17 - 16.07.21 - 22:28
Так они ЭтаФорма переименовали в ЭтотОбъект.

Ну и еще,если очень хочется обмена между формами,то в клиентской переменной сохраняется указатель,полученный через открыть форму,а в самой форме экспортная процедура и ее можно вызывать через указатель. Плюс этого метода в том,что все на клиенте,и сервер не дергается вообще.
   МимохожийОднако
 
18 - 17.07.21 - 00:04
Проще всё сделать в одной форме со сменой видимости страниц или групп по необходимости

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.