Имя: Пароль:
1C
1С v8
Передача формы обработки с сервера на клиент
0 Сергиус
 
31.03.14
10:46
Можно ли так передавать форму? Если нет, то как тогда лучше - через ВременноеХранилище?

&НаКлиенте
Процедура ПолучитьФорму()
    #Если ВебКлиент ИЛИ ТонкийКлиент Тогда
    Форма = ПолучитьФормуНаСервере();
    #Иначе    
    Форма = Обработки.Обработка1.ПолучитьФорму();
    #КонецЕсли
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьФормуНаСервере()    
    Возврат Обработки.Обработка1.ПолучитьФорму();    
КонецФункции
1 Solemn
 
31.03.14
10:47
(0) Зачем тебе форма на сервере? Ты же ее не сможешь там открыть
2 Сергиус
 
31.03.14
10:49
Она мне там и не нужна..просто получаю ее и возвращаю для Тонкого и ВебКлиента..
3 Сергиус
 
31.03.14
10:50
+(2) Т.к. ругается на Переменная не определена (Обработки)
4 Сергиус
 
31.03.14
10:52
Как правильно в таком случае получать форму произвольной обработки(справочника, документа) для этих двух режимов(Тонкий клиент и Веб-клиент)?
5 banco
 
31.03.14
10:55
ПолучитьФорму("Обработки.Обработка1.Форма"), а лучше сразу
ОткрытьФорму("Обработки.Обработка1.Форма")
6 Сергиус
 
31.03.14
10:59
(5) Понял, спасибо.

Но вопрос насчет передачи формы все-таки остался. Каким способом(если действительно надо) это лучше всего делать? Через ВременноеХранилище или по-другому?
7 ДенисЧ
 
31.03.14
11:00
(6) Это делать не надо.
8 Сергиус
 
31.03.14
11:02
(7)Ясно.
9 Сергиус
 
31.03.14
11:19
Возник еще один вопрос - если для режимов ВебКлиент и ТонкийКлиент необходимо установить значение ПараметрыСеанса.Параметр1, то как это лучше сделать? Пытаюсь сделать так:

&НаСервереБезКонтекста
Процедура ПроцедураУстановкиПС(Значение)
  ПараметрыСеанса.Параметр1 = Значение;
КонецПроцедуры

Процедура МояПроцедура(Значение)
   #Если ВебКлиент ИЛИ ТонкийКлиент Тогда
       ПроцедураУстановкиПС(Значение);
   #Иначе
       ПараметрыСеанса.Параметр1 = Значение;
   #КонецЕсли    
КонецПроцедуры

Ругается на Процедура или функция с указанным именем не определена(ПроцедураУстановкиПС) - проверка для Тонкий клиент и Веб клиент. Как лучше добраться в данном случае до Параметры сеанса?
10 Сергиус
 
31.03.14
11:42
Почему не видна процедура ПроцедураУстановкиПС в данном случае? Это все находится в общем модуле, у модуля стоят галки: Клиент(управляемое приложение), Сервер, Внешнее соединение.
11 vmv
 
31.03.14
11:44
(10) без контекста
12 H A D G E H O G s
 
31.03.14
11:44
(10)

Модуль формы
  В модуле формы доступны директивы компиляции – &НаКлиенте, &НаСервере, &НаСервереБезКонтекста, &НаКлиентеНаСервереБезКонтекста.
Модуль команды
  В модуле команды доступны директивы компиляции – &НаКлиенте, &НаСервере, &НаКлиентеНаСервере.
Общий модуль
  В общем модуле доступны директивы компиляции – &НаКлиенте, &НаСервере.
13 Сергиус
 
31.03.14
11:48
Заменил &НаСервереБезКонтекста на &НаСервере - ошибка осталась. Куда еще можно копнуть?)
14 H A D G E H O G s
 
31.03.14
11:49
(13) В СП копай.
15 H A D G E H O G s
 
31.03.14
11:50
(13) В ОМ нельзя вызывать серверную процедуру с клиента в рамках одного (этого же) модуля
16 Ненавижу 1С
 
гуру
31.03.14
11:56
(15) печально
Ошибка? Это не ошибка, это системная функция.