|   |   | 
| 
 | Почему не сохраняется значение переменной модуля формы? | ☑ | ||
|---|---|---|---|---|
| 0
    
        ЭЦ 13.10.22✎ 18:52 | 
        Господа.
 Имеется форма документа. В модуле формы объявлена переменная &НаСервере Перем мНоменклатура Эта переменная определяется как Массив и заполняется в процедуре &НаСервере ПриСозданииНаСервере() Далее имеется функция которая должна возвращать заполненный массив &НаСервере Функция ПолучимМассивНоменклатуры() Возврат мНоменклатура КонецФункции Эта функция вызываетсмя из процедуры ПриОткрытии() иммем следующее массив создается и заполняется а пр попытке получить его получаем Неопределено. С чем это может быть связано Прошу подсказать | |||
| 1
    
        ЭЦ 13.10.22✎ 19:03 | 
        Проверил нет ли опечаток в наименовании переменной.
 Их нет | |||
| 2
    
        Мультук гуру 13.10.22✎ 19:31 | 
        (0) 
 Реквизит формы с типом "Список значений" -- не подойдёт ? P.S. Тяжко после толстого клиента? | |||
| 3
    
        Мультук гуру 13.10.22✎ 19:37 | 
        (1) 
 Можно, конечно сделать реквизит формы "Адрес" с типом строка и потом (см код) Но скорее всего, то что вы хотите в тонком клиенте решается "несколько по другому" &НаСервере Процедура ЛяляНаСервере() мНоменклатура = Новый массив; мНоменклатура.Добавить("ляля"); аДрес = ПоместитьВоВременноеХранилище(мНоменклатура); КонецПроцедуры &НаСервере Процедура ТополяНаСервере() мНоменклатура = ПолучитьИзВременногоХранилища(Адрес); Для каждого строка из мНоменклатура Цикл Сообщить(строка); КонецЦикла; КонецПроцедуры | |||
| 4
    
        FIXXXL 13.10.22✎ 19:58 | 
        (2) +1     | |||
| 5
    
        TormozIT гуру 13.10.22✎ 20:28 | 
        Модуль управляемой формы на сервере не имеет состояния. Поэтому он инициализируется при каждом контекстном серверном вызове заново, включая все переменные.     | |||
| 6
    
        SilentMan 13.10.22✎ 21:05 | 
        (0) Серверная переменная имеет значение только во время серверного вызова     | |||
| 7
    
        rudnitskij 13.10.22✎ 22:01 | 
        (0) Делаем реквизит формы
 заполняем его "ПриСозданииНаСервере" всё, он и так доступен везде, без всяких доп функций и переменных | |||
| 8
    
        СергейК 13.10.22✎ 22:06 | 
        (7) ...и это никак не влияет на скорость открытия формы на клиенте?     | |||
| 9
    
        Сергиус 13.10.22✎ 22:16 | 
        (8)Смотря что ты туда положишь)     | |||
| 10
    
        rudnitskij 13.10.22✎ 22:41 | 
        (8) Это в любом случае быстрее, чем после "ПриСозданииНаСервере" выполнять еще серверный вызов из клиентской процедуры "ПриОткрытии"     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |