```1c
    &НаСервере
    Функция ПолучитьМакетНаСервере(ИмяМакета)
    ЭтотОбъект=РеквизитФормыВЗначение("Объект");
    Макет = ЭтотОбъект.ПолучитьМакет(ИмяМакета);
    Возврат Макет;
    КонецФункции
```

Синтаксис:
РеквизитФормыВЗначение(<ИмяРеквизита>, <Тип>)

Доступность:
Сервер, мобильное приложение(сервер).

Почему не работает конструкция ниже?

```1c
    &НаСервереБезКонтекста
    Функция ПолучитьМакетНаСервере(МойОбъект)
    Макет=РеквизитФормыВЗначение(МойОбъект).ПолучитьМакет("html");
    Возврат Макет;
    КонецФункции
```

Ошибка в РеквизитФормыВЗначение.
---
Примерно так:

```1c
    &НаСервереБезКонтекста
    Функция ПолучитьМакетНаСервере()
    Макет=Обработки.МояОбработка.ПолучитьМакет("html");
    Возврат Макет;
    КонецФункции
```
---
Почему не работает конструкция
Потому что это контекстный метод формы и не работает вне контекста.
СП:

ФормаКлиентскогоПриложения (ClientApplicationForm)
РеквизитФормыВЗначение (FormAttributeToValue)
---
Почему не работает конструкция
Потому что это контекстный метод формы и не работает вне контекста.
СП:

ФормаКлиентскогоПриложения (ClientApplicationForm)
РеквизитФормыВЗначение (FormAttributeToValue)
---
А, это на сервере формы (а не на сервере - сервере :) ), тогда можно оставить с директивой &НаСервере
Спасибо!
---
1С:Предприятие 8.3 (8.3.12.1685)
Можно скриншот СП ?
Не вижу у себя в хелпе строк

ФормаКлиентскогоПриложения (ClientApplicationForm)
РеквизитФормыВЗначение (FormAttributeToValue)
---
Спасибо, видимо на старых версиях другой СП.
---
Зачем вообще так делать?
Через менеджер можно получить макет.
---
Покажите пожалуйста пример.
У меня обработка. Открыть - Модуль Менеджера ?
Где и что писать?
---
Примерно так:

```1c
    &НаСервереБезКонтекста
    Функция ПолучитьМакетНаСервере()
    Макет=Обработки.МояОбработка.ПолучитьМакет("html");
    Возврат Макет;
    КонецФункции
```
---
Работает ваш вариант!
Спасибо, за помощь в оптимизации ))
---
у внешних обработок нет менеджера.
---
Это не внешняя обработка. Она внутри Кофигурации.
---
На сервере без контекста можно использовать ДанныеФормыВЗначение, вместо РеквизитФормыВЗначение.
Чтобы работал исходный вариант, надо так:

```1c
    &НаСервереБезКонтекста
    Функция ПолучитьМакетНаСервере(знач МойОбъект)
    Макет=ДанныеФормыВЗначение(МойОбъект, Тип("ОбработкаОбъект.МояОбработка")).ПолучитьМакет("html");
    Возврат Макет;
    КонецФункции
```
---
Можно сделать, чтобы код работал как для внутренней обработки, так и для внешней?
Или универсально не написать?
---
Можно попробовать так:

```1c
    &НаСервере
    Функция ПолучитьМакетНаСервере()
    Макет=РеквизитФормыВЗначение("Объект").ПолучитьМакет("html");
    Возврат Макет;
    КонецФункции
```
---
Спасибо за вопрос! Я сразу задумался ))

Работаю с Word-документом.
Чтобы он при открытии не тормозил (он невидимый всегда),
я при старте 1с загоняю его в оперативную память (на клиенте - пользователю).
В процессе работы, каждый пользователь 1с много раз его дёргает (его функции)
А когда закрывается 1с, я убиваю word-документ из оперативной памяти.

Т.е. у меня глобальная переменная на Клиенте.

Цель: сделать так, чтобы word быстро подгружался и не тормозил.

(можно использовать word на сервере 1с, но я использую на компах пользователей)

Соответственно, из-за глобальной переменной на Клиенте, я не могу сильно много перенести в Модуль объекта (при выполнении кода).
---
Интересный способ.