Имя: Пароль:
1C
1С v8
УдалитьРегистрациюИзменений РегистрСведений
0 Hans
 
11.08.14
14:16
Вопрос стар как и сама 1С....  Ошибка Недопустимое значение параметра (параметр номер '2')

ля каждого Узел Из Узлы Цикл
    
        Для каждого Заказ Из заказы Цикл
        
            НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
            НаборЗаписей.Отбор.Объект.Установить(Заказ);
            НаборЗаписей.Прочитать();
            
            //Если НаборЗаписей.Количество() > 0 Тогда
            
                //Попытка
                    ПланыОбмена.УдалитьРегистрациюИзменений(Узел, НаборЗаписей);
                    //Сообщить("Удалено!");
                //Исключение
                    //Сообщить("Ошибка");    
                //КонецПопытки;
                
            //КонецЕсли;
            
        КонецЦикла;
        
    КонецЦикла;

В чем проблема?
1 mehfk
 
11.08.14
14:23
Включен ли данный регистр в состав плана обмена?
2 Hans
 
11.08.14
14:23
Да, включен.
3 Hans
 
11.08.14
14:24
У меня пока остается последний вариант - пихать во второй параметр только, то что действительно зарегестрировано.
4 Михаил Козлов
 
11.08.14
14:32
Может быть нужно удалять записи?
5 Hans
 
11.08.14
14:35
(4)Записи регистра сведений удалять мне по задаче не нужно. Нужно очистить то, что уже зарегестрировано в плане обмена.

Добавил в типовую УТ 10.3 возможность ведения контактной информации по заказам - обмен с бухией встал.

(3) Этот вариант тоже не подтвердился 100% зарегистрированные записи уходят на исключение.
6 Hans
 
11.08.14
14:47
Оказывается в итоге отбор нужно обязательно устанавливать по всем измерениям регистра сведений. Т.е в данном случае так:

НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
            НаборЗаписей.Отбор.Объект.Установить(Заказ);
            Наборзаписей.Отбор.Тип.Установить(перечисления.ТипыКонтактнойИнформации.Адрес);
            Наборзаписей.Отбор.Вид.Установить(Справочники.ВидыКонтактнойИнформации.АдресУстановки);
            НаборЗаписей.Прочитать();

тогда начинает работать.