Вызов одномерного массива

В данном разделе можно задавать вопросы по программированию на платформе 1С:Предприятие 8.
(Раздел предназначен для тех, кто уже прошел обучение в нашем учебном центре)

p.s. Просьба задавать вопросы только по программированию. На вопросы по типовым конфигурациям обычно не отвечаю по двум причинам
1. В последнее время редко с ними работаю.
2. Чтобы ответить на вопрос требуется: установить соответствующую базу нужного релиза, смоделировать ситуацию, и только после этого возможно залезть в конфигуратор и разобраться что не так (к сожалению, у меня нет столько времени).

Вызов одномерного массива

Сообщение Sveta » 03 апр 2017, 11:52

Здравствуйте!
У меня возник вопрос использования массива в управлемой форме 8.3.
Вначале модуля ФормыЭлемента я сделала объявление
&НаСервере
Перем МассивУдаленных;

Перед удаление записи в табличной части, я помещаю ее в массив(удаляемых записей может быть несколько).
&НаКлиенте
Процедура СоставныеЧастиПередУдалением(Элемент, Отказ)
Если Не Отказ Тогда
СоставнаяЧасть = Элемент.ТекущиеДанные.СоставнаяЧасть;
УдалениеПослеЗаписиНаСервере(СоставнаяЧасть);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УдалениеПослеЗаписиНаСервере(СоставнаяЧасть)
МассивУдаленных = Новый Массив;
МассивУдаленных.Добавить(СоставнаяЧасть);
КонецПроцедуры

Далее я хочу после записи обрабатывать этот массив.
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
ПроверкаУдаленныхСтрокТЧ(МассивУдаленных);
КонецПроцедуры
&НаСервере
Процедура ПроверкаУдаленныхСтрокТЧ(МассивУдаленных)
Для каждого Строка из МассивУдаленных Цикл
Сообщить(МассивУдаленных.Количество());
КонецЦикла;
КонецПроцедуры

1с:Предприятие выдает ошибку: "Итератор для значения не определен". Хотя в отладчике массив заполняется. Получается, что при вызове в процедуре ПослеЗаписиНаСервере массив уже не массив, а переменная с типом Неопределено.
Sveta
 
Сообщений: 34
Зарегистрирован: 03 май 2012, 16:38

Re: Вызов одномерного массива

Сообщение admin » 03 апр 2017, 15:27

Добрый день!
Серверные переменные создаются при вызове сервера и уничтожаются при возврате на клиент. Для хранения данных на стороне сервера предназначено временное хранилище.

Ваш код далек от оптимальности, так как в нем много лишних обращений к серверу. Массив можно хранить на клиенте и перед записью передавать его на сервер в составе параметров записи.
admin
Администратор
 
Сообщений: 240
Зарегистрирован: 14 дек 2011, 11:11

Re: Вызов одномерного массива

Сообщение Sveta » 04 апр 2017, 16:31

Спасибо!
Sveta
 
Сообщений: 34
Зарегистрирован: 03 май 2012, 16:38


Вернуться в Вопросы по программированию

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron