Имя: Пароль:
1C
 
Как заменить запись в регистре на пустую ссылку
0 Rizhij_Nikitos
 
11.07.11
11:43
8.2 Собственно сабж: у меня есть непериодический, независимый регистр сведений, есть 2 измерения в нем, имеют тип - ссылка на документ. Надо найти запись в регистре по двум значениям передаваемым в процедуру, которые имеют такие же типы и одну ссылку(первое измерение) на документ заменить пустой ссылкой, вторую(второе измерение) не трогать.

Делаю все по простым примерам разработки, однако вылезает ошибка:
{Документ.АктНаПадеж.Форма.ФормаДокумента.Форма(54)}: Ошибка при вызове метода контекста (Записать): Запись не верна! Значение поля не соответствует установленному отбору: ИИ_СвязьДокументов: , Отчет производства за смену 000000022 от 11.07.2011 11:42:17 (Регистр сведений: ИИ_СвязьДокументов; Поле: ДокументОснование)
   Набор.Записать();
по причине:
Запись не верна! Значение поля не соответствует установленному отбору: ИИ_СвязьДокументов: , Отчет производства за смену 000000022 от 11.07.2011 11:42:17 (Регистр сведений: ИИ_СвязьДокументов; Поле: ДокументОснование)


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

   Набор.Отбор.ДокументОснование.Установить(ДокументОснование);
   Набор.Отбор.ДокументСформированный.Установить(ДокументСформированный);

   Набор.Прочитать();
   
   Для Каждого Запись Из Набор Цикл
       Запись.ДокументОснование=Документы.АктНаПадеж.ПустаяСсылка();
   КонецЦикла;
   
   
   Набор.Записать();
   
   
КонецПроцедуры
1 Rizhij_Nikitos
 
11.07.11
11:48
Вверх пожалуйста.
2 Rizhij_Nikitos
 
11.07.11
11:54
Ну блин поможет кто-то или нет? В чем тут хитрость?
3 dimoff
 
11.07.11
11:59
Набор.Отбор.ДокументОснование.Установить(Документы.АктНаПадеж.ПустаяСсылка());

перед

Набор.Записать()
4 Maxus43
 
11.07.11
12:02
только удалится ли старый набор тогда ещё вопрос...
5 73
 
11.07.11
12:03
(0)Запись одна? Может лучше менеджером записи воспользоваться?
6 ice777
 
11.07.11
12:04
(4) набор весь переписывается.
7 butterbean
 
11.07.11
12:04
самое надежное - прочитать, выгрузить в ТЗ, заполнить значения в колонке, записать с новым отбором
8 Maxus43
 
11.07.11
12:05
(6) Тут смена отбора перед записью, хз, я так не делал, может и перезапишется
9 dimoff
 
11.07.11
12:26
Не перезапишется надо тогда после Набор.Записать()

Набор.Очистить();
Набор.Отбор.ДокументОснование.Установить(ДокументОснование);
Набор.Записать();
10 Rizhij_Nikitos
 
11.07.11
12:34
(3) Спасибо :)
(5) Хотели уже так сделать, но со структурой ругался на первый параметр = хз че такое, вроде как в СП сделали.
11 dimoff
 
11.07.11
12:35
(10) Обрати внимание на 9
12 Rizhij_Nikitos
 
11.07.11
12:35
(11)Я так и сделал, спасибо :)
13 73
 
11.07.11
12:59
(10) Не понял, что за структура?