Имя: Пароль:
1C
1С v8
Помогите в решение проблемы!!!!!
0 Wirtox
 
27.12.12
17:10
Мне нужно программно удалять строчки с регистра сведений. Написал вот такой код:
&НаСервере
Процедура УдалитьНаСервере()
Таб = РеквизитФормы.ТабЧасть1;
НаборУдаляемыхЗаписей = Новый СписокЗначений;
   Для каждого Стр Из Таб Цикл
       Если Стр.Отметка = Истина Тогда
           НаборУдаляемыхЗаписей.Добавить(Стр);        
           Отбор = Новый Структура;
           Отбор.Вставить("Номенклатура", Стр.Номенклатура);
           Выборка = РегистрыСведений.РегистрСведений1.Выбрать(,,Отбор);
           Выборка.ПолучитьМенеджерЗаписи().Удалить();
       КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры


И оно выдает вот такую ошибку :
{Обработка.РегистрыСведений.Форма.Форма.Форма(65)}: Ошибка при вызове метода контекста (Выбрать)
           Выборка = РегистрыСведений.РегистрСведений1.Выбрать(,,Отбор);
по причине:
Недопустимое значение параметра (параметр номер '3')
Недопустимое значение параметра (параметр номер '3')


что я делаю не так и как это решить ?
1 le_
 
27.12.12
17:13
(0) Номенклатура в регистре сведений индексируется?
2 le_
 
27.12.12
17:14
СП:
<Отбор> (необязательный)
Тип: Структура.
Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры - значение отбора по этому полю. В качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или установлен признак "Ведущее".
3 le_
 
27.12.12
17:17
4 Wirtox
 
27.12.12
17:20
сделал что-бы номенклатура индексировалась теперь выдает вот такую ошибку:
{Обработка.РегистрыСведений.Форма.Форма.Форма(66)}: Ошибка при вызове метода контекста (ПолучитьМенеджерЗаписи)
           Выборка.ПолучитьМенеджерЗаписи().Удалить();
по причине:
Запись не выбрана
5 le_
 
27.12.12
17:20
(4) А где Выборка.Следующий() ?
6 zak555
 
27.12.12
17:21
что в ТЧ ?
7 Wirtox
 
27.12.12
17:22
а про выборка следующий я как-то забыл ))
сейчас попробую
8 Serg_1960
 
27.12.12
17:26
(0) типа как-то так :)
НаборЗаписей = РегистрыСведений.ВашРегистр.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.РегистраторИлиКакоеТоИзмерение.Установить(НужноеЗначение);
НаборЗаписей.Записать();
9 Wirtox
 
27.12.12
17:26
Добавил выборка следующий и ничего, не могу понять что я делаю не так...
10 le_
 
27.12.12
17:30
Отбор = Новый Структура;
Отбор.Вставить("Тип", Перечисления.ТипыКонтактнойИнформации.Другое);
Выборка = РегистрыСведений.КонтактнаяИнформация.Выбрать(Отбор);
Пока Выборка.Следующий() Цикл
   Выборка.ПолучитьМенеджерЗаписи().Удалить();
КонецЦикла;


Либо через набор записей.
11 Wirtox
 
27.12.12
17:40
Все спасибо разобрался..
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший