|
Переменные в модуле формы | ☑ | ||
---|---|---|---|---|
0
6u6uroH4uK
06.07.17
✎
09:39
|
Добрый день! Подскажите в чем беда, а то уже в полном ступоре. Есть переменные
Перем ДокМенееНормы Экспорт; Перем ДокВышеНормы Экспорт; Заполняю их в процедуре &НаСервере Процедура ЗаполнитьОценки() //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЦелиПремийОценки.Ссылка КАК Ссылка, | ЦелиПремийОценки.Оценка КАК Оценка, | ЦелиПремийОценки.Значение КАК Значение |ИЗ | Справочник.ЦелиПремий.Оценки КАК ЦелиПремийОценки"; РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.Ссылка = Справочники.ЦелиПремий.КачествоВеденияДокументооборота И Выборка.Оценка = Перечисления.Оценки.ВышеНормы Тогда ДокВышеНормы = Выборка.Значение; ИначеЕсли Выборка.Ссылка = Справочники.ЦелиПремий.КачествоВеденияДокументооборота И Выборка.Оценка = Перечисления.Оценки.НижеНормы Тогда ДокМенееНормы = Выборка.Значение; КонецЕсли; КонецЦикла; //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА КонецПроцедуры при отладке переменные заполняются и все хорошо, после конца процедуры переменные сбрасываются в неопределено. |
|||
1
Timon1405
06.07.17
✎
09:41
|
(0) для этих целей используйте реквизиты формы или ключевые параметры формы
|
|||
2
Cyberhawk
06.07.17
✎
09:41
|
"после конца процедуры" // Наверное, потому что ты переходишь на клиент
|
|||
3
butterbean
06.07.17
✎
09:42
|
(0) твои переменные на клиенте, а ты на сервере с ними играешься
|
|||
4
FIXXXL
06.07.17
✎
09:42
|
(0) в управлялках переменные формы живут только на клиенте
|
|||
5
Любопытная
06.07.17
✎
09:45
|
(3) переменные как раз на сервере, т.к. у них директивы не указаны.
|
|||
6
6u6uroH4uK
06.07.17
✎
09:45
|
(1) (2) (3) (4) Ок, спасибо огромное, буду использовать реквизиты формы.
|
|||
7
FIXXXL
06.07.17
✎
10:49
|
для ясности (6)
Можно пытаться в одной серверной процедуре устанавливать значение этой переменной и читать ее в другой. Но так получится только в том случае, если все эти процедуры выполняются в одном серверном вызове. Если серверные вызовы разные, переменная будет инициализироваться каждый раз заново. В то же время на клиенте можно использовать переменные модуля для хранения значений на все время жизни формы, но для этого при объявлении таких переменных обязательно должна быть указана директива компиляции &НаКлиенте. Передавать значения с клиента на сервер с помощью переменных модуля формы нельзя. Хранить значения на сервере в переменных модуля также не получится. Для этого нужно использовать либо реквизиты формы (и выполнять контекстные серверные вызовы), либо передавать значения в параметрах вызываемой процедуры/функции. http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=562822 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |