Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 19:17

Не удаляется из плана обмена набор записей регистра

Автор Klyacksa, 02 сен 2010, 11:21

0 Пользователей и 1 гость просматривают эту тему.

Klyacksa

То ли лыжи не едут, то ли...
Помогите понять, почему вот в таком варианте удаление из плана обмена набора записей срабатывает:

Для Каждого Стр из Данные цикл
   // добавляем записи в регистр
   НаборЗаписей=РегистрыСведений.РегСведений.СоздатьНаборЗаписей();
   НаборЗаписей.Отбор.Склад.Установить(Стр.Склад);
   НаборЗаписей.Отбор.Номенклатура.Установить(Стр.Номенклатура);
            
   Строка=НаборЗаписей.Добавить();
   Строка.Склад=Стр.Склад;
   Строка.Номенклатура=Стр.Номенклатура;
   Строка.ОстатокСвободный=Стр.ОстатокСвободный;
   Строка.ОстатокВРезерве=Стр.ОстатокВРезерве;
            
   НаборЗаписей.Записать();
            
ПланыОбмена.УдалитьРегистрациюИзменений(ПланыОбмена.ПланОбмена.НайтиПоКоду("Узел"),НаборЗаписей);            
КонецЦикла;

а в таком варианте не работает:

Склады=Данные.ВыгрузитьКолонку("Склад");
Склады.Свернуть("Склад");
Для Каждого Склад из Склады цикл
   // добавляем записи в регистр
   НаборЗаписей=РегистрыСведений.РегСведений.СоздатьНаборЗаписей();
   НаборЗаписей.Отбор.Склад.Установить(Склад);
            
        Строки=Данные.НайтиСтроки(Новый Структура("Склад",Склад));
        Для каждого Ном из Строки цикл
         Строка=НаборЗаписей.Добавить();
         Строка.Склад=Склад;
         Строка.Номенклатура=Ном.Номенклатура;
         Строка.ОстатокСвободный=Ном.ОстатокСвободный;
         Строка.ОстатокВРезерве=Ном.ОстатокВРезерве;
   конеццикла;
         
   НаборЗаписей.Записать();
            
        ПланыОбмена.УдалитьРегистрациюИзменений(ПланыОбмена.ПланОбмена.НайтиПоКоду("Узел"),НаборЗаписей);            
КонецЦикла;
:dfjhgkk:
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Klyacksa

xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

mohock

А почему бы тебе с точной останова не поработать?
Может у тебя здесь

Склады=Данные.ВыгрузитьКолонку("Склад");
Склады.Свернуть("Склад");

ничего нет?

Klyacksa

Да пробовала с точкой останова, все прогнала, все типы и значения проверила в отладке. Вплоть до того, что тип объекта НаборЗаписей в строчке
ПланыОбмена.УдалитьРегистрациюИзменений(ПланыОбмена.ПланОбмена.НайтиПоКоду("Узел"),НаборЗаписей);
одинаковый и в том, и в другом случае, разница только в том, что в первом случае отбор полный установлен (то есть по всем двум реквизитам регистра), а во втором - только по одному Складу, по Номенклатуре отбора нет.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск