РеквизитФормыВЗначение &НаСервереБезКонтекста

1. user-z99999 68 08.02.22 15:51 Сейчас в теме
 &НаСервере
Функция ПолучитьМакетНаСервере(ИмяМакета)
    ЭтотОбъект=РеквизитФормыВЗначение("Объект");
    Макет = ЭтотОбъект.ПолучитьМакет(ИмяМакета); 
    Возврат Макет;
КонецФункции   


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

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

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


Ошибка в РеквизитФормыВЗначение.
По теме из базы знаний
Найденные решения
10. Sashares 35 08.02.22 16:15 Сейчас в теме
(7)Примерно так:

&НаСервереБезКонтекста
Функция ПолучитьМакетНаСервере()
   Макет=Обработки.МояОбработка.ПолучитьМакет("html"); 
    Возврат Макет;
КонецФункции  
sondarium; user-z99999; +2 Ответить
2. spacecraft 08.02.22 16:03 Сейчас в теме
(1)
Почему не работает конструкция

Потому что это контекстный метод формы и не работает вне контекста.
СП:

ФормаКлиентскогоПриложения (ClientApplicationForm)
РеквизитФормыВЗначение (FormAttributeToValue)
user-z99999; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 08.02.22 16:03 Сейчас в теме
(1)
Почему не работает конструкция

Потому что это контекстный метод формы и не работает вне контекста.
СП:

ФормаКлиентскогоПриложения (ClientApplicationForm)
РеквизитФормыВЗначение (FormAttributeToValue)
user-z99999; +1 Ответить
3. user-z99999 68 08.02.22 16:05 Сейчас в теме
(2)
А, это на сервере формы (а не на сервере - сервере :) ), тогда можно оставить с директивой &НаСервере
Спасибо!
4. user-z99999 68 08.02.22 16:10 Сейчас в теме
(2)
1С:Предприятие 8.3 (8.3.12.1685)
Можно скриншот СП ?
Не вижу у себя в хелпе строк

ФормаКлиентскогоПриложения (ClientApplicationForm)
РеквизитФормыВЗначение (FormAttributeToValue)
6. spacecraft 08.02.22 16:12 Сейчас в теме
(4)
Прикрепленные файлы:
9. user-z99999 68 08.02.22 16:15 Сейчас в теме
(6)
Спасибо, видимо на старых версиях другой СП.
5. Sashares 35 08.02.22 16:11 Сейчас в теме
(1)Зачем вообще так делать?
Через менеджер можно получить макет.
7. user-z99999 68 08.02.22 16:14 Сейчас в теме
(5)
Покажите пожалуйста пример.
У меня обработка. Открыть - Модуль Менеджера ?
Где и что писать?
10. Sashares 35 08.02.22 16:15 Сейчас в теме
(7)Примерно так:

&НаСервереБезКонтекста
Функция ПолучитьМакетНаСервере()
   Макет=Обработки.МояОбработка.ПолучитьМакет("html"); 
    Возврат Макет;
КонецФункции  
sondarium; user-z99999; +2 Ответить
12. user-z99999 68 08.02.22 16:19 Сейчас в теме
(10)
Работает ваш вариант!
Спасибо, за помощь в оптимизации ))
8. spacecraft 08.02.22 16:15 Сейчас в теме
(5) у внешних обработок нет менеджера.
11. user-z99999 68 08.02.22 16:16 Сейчас в теме
(8)
Это не внешняя обработка. Она внутри Кофигурации.
13. Sashares 35 08.02.22 16:19 Сейчас в теме
(1)На сервере без контекста можно использовать ДанныеФормыВЗначение, вместо РеквизитФормыВЗначение.
Чтобы работал исходный вариант, надо так:

&НаСервереБезКонтекста
Функция ПолучитьМакетНаСервере(знач МойОбъект)
   Макет=ДанныеФормыВЗначение(МойОбъект, Тип("ОбработкаОбъект.МояОбработка")).ПолучитьМакет("html"); 
    Возврат Макет;
КонецФункции
user-z99999; +1 Ответить
14. user-z99999 68 08.02.22 16:31 Сейчас в теме
(13)
Можно сделать, чтобы код работал как для внутренней обработки, так и для внешней?
Или универсально не написать?
15. Sashares 35 08.02.22 16:40 Сейчас в теме
(14)Можно попробовать так:

&НаСервере
Функция ПолучитьМакетНаСервере()
   Макет=РеквизитФормыВЗначение("Объект").ПолучитьМакет("html"); 
    Возврат Макет;
КонецФункции
16. user-z99999 68 08.02.22 16:51 Сейчас в теме
(15)
Спасибо за вопрос! Я сразу задумался ))

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

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

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

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

Соответственно, из-за глобальной переменной на Клиенте, я не могу сильно много перенести в Модуль объекта (при выполнении кода).
17. Sashares 35 08.02.22 16:54 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот