Имя: Пароль:
1C
1С v8
Регистр сведений, ошибка "Запись не верна! Значение поля не соответствует установленном"
0 Radion
 
14.08.19
17:50
Всем привет, УТ 11. Создал Регистр сведений, измерения "Документ пакет", Документ "РеализацияТиУ", ресурс "Галка"- булево.
Пытаюсь очистить ссылку на документ пакет в регистре, по коду:
НаборЗаписей = РегистрыСведений.Пакет.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Пакет.Установить(Пакет);
НаборЗаписей.Прочитать();
Для каждого ЗаписьНабора из НаборЗаписей Цикл
    ЗаписьНабора.Пакет      = Документы.Пакет.ПустаяСсылка();
    ЗаписьНабора.Распечатан = Ложь;
КонецЦикла;
НаборЗаписей.Записать(Истина);
В результате получаю ошибку - Запись не верна! Значение поля не соответствует установленном ...
Почему? Спасибо.
1 1Сергей
 
14.08.19
17:55
а там можно пустые записывать?
2 Radion
 
14.08.19
17:57
(1) да, обязательного заполнения нет. вручную могу очистить.
3 Cyberhawk
 
14.08.19
17:59
Либо через МЗ делай (с вытекающими из этого ограничениями), либо в НЗ отбор перед записью тоже установи
4 1Сергей
 
14.08.19
18:00
(3) старые записи останутся не тронутыми жи. не?
5 Cyberhawk
 
14.08.19
18:02
(4) Точно. Совет из (3) справедлив только для события-обработчика ПередЗаписью модуля набора записей регистра, а с независимым набором записей так не прокатит
6 Radion
 
14.08.19
18:03
Короче, переделал, сделал так:
1. через запрос с отбором по Пакету, сделал выбор;
2. в наборе регистра, сделал отбор по документу РеализацияТиУ;
3. очистил измерение Пакет,
Все работает без ошибки.
Так работает:
НаборЗаписей = РегистрыСведений.Пакет.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.РеализацияТиУ.Установить(РеализацияТиУ);
НаборЗаписей.Прочитать();
Для каждого ЗаписьНабора из НаборЗаписей Цикл
    ЗаписьНабора.Пакет      = Документы.Пакет.ПустаяСсылка();
    ЗаписьНабора.Распечатан = Ложь;
КонецЦикла;
НаборЗаписей.Записать(Истина);

Всем спасибо.