Имя: Пароль:
1C
 
Как из основной формы обработки (внешней) открыть её произвольную форму ?
0 ll13
 
12.11.09
23:01
Сабж+
Как из основной формы обработки открыть произвольную форму этой же обработки (зная имя формы) ?
2 Федя Тяпкин
 
12.11.09
23:04
Форма = ЭтотОбъект.ПолучитьФорму("Форма");
Форма.Открыть();
3 ll13
 
12.11.09
23:09
(2) Смотрите секцию...
В Управляемой форме 8.2 ? Если бы )
4 Федя Тяпкин
 
12.11.09
23:10
сорри не заметил. ох уж эти управляемые формы
5 NcSteel
 
12.11.09
23:14
Глобальный контекст.ПолучитьФорму (Global context.GetForm)
Глобальный контекст (Global context)
ПолучитьФорму (GetForm)
Синтаксис:
ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)
Параметры:
<ИмяФормы> (обязательный)
Тип: Строка. Имя формы. Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта", "ОбщаяФорма.ФормаСохраненияФайла") или как полный путь к прикладному объекту, дополненный именем формы по умолчанию (например, "Справочник.Товары.ФормаВыбора").
Имена форм по умолчанию:
ФормаОбъекта (ObjectForm) - форма объекта по умолчанию;
ФормаГруппы (FolderForm) - форма группы по умолчанию;
ФормаЗаписи (RecordForm) - форма записи регистра по умолчанию;
ФормаСписка (ListForm) - форма списка по умолчанию;
ФормаВыбора (ChoiceForm) - форма выбора по умолчанию;
ФормаВыбораГруппы (FolderChoiceForm) - форма выбора группы по умолчанию;
ФормаКонстант (ConstantsForm) - форма констант по умолчанию для обычного режима, установленная как форма констант для конфигурации;
Форма (Form) - форма константы, отчета и обработки по умолчанию;
ОбщаяФорма (CommonForm) - общая форма;
ФормаНастроек (SettingsForm) - форма настроек отчета по умолчанию;
ФормаЗагрузки (LoadForm) - форма загрузки настроек;
ФормаСохранения (SaveForm) - форма сохранения настроек;
ФормаВарианта (VariantForm) - форма редактирования варианта отчета;
ФормаЗагрузкиПользовательскихНастроекОтчетов (ReportUserSettingsLoadForm) - форма загрузки настроек отчета;
ФормаСохраненияПользовательскихНастроекОтчетов (ReportUserSettingsSaveForm) - форма сохранения настроек отчета;
ФормаЗагрузкиВариантовОтчетов (ReportVariantsLoadForm) - форма загрузки варианта отчета;
ФормаСохраненияВариантовОтчетов (ReportVariantsSaveForm) - форма сохранения варианта отчета;
ФормаЗагрузкиНастроекДанныхФорм (FormDataSettingsLoadForm) - форма загрузки настроек данных форм;
ФормаСохраненияНастроекДанныхФорм (FormDataSettingsSaveForm) - форма сохранения настроек данных форм.
Например, для получения общей формы "ОбщиеНастройки" следует в модуле написать код:
} Форма = ПолучитьФорму("ОбщаяФорма.ОбщиеНастройки");

}
Имена ФормаЗагрузкиПользовательскихНастроекОтчетов, ФормаСохраненияПользовательскихНастроекОтчетов, ФормаЗагрузкиВариантовОтчетов, ФормаСохраненияВариантовОтчетов, ФормаЗагрузкиНастроекДанныхФорм и ФормаСохраненияНастроекДанныхФорм нужно использовать без имени объектов метаданных.
<Параметры> (необязательный)
Тип: Структура. Параметры формы. Ключ структуры - имя параметра, а значение - значение параметра формы. Имя элемента должно совпадать с именем параметра структуры.
}П = Новый Структура("Ключ", Поставщик);
Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П);
Форма.Открыть();


}
<Владелец> (необязательный)
Владелец формы - форма или элемент управления другой формы.
<Уникальность> (необязательный)
Тип: Произвольный. В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. Если будет найдена форма с таким же ключом уникальности, вместо открытия новой формы будет активизирована найденная форма.
Ложь - искать форму с ключом уникальности по умолчанию, Истина - не искать форму вообще, любое другое значение устанавливает ключ уникальности, по которому будет произведен поиск.
Значение по умолчанию: Ложь
<Окно> (необязательный)
Тип: ОкноКлиентскогоПриложения. Окно приложения, в котором будет открыта форма.
Применимо только для управляемой формы. Окном может быть только основное окно приложения или вспомогательное окно формы.
Возвращаемое значение:
Тип: Форма; УправляемаяФорма.
Описание:
Получает форму или управляемую форму. Перед получением осуществляется поиск уже открытой такой же формы.
Поиск осуществляется по типу формы, значениям ключевых параметров формы, владельцу формы, пользовательскому ключу уникальности.
Если в параметре <Уникальность> передано значение Истина, то поиск уже открытых форм не осуществляется.

Доступность:
Тонкий клиент, веб-клиент, толстый клиент.
Вызов метода выполняет обращение к серверу.

Примечание:
В тонком и веб-клиенте получает только управляемую форму.
См. также:
Глобальный контекст, метод ОткрытьФорму
Глобальный контекст, метод ОткрытьФормуМодально
Глобальный контекст, метод ПолучитьОбщуюФорму
6 ll13
 
12.11.09
23:21
(5) ..."Имя формы. Образуется как полный путь к объекту метаданных"...
А какое имя должно быть у формы ВНЕШНЕЙ обработки ?
7 NcSteel
 
12.11.09
23:28
(6) Меняй логику.
8 ll13
 
12.11.09
23:40
(7) А зачем же её менять то ?
Внешние обработки очень удобны именно для разработчика, для отладки кода, потому как не надо постоянно перезапускать саму 1С.
В УП 8.2 никаких ограничений на внешние обработки нет, а следовательно должен быть способ открывать из основной формы внешней обработки другие её формы. Не так ли ?
9 NcSteel
 
12.11.09
23:46
(8) Полазил по СП не нашел способа , боюсь что нет. Это первый релиз так что не все еще реализовано.
10 ll13
 
12.11.09
23:49
(9) Я облазил всю документацию, и не нашел способа ...(
хотя быть должен, не могли же такой косяк оставить в релизе ...
12 Dimma
 
13.11.09
09:20
(10) В 8.2 Внешние обработки есть только в толстом клиенте
13 NcSteel
 
13.11.09
09:25
(12) Видел как люди извращались и открывали внешние .
14 Dimma
 
13.11.09
10:31
(13)  ну только если попробовать программно вызвать? Или как они извернулись?
15 Mort
 
13.11.09
10:36
16 ll13
 
13.11.09
10:51
(12) "В 8.2 Внешние обработки есть только в толстом клиенте" ...
Да вы что ? Правда ?

Внешние обработки без проблем работают, и в тонком клиенте, и веб-клиенте...
17 almar
 
13.11.09
10:54
ВО=ВнешниеОбработки.Создать("C:\Рассылка.epf");
Форма=ВО.ПолучитьФорму("Мэйлы");
18 Mort
 
13.11.09
11:08
(17) первая строка должна выполняться на сервере, а вторая на нем исполняться не может.
19 Dimma
 
13.11.09
11:22
(16)  Пример в студию!
20 ll13
 
13.11.09
11:30
(19) http://demo-ma.1c.ru/demo_ma/ru/
Можете загрузить туда любую свою ВнешнююОбработку, естественно управляемую.
А можете мою - ловите, отправил на мыло обработку ))
21 Mort
 
13.11.09
11:35
(20) У тебя в отбработке открывается другая форма обработки?
22 ll13
 
13.11.09
11:39
(21) Нет не открывается.
Это пример для уважаемого (12), который утверждает - "В 8.2 Внешние обработки есть только в толстом клиенте"  ...
23 Dimma
 
13.11.09
13:08
(20) Да работает. Мои извинения.