Имя: Пароль:
1C
Админ
Массив Реквизитов и Временное Хранилище
0 ArtemisXIII
 
30.09.13
16:18
День добрый.
Не так давно начал изучать 1С. Возникла необходимость программно добавлять колонки к существующей таблице, при повторном нажатии кнопки удалить все ранее созданные колонки и создать новые. Решил для простоты удаления использовать массив, в который попадают новые колонки в виде реквизита формы. Передал его во временное хранилище, а адрес присвоил реквизиту формы. Но при повторном вызове процедуры получаемый из хранилища массив оказывается пуст. Помогите с ним разобраться.
<sxh 1c> &НаСервере
Процедура КомандаНаСервере()
    МассивДобавляемыхРеквизитов = Новый Массив;
    УР = Новый Массив;
    Если ЭтаФорма.МассивРеквизитов <> Неопределено тогда
        УР = ПолучитьИзВременногоХранилища(ЭтаФорма.МассивРеквизитов);
    КонецЕсли;
    МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Текст", Новый ОписаниеТипов("Строка"),"Колбаса" ,"Текст"));
    ИзменитьРеквизиты(МассивДобавляемыхРеквизитов, УР);
    
    // здесь будет идти добавление элементов согласно новым реквизитам
    
    ЭтаФорма.МассивРеквизитов = ПоместитьВоВременноеХранилище(МассивДобавляемыхРеквизитов, ЭтаФорма.УникальныйИдентификатор);
    МассивДобавляемыхРеквизитов.Очистить();
КонецПроцедуры
</sxh 1c>
1 Старуха Изергиль
 
30.09.13
16:22
Массив очистил, в хранилище тоже очистилось
2 Старуха Изергиль
 
30.09.13
16:23
Хранилище на сервере содержит просто ссылку на МассивДобавляемыхРеквизитов
3 ArtemisXIII
 
30.09.13
16:35
Спасибо, не знал.