|
Вызов функции ПолучитьФорму() | ☑ | ||
---|---|---|---|---|
0
phaz
14.02.14
✎
12:46
|
Приветствую!
Нашел достаточно много тем по этой функции на форуме, однако не смог решить свою проблему. Суть проблемы: В модуле документа есть процедура ОбработкаЗаполнения(), как понимаю она обрабатывается на сервере, в ней я получаю ссылку на документ и хочу открыть форму документа по полученной ссылке. Функция ПолучитьФорму() работает на клиенте, поэтому пихаю ее в экспортную процедуру общего модуля у которого в свойствах стоит галка "Клиент (управляемое приложение)". Но при попытке сохранить конфигурацию получаю ощибку: {Документ.УчетВремени.МодульОбъекта(23,3)}: Переменная не определена (ОбработкиОткрытияФорм) <<?>>ОбработкиОткрытияФорм.ОткрытьФормуДокументаУчетРабочегоВремени(ДокументОснование); (Проверка: Сервер) Что я делаю не так? |
|||
1
ДенисЧ
14.02.14
✎
12:47
|
Ты пытаешься открыть форму на сервере.
|
|||
2
phaz
14.02.14
✎
12:53
|
(1) Всмысле? я же написал:
Функция ПолучитьФорму() работает на клиенте, поэтому пихаю ее в экспортную процедуру общего модуля у которого в свойствах стоит галка "Клиент (управляемое приложение)" Или это не значит открыть на клиенте? Впрочем если я описываю процедуру &НаКлиенте в модуле документа то получаю ошибку: {Документ.УчетВремени.МодульОбъекта(23,3)}: Процедура или функция с указанным именем не определена (ОткрытьФормуДокументаУчетРабочегоВремени) <<?>>ОткрытьФормуДокументаУчетРабочегоВремени(РезультатПоиска); (Проверка: Сервер) |
|||
3
phaz
14.02.14
✎
13:22
|
up
|
|||
4
Maxus43
14.02.14
✎
13:23
|
нельзя с Сервера вызвать Клиент
|
|||
5
Maxus43
14.02.14
✎
13:24
|
Ну и форма открывается сама, при вводе на основании
|
|||
6
Сисой
14.02.14
✎
13:25
|
||||
7
Сисой
14.02.14
✎
13:26
|
Радченко, Хрусталева. Разработка управляемого интерфейса. Страница 368. Отрытие формы нового объекта
ОткрытьФорму("Справочник.Товары.Форма"); Можно передать данные заполнения например: Параметры = Новый Структура; Параметры.Вставить("ЭтоГруппа", Истина); ОткрытьФорму("Справочник.Товары.Форма", Параметры); Если обработка заполнения сложная, то нужно сделать так: Параметры = Новый Структура; ... заполняем параметры ОткрытьФорму("Справочник.Товары.Форма", Параметры); Далее в модуле объекта, в процедуре ОбработкаЗаполнения пишем СтандартнаяОбработка = Ложь; В той же процедуре есть параметр "ДанныеЗаполнения", в котором доступно все, что было указано в структуре "Параметры" метода "ОткрытьФорму". И только так. Метод "ПолучитьФорму" в этом случае использовать нельзя. Не поленитесь сделать замер производительности и сравнить затраченное время на "ПолучитьФорму" и "ОтрытьФорму". |
|||
8
phaz
14.02.14
✎
13:41
|
(7)Наверно, я не верно сформулировал задачу...
У меня из одного документа создается на основании другой документ. Если для документа основания уже когда либо был создан документ на его основе, то мне нужно: а)Обнаружить этот документ; б)Открыть форму документа по найденной ссылке. |
|||
9
phaz
14.02.14
✎
13:45
|
P.S. Поиск ссылки на объект я провожу в процедуре ОбработкаЗаполнения(), в качестве параметра поиска я использую ссылку передаваемую через "ДанныеЗаполнения".
|
|||
10
Defender aka LINN
14.02.14
✎
13:49
|
(8) Делай это в форме документа
|
|||
11
phaz
14.02.14
✎
13:54
|
(10) Я уже подумываю, что логичнее это сделать через регистр сведений подчиненный регистратору... А записи формировать через НаборЗаписей().
В любом случае, спасибо всем кто принял участие в обсуждении. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |