- В этой теме 1 ответ, 2 участника, последнее обновление 4 часа, 7 минут назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как передать массив между серверными процедурами в 1С?
Как передать массив из одной серверной процедуры в другую
В 1С передать массив из одной серверной процедуры в другую очень просто — достаточно передать его как параметр.
Пример:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
&НаСервере Процедура Процедура1() МойМассив = Новый Массив; МойМассив.Добавить("Элемент1"); МойМассив.Добавить("Элемент2"); Процедура2(МойМассив); КонецПроцедуры &НаСервере Процедура Процедура2(ВходнойМассив) Для Каждого Элемент Из ВходнойМассив Цикл Сообщить(Элемент); КонецЦикла; КонецПроцедуры |
Если процедуры находятся в одном общем модуле или в одном объекте, просто вызовите вторую процедуру, передав массив.
Если процедуры в разных модулях, то:
— Убедитесь, что модуль, где вызывается процедура, имеет доступ к модулю с принимающей процедурой (через ВызватьПроцедуру или прямой вызов, если модуль общий).
— Передавайте массив как параметр.
—
Если массив очень большой и есть сомнения по производительности, можно использовать ВременноеХранилище:
|
1 2 |
Адрес = ПоместитьВоВременноеХранилище(Массив); Процедура2(Адрес); |
А в Процедура2:
|
1 2 3 4 |
Процедура Процедура2(Адрес) Массив = ПолучитьИзВременногоХранилища(Адрес); // работа с Массивом КонецПроцедуры |
—
В общем, передача массива — это просто передача параметра процедуры.