Имя: Пароль:
1C
1С v8
Переменые в режиме управляемого приложения 1С 8.3
0 jamesgold
 
30.09.16
10:32
Добрый день прошу помочь!

В модуле формы имею примерно такой код:

Перем     Таблица;

&НаКлиенте
Процедура ЗаполнитьТаблицу(Команда)
Выполнить1();
Выполнить2();
КонецПроцедуры

&НаСервере
Процедура Выполнить1()
//ПОлучаю Тпблицу значений
Таблица = Запрос.Выполнить().Выгрузить();
КонецПроцедуры

&НаСервере
Процедура Выполнить2()
//тут ошибка
а = Таблица.Скопировать();
КонецПроцедуры

Выдает ошибку в процедуре Выполнить2, т.к. переменная Таблица  - неопределено.
Каким образом можно передать значение таблицы во торую процедуру? Обе процедуры выполняются на сервере.
1 АдинС
 
30.09.16
10:34
(0) Используй реквизит формы, или обработки..
2 Рэйв
 
30.09.16
10:35
&НаСервере
Процедура Выполнить1()
//ПОлучаю Тпблицу значений

Таблица = Запрос.Выполнить().Выгрузить();
Выполнить2(Таблица);
КонецПроцедуры

&НаСервере
Процедура Выполнить2(Т)


а = Таблица.Скопировать();
КонецПроцедуры
3 Рэйв
 
30.09.16
10:36
*вместо Таблица.Скопировать();

Т.Скопировать();
4 jamesgold
 
30.09.16
10:37
Реквизиты формы не подходят там должна быть таже струтура что и у таблицы значений
5 jamesgold
 
30.09.16
10:39
(2) Хорошо через параметры я могу передать, но изначально общую переменную я могу обявить и свободно пользоваться в любом месте на серевере?
6 Рэйв
 
30.09.16
10:39
+Кстати, имей в виду, что у Перем так же кк и у процедур тоже есть видимость &НаКлиенте и &НаСервере, без явного указания- видимость только на сервере
7 Рэйв
 
30.09.16
10:39
(5) см (6)
8 Nuobu
 
30.09.16
10:39
(0) Твоя "Таблица" создана без указания "НаКлиенте" и "НаСервере", поэтому по умолчанию, она создана на сервере. Когда ты заполняешь её в процедуре "Выполнить1", то она, после заполнения и перехода кода в "ЗаполнитьТаблицу", которая на клиенте, становится "Неопределено". То есть она живёт в течении одного вызова сервера.
Чтобы она жила дольше, нужно изучить пару финтов ушами.
Человек во ( (1) правду глаголит.
9 Рэйв
 
30.09.16
10:40
(5)+  ТабицаЗначений не живет на клиенте просто так.Только как реквизит формы
10 jsmith
 
30.09.16
10:41
Да уж..
11 jamesgold
 
30.09.16
10:41
(1) (8) Подробней насчет обработок можно?
12 Nuobu
 
30.09.16
10:42
(11) Можно:
http://catalog.mista.ru/public/198766/

легендарная статья.
13 jamesgold
 
30.09.16
10:44
(12) Спасибо!