Как получить значение константы в модуле управляемого приложения? #623089


#0 by Lex_Liven
Нужно мне получить значение константы еще до открытия главного окна. В толстом клиенте (Модуль обычного приложения) проблем нет: А в тонком (Модуль управляемого приложения) такая конструкция не работает - не может найти объект "Константы". Перенос кода в функцию &НаСервере - тоже не помогает, говорит, не найдена функция. Какие-то еще варианты есть?
#1 by TheRockstar
Из модуля управляемого приложения вызвать клиентскую функцию общего модуля, а из нее уже серверную
#2 by Lex_Liven
10 минут на попробовать.
#3 by Агент Инфостарта
#4 by Ненавижу 1С
какие же они извращенцы
#5 by ТеньПустоты
о это я делал делаешь общий модуль. в нем экспортную функцию возвращающую значение константы а в модуле упр приложени я пишешь и тута действия в твоей константою КонецПроцедуры
#6 by Lex_Liven
{ОбщийМодуль.ОбщийМодульУправляемого.Модуль(21,10)}: Процедура или функция с указанным именем не определена (ОтказВЗапускеПриложенияСР)    Возврат <<?>>ОтказВЗапускеПриложенияСР; Читал. Теперь вы прочитайте внимательно шапку. Пункты про "НаКлиенте" и "НаСервере"
#7 by izekia
да не то слово, мне кажется это вполне можно было сделать неявно, уже надоело эти конструкции рисовать все равно большинство одинэсников пишущие на управляемых формах так далеки от мыслей об оптимизации, что даже забывают про тупой вызов без контекста, не говоря уже о более веселых вещах, типа таскания тз туда сюда
#8 by izekia
запросом не предлагать?
#9 by Lex_Liven
Запросы на клиенте не взлетают. А вызов серверной процедуры/функции - к тому же результату.
#10 by izekia
да уже понял, полностью код покажи в модулях?
#11 by Lex_Liven
Модуль "ОбщийМодульУправляемого" не глобальный, птички "Клиент (управляемое приложение)" и "Сервер" стоят. Модуль управляемого приложения
#12 by H A D G E H O G s
Тупой "вызов без контекста" никуа не дает преимуществ, если ты: 1) Не меняешь метаданные формы (а их лучше вообще не менять) 2) Не получаешь в контексте Объект из его отображения (РеквизитФормыВЗначение)
#13 by Lex_Liven
Это полный оффтоп, но преимущества преизрядные, поверьте. Если у вас есть реквизит формы типа "ТаблицаЗначений", например. "&НаСервереБезКонтекста" не погонит таблицу на сервер. Знаю, что это показатель неоптимальности формы, но что есть случаи.
#14 by izekia
с какого релиза началась оптимизация вызовов?
#15 by H A D G E H O G s
Когда таблички небольшие на это можно тупо забить и не посылать параметризированную процедурку. Вебсервер и Тонкий клиент нехило жмут траффик, а данных в форме в переводе на килобайты - мизер. А вот если меняешь хоть текст надписи в формочке - тогда да, тогда вся форма (все ее описание) похоже поползет на сервер синхронизироваться, тут уже сотни килобайт стандартной УФ реализации в УПП.
#16 by izekia
"вызов сервера" стоит? попробуй разделить модули? или явно прописать
#17 by Lex_Liven
стоит. Попробовал разделить - не видит серверную функцию.
#18 by Lex_Liven
Платформа 8.2.15.310. Режим совместимости не установлен, если это важно.
#19 by H A D G E H O G s
&НаСервере убрать. И читать СП
#20 by H A D G E H O G s
#21 by izekia
это не мешает а что в СП?
#22 by Lex_Liven
убирал. Начинает выполняться, похоже, на клиенте, и спотыкается на обращении к "Константы", потому что "КонстантаМенеджер", хоть зачитайся СП, недоступно на тонком клиенте.
#23 by H A D G E H O G s
Дай коннект
#24 by Lex_Liven
коннект куда? к базе? не дам. Какая информация интересует - скажу.
#25 by Leksus
Сделай общий модуль глобальным.
#26 by H A D G E H O G s
Все, увидел, почему у меня работало.
#27 by H A D G E H O G s
Надо разнести по 2 модулям.
#28 by H A D G E H O G s
Странно конечно, что из УМ приложения не видит серверную процедуру ОМ
#29 by Lex_Liven
не помогло. Не видит серверную. оба модуля "Сервер" И "Клиент"?
#30 by jenny_tea
Еще на сколько я помню на сервере не работает Предупреждение
#31 by H A D G E H O G s
Либо убрать галку "Клиент (управляемое приложение)" у ОМ
#32 by Lex_Liven
не работает. Это не важно, вопрос в другом. и вызывать из модуля приложения сразу серверную?
#33 by izekia
о точно поэтому она на сервере и не компилится
#34 by H A D G E H O G s
Да, сразу.
#35 by Lex_Liven
Взлетело, спасибо. Странно, что это нигде не указано.
#36 by H A D G E H O G s
Она компилиться и на сервере и на клиенте, просто УМ ломиться на клиентскую часть ОМ.
#37 by H A D G E H O G s
Тоже самое в модуле управляемых форм, там сначало надо перейти на сервер в самой форме, либо вызывать серверную процедуру ОМ, который только на сервере.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С