![]() |
![]() |
![]() |
|
8.2: как программно открыть форму редактирования РС? | ☑ | ||
---|---|---|---|---|
0
r_i_n_i_k
25.07.12
✎
12:10
|
вот такой вопрос)
получаю менеджер записи на сервере, а открыть форму не могу, т.к. не клиент.. на клиенте получить менеджер записи тоже не могу, ругается.. как быть? |
|||
1
AaNnDdRrEeYy
25.07.12
✎
12:14
|
РегистрСведенийМенеджерЗаписи.<Имя регистра сведений> (InformationRegisterRecordManager.<Имя регистра сведений>)
ПолучитьФорму (GetForm) Синтаксис: ПолучитьФорму(<Форма>, <Владелец>, <КлючУникальности>) Параметры: <Форма> (необязательный) Тип: Строка; ОбъектМетаданных: Форма . Имя формы, как оно задано в конфигураторе, или объект описания метаданного требуемой формы. Если параметр не указан, то используется основная форма, заданная в конфигураторе. <Владелец> (необязательный) Тип: Форма; Элемент управления. Объект, который будет являться владельцем открываемой формы. <КлючУникальности> (необязательный) Тип: Произвольный. В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. При поиске учитываются значения свойств открытых форм соответствующим значениям параметров метода. Если найдена открытая форма (по совпадению всех параметров), то она будет возвращена вместо новой формы. Если из некой формы (один и тот же владелец) требуется открывать новые экземпляры другой формы, то при каждом вызове метода значение данного параметра должно быть уникально (в рамках соответствующих значений свойств открытых форм). Значение параметра присваивается свойству открываемой формы КлючУникальности. Следует учитывать, что при получении формы из "объекта" система получает форму для конкретного экземпляра объекта с учетом совокупности переданных параметров, в то время как для "ссылки" всегда существует только один объект в базе данных и форма получается одна (для одинаковой совокупности параметров). Возвращаемое значение: Тип: Форма. Описание: Получает форму записи регистра сведений. Доступность: Толстый клиент. Пример: Курс.ПолучитьФорму().Открыть(); |
|||
2
r_i_n_i_k
25.07.12
✎
12:15
|
а нет толстого клиента, есть только сервер и тонкий клиент
|
|||
3
AaNnDdRrEeYy
25.07.12
✎
12:15
|
+(2) на тонком только кустарная форма с заполнением реквизитов.
|
|||
4
r_i_n_i_k
25.07.12
✎
12:20
|
(3) к (1)
а как получить форму программно на клиенте, не обращаясь к серверу? |
|||
5
AaNnDdRrEeYy
25.07.12
✎
12:23
|
форма = ПолучитьФорму(Имя,параметры,владелец)
Форма.Открыть(); или в одну строчку ОткрытьФорму(ИмяФормы, параметы, владелец); |
|||
6
r_i_n_i_k
25.07.12
✎
12:28
|
допустим так
Форма = ПолучитьФорму("РегистрСведений.Заметки.ФормаЗаписи", Новый Структура("УИД", Расшифровка)); "УИД" - есть такое и измерение и параметр формы.. открывается новая форма...( |
|||
7
AaNnDdRrEeYy
25.07.12
✎
12:33
|
Для открытия формы сушествуюшего есть параметр ключ
Форма = ПолучитьФорму("РегистрСведений.Заметки.ФормаЗаписи", Новый Структура("Ключ", Возможно можно передать набор записей)); При создании формы на сервере посмотри в отладчике какой тип у параметра ключ. |
|||
8
AaNnDdRrEeYy
25.07.12
✎
12:39
|
Вот так надо
ЗначенияКлюча = Новый Структура; ЗначенияКлюча.Вставить("ИмяИзмерения",ЗначениеИзмерения);//обязательно указать все измерения КлючЗаписи = Новый РегистрСведенийКлючЗаписи.Заметки(ЗначенияКлюча); ОткрытьФорму("РегистрСведений.Заметки.ФормаЗаписи", Новый Структура("Ключ", КлючЗаписи )); |
|||
9
r_i_n_i_k
25.07.12
✎
12:59
|
(7) спасибо! получил ключ, передал его и все открылось!
|
|||
10
r_i_n_i_k
25.07.12
✎
13:00
|
только я делал не через конструктор "Новый", т.к. в контесте не было "РегистрСведенийКлючЗаписи", а делал через СоздатьКлючЗаписи(ЗначениеКлюча), спасибо)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |