Имя: Пароль:
1C
1С v8
Заменить поле в регистре сведений
,
0 Verita
 
22.04.13
22:34
Доброй ночи всем =)
Есть код:

&НаСервере
ПРоцедура ВыбратьНовыеИОбновить()
   Запись = РегистрыСведений.Номенклатура.СоздатьМенеджерЗаписи();
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    *
       |ИЗ
       |    РегистрСведений.Номенклатура КАК Номенклатура
       |ГДЕ
       |    Номенклатура.Новое = &Новое";

   Запрос.УстановитьПараметр("Новое", Истина);

   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();
   
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
       ВосстановитьЗаписи (ВыборкаДетальныеЗаписи);
       
       Запись.Период = ВыборкаДетальныеЗаписи.Период;
       Запись.Кто = ВыборкаДетальныеЗаписи.Кто;
       Запись.Прочитать();
 
     Если Запись.Выбран() Тогда
 
   Запись.Новое = Ложь;
   Запись.Записать(Истина);
    КонецЕсли;
   КонецЦикла;

   КонецПроцедуры


в нем, при выполнении строки Запись.Прочитать(); все уходит в ноль - сбрасываются параметры, которые заполнялись выше, и следующая строка не проходит...
В чем может быть ошибка?
1 Naumov
 
23.04.13
00:54
ВосстановитьЗаписи (ВыборкаДетальныеЗаписи);
Что делает?
2 Naumov
 
23.04.13
00:55
и все измерения регистра установлены? (оно одно чтоль?)
3 Verita
 
23.04.13
06:47
Гениально!!!
Не все измерения определялись. Спасибо =)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший