Имя: Пароль:
1C
1С v8
Вопрос по времени жизни переменной модуля УФ
0 simol
 
09.02.12
16:32
Имею код:

&НаСервере
Перем ТаблицаРезервов;

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   ТаблицаРезервов = Новый ТаблицаЗначений;
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   Сообщить(ПолучитьТипПеременной());
КонецПроцедуры

&НаСервере
Функция ПолучитьТипПеременной()
   Возврат Строка(ТипЗнч(ТаблицаРезервов))    
КонецФункции    


При открытии формы получаю сообщение:
"Не определено"

Почему ПриСозданииНаСервере не сменило значение переменной?
1 simol
 
09.02.12
16:33
Проверяю на файловой базе
2 acsent
 
09.02.12
16:34
на сервере нет переменных, юзай временное хранилище
3 simol
 
09.02.12
16:36
(2)"временное хранилище" - что имелось в виду?
4 Stepa86
 
09.02.12
16:36
живет один вызов
5 Stepa86
 
09.02.12
16:37
чем не нравиться реквизит формы типа ТаблицаЗначений?
6 simol
 
09.02.12
16:38
(5)подходит, по инерции с обычных форм завел переменную
7 simol
 
09.02.12
16:38
+(6)И втыкаю и ошибок не выдает и неработает
8 simol
 
09.02.12
16:39
(4)О каком одном вызове речь?
9 Ranger_83
 
09.02.12
16:39
Таблицу значений нельзя передать с сервера на клиент
10 simol
 
09.02.12
16:41
(9)Я явно не передавал. Но я понимал. что форма одновременно и на сервере и на клиенте (в пределах своих кусков).
Или когда отрабатываются на клиенте процедуры, то серверная час формы уже канула в небытие?
11 Stepa86
 
09.02.12
16:44
+(9) а в тонком клиенте она вообще не существует

(8) при возвращении с сервера все серверные переменные умирают
12 simol
 
09.02.12
17:03
(5)Чот там не совсем таблица значений. Нет у нее Индексы и в нее нужно через Загрузить результат запроса пихать.
13 acsent
 
09.02.12
17:09
Адрес = ПоместитьВоВременноеХранилище(Таблица, УникальныйИдентификатор).
Адрес - реквизит формы
14 simol
 
09.02.12
17:16
Лирическое отступление.
до сих пор не поймы зачем 1С-ки надедали ограничения, которые в принципе можно обходить, лень было не запрещать, а при компиляции обвешивать этими фичами? Яркий пример с предопределенными значениями.
15 simol
 
09.02.12
17:26
(13)Спасибо, получилось. Жаль что там нельзя и уникальный идентификатор формы указать и имя переменной, а то получается одно хранилище для формы если использовать уникальный идентификатор.

С уникальным понравилось потому, что сами удалятся при закрытии формы.
16 ptiz
 
09.02.12
17:28
(14) Чтобы программисты еще раз думали - а надо ли напрягать лишний раз сервер?
17 ptiz
 
09.02.12
17:30
(15) "там нельзя и уникальный идентификатор формы указать и имя переменной"
а кто мешает?
Адрес = ПоместитьВоВременноеХранилище(Таблица, Строка(УникальныйИдентификатор) + "_МояПеременная1")

только чистить хранилище ручками
18 simol
 
09.02.12
17:38
(17)Это я понимаю, но было бы удобней и чтобы чистило и чтобы не одно. :)
19 acsent
 
09.02.12
17:39
(15) ты справку прочитал?
если уид, то создается новая переменная, если строка (адрес) то перезаписывается старая
20 simol
 
09.02.12
17:44
А, точно. не подумал об этом :). Представил себе одну переменную Адрес, а ведь из можно много сделать. спасибо!
21 mikecool
 
09.02.12
17:48
кстате - временное хранилище живет 20 минут всего или ошибаюсь?
22 simol
 
09.02.12
18:13
(21)Привязано к форме и форма не закрыта, но не должно быть ограничения.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс