Имя: Пароль:
1C
1С v8
Открыть форму списка с отбором
0 Bolik1979
 
08.10.14
14:35
Можно ли открыть неуправлямую форма списка с отбором при помощи метода ОткрытьФорму()?

ПараметрыФормы = Новый Структура;
        ПараметрыФормы.Вставить("Отбор", Новый Структура("Ссылка", МассивСсылок));
        ОткрытьФорму(ИмчФормы, ПараметрыФормы);

Не работает
1 Asmody
 
08.10.14
14:39
В обычных формах делается наоборот — сначала получаешь форму, а потом накатываешь отбор.
2 Bolik1979
 
08.10.14
14:41
(1) Это я в курсе. Только вроде рекомендовалось пользоваться методом ОткрытьФорму(), а не получать, а затем открывать
3 Euguln
 
08.10.14
14:54
(2) Это рекомендация для управляемых форм.
4 Bolik1979
 
08.10.14
14:57
(3) Это уж тогда не рекомендация, а правило. По другому на управляемых и не откроешь форму. В обычных формах пользовался ОткрытьФорму(). Все устраивало, пока не столкнулся с сабжем )
5 Euguln
 
08.10.14
14:58
(4)>>По другому на управляемых и не откроешь форму.
Неправда.
6 Bolik1979
 
08.10.14
15:05
(5) Я другого способа не знаю ( Какой еще есть?
7 kosts
 
08.10.14
15:16
При открытии в самой форме установить отбор
8 Defender aka LINN
 
08.10.14
15:22
(6) Ты не поверишь...
9 Bolik1979
 
08.10.14
15:55
(8) Проверю и поверю ) Ну так что за секретный способ открыть упр форму? )
10 bolobol
 
08.10.14
16:07
+(9) ...с возможностью наложения отбора
11 Defender aka LINN
 
08.10.14
16:33
(9) ПолучитьФорму()
ВНЕЗАПНО, да?
12 Bolik1979
 
08.10.14
16:59
(11) Это конечно заработает в толстом клиенте ) Просто управляемая форма больше подразумевает работу в тонком )
13 Defender aka LINN
 
08.10.14
17:02
(12) Купи у @ДениЧ СП

Глобальный контекст (Global context)
ПолучитьФорму (GetForm)
Синтаксис:

ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)
Параметры:

<ИмяФормы> (обязательный)

Тип: Строка.
Имя формы. Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта", "ОбщаяФорма.ФормаСохраненияФайла") или как полный путь к прикладному объекту, дополненный именем формы по умолчанию (например, "Справочник.Товары.ФормаВыбора").
Имена форм по умолчанию:
ФормаОбъекта (ObjectForm) - форма объекта по умолчанию;
ФормаГруппы (FolderForm) - форма группы по умолчанию;
ФормаЗаписи (RecordForm) - форма записи регистра по умолчанию;
ФормаСписка (ListForm) - форма списка по умолчанию;
ФормаВыбора (ChoiceForm) - форма выбора по умолчанию;
ФормаВыбораГруппы (FolderChoiceForm) - форма выбора группы по умолчанию;
ФормаКонстант (ConstantsForm) - форма констант по умолчанию для обычного режима, установленная как форма констант для конфигурации;
Форма (Form) - форма константы, отчета и обработки по умолчанию;
ОбщаяФорма (CommonForm) - общая форма;
ФормаНастроек (SettingsForm) - форма настроек отчета по умолчанию;
ФормаЗагрузки (LoadForm) - форма загрузки настроек;
ФормаСохранения (SaveForm) - форма сохранения настроек;
ФормаВарианта (VariantForm) - форма редактирования варианта отчета;
ФормаЗагрузкиПользовательскихНастроекОтчетов (ReportUserSettingsLoadForm) - форма загрузки настроек отчета;
ФормаСохраненияПользовательскихНастроекОтчетов (ReportUserSettingsSaveForm) - форма сохранения настроек отчета;
ФормаЗагрузкиВариантовОтчетов (ReportVariantsLoadForm) - форма загрузки варианта отчета;
ФормаСохраненияВариантовОтчетов (ReportVariantsSaveForm) - форма сохранения варианта отчета;
ФормаЗагрузкиНастроекДанныхФорм (FormDataSettingsLoadForm) - форма загрузки настроек данных форм;
ФормаСохраненияНастроекДанныхФорм (FormDataSettingsSaveForm) - форма сохранения настроек данных форм.
Например, для получения общей формы "ОбщиеНастройки" следует в модуле написать код:
Форма = ПолучитьФорму("ОбщаяФорма.ОбщиеНастройки");


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

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


<Владелец> (необязательный)

Владелец формы - форма или элемент управления другой формы.
<Уникальность> (необязательный)

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

Тип: ОкноКлиентскогоПриложения; ВариантОткрытияОкна.
Окно приложения, в котором будет открыта форма.
Применимо только для управляемой формы. Окном может быть только основное окно приложения или вспомогательное окно формы.
Если указан тип ВариантОткрытияОкна, окно формы будет создано согласно выбранному варианту.
Возвращаемое значение:

Тип: Форма; УправляемаяФорма.

Описание:

Получает форму или управляемую форму. Перед получением осуществляется поиск уже открытой такой же формы.

14 Bolik1979
 
08.10.14
17:05
(13) Забыл про глобальный метод ) Спасибо )
15 bolobol
 
08.10.14
17:10
+(14) И я. ... ... не знал))
16 Krolik Bezobraznik
 
08.10.14
17:16
(10) К примеру если речь идет о управляемой форме списка справочника то можно в параметры вызова формы передать значения отбора.
На самой форме у реквизита список настроить произвольный запрос с условием. А в форме списка в процедуре ПриСОзданииНаСервере присвоить из параметров формы значение отбора переменным запроса. И тогда при открытии формы списка справочника отбор будет сразу производиться.
Закон Брукера: Даже маленькая практика стоит большой теории.