Имя: Пароль:
1C
1С v8
Итератор значения не определен..Или почему с каждым релизом перестает работать
0 Eugeneer
 
19.08.11
12:52
Пипец с новыми релизщами 1С все время что то перестает работать старое.

Итак. Две формы. В одной вызывается другая. там тудым сюдым что то обрабатывается. потом возвращается в старую форму где обработанные данные дальше обрабатываются. Итак код при котором начинает выдавать ошибку (платформа последняя, на предидущей все работало на ура).

Шаг 1

&НаКлиенте
Процедура ПоискСоответствий(Команда)
   
   АдресПередаваемыхПараметров = ПоместитьДанныеВоВременноеХранилище();
   
   СтруктураПараметров = Новый Структура;
   СтруктураПараметров.Вставить("Адрес",АдресПередаваемыхПараметров);

   АдресВоВременномХранилище = ОткрытьФормуМодально("ВнешняяОбработка.SubSysМногофункциональнаяЗагрузкаДокументов.Форма.ФормаПоискСоответствий",СтруктураПараметров,ЭтаФорма);
   
   Если ЗначениеЗаполнено(АдресВоВременномХранилище) Тогда
       ЗаполнитьСоответствияНаСервере(АдресВоВременномХранилище);
   КонецЕсли;
   
КонецПроцедуры


Шаг 2 (тут открывается второая форма. там чето делается и в ней

&НаСервере
Функция ПоместитьВоВременноеХранилищеНаСервере()
   
   Возврат ПоместитьВоВременноеХранилище(Объект.ПоискСоответствий.Выгрузить(), ЭтаФорма.УникальныйИдентификатор);
   
КонецФункции

&НаКлиенте
Процедура ЗаполнитьИЗакрыть(Команда)
       
   Закрыть(ПоместитьВоВременноеХранилищеНаСервере());
   
КонецПроцедуры


Шаг 3. Уже в первой форме при закрытии второй. Тут ошибка

&НаСервере
Процедура ЗаполнитьСоответствияНаСервере(АдресВоВременномХранилище)
   
   ТаблицаСоответствия = ПолучитьИзВременногоХранилища(АдресВоВременномХранилище);
   
   Для Каждого ТекСтрока Из ТаблицаСоответствия Цикл
1 Eugeneer
 
19.08.11
12:54
Отладчиком прошелся. Возвращаемый адрес нормальный.

ТаблицаСоответствия = ПолучитьИзВременногоХранилища(АдресВоВременномХранилище);

выдает неопределено.
2 Длинный Клиент
 
19.08.11
12:57
Маня - лучший пиарщик ! Даже в коде пиарится !
3 PVV65
 
19.08.11
12:57
А Объект.ПоискСоответствий.Выгрузить() что нибудь выгружает?
4 Eugeneer
 
19.08.11
13:01
(3) сек
5 Eugeneer
 
19.08.11
13:03
Да. Там все ок. Таблица значений
6 Necessitudo
 
19.08.11
13:06
забанить маню за скрытую рекламу)
7 apokrit
 
19.08.11
13:12
(0) Ниче, что при закрытии формы ее временное хранилище чистится?

В  
Возврат ПоместитьВоВременноеХранилище(Объект.ПоискСоответствий.Выгрузить(), ЭтаФорма.УникальныйИдентификатор);
Вместо ЭтаФорма.УникальныйИдентификатор нужно например идентификатор от вызывающей формы передать.

P.S. К текущему контексту через this тока лохи обращаются.
8 guitar_player
 
19.08.11
13:18
(7)контора 1С лохи?
9 5 Элемент
 
19.08.11
13:24
(8) этот код не 1С
10 Eugeneer
 
19.08.11
13:24
(7) уже пробовал туда просто уникатльный и Новый
еще раз сейчас проверю
11 Eugeneer
 
19.08.11
13:25
Да точно!!! заработало
сделал
Новый УникальныйИдентицикатор
12 Axel2009
 
19.08.11
13:31
(11) с тебя 100 баксов
13 Eugeneer
 
19.08.11
13:34
Спасибо.