Имя: Пароль:
1C
 
Не работает метод Записать() в регистр сведений
0 Niang
 
28.08.19
08:15
Добрый день! Проблема с записью в регистр сведений.
Код из внешней обработки:
        Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Иванов Иван").ПолучитьОбъект();  
        НаборЗаписей = РегистрыСведений.КонтрагентыСведенияДляСписка.СоздатьМенеджерЗаписи();
    НаборЗаписей.Контрагент = Контрагент.Ссылка;
    НаборЗаписей.Прочитать();
    Если НаборЗаписей.Выбран() Тогда
        НаборЗаписей.Телефон = Контрагент.Телефон;
        НаборЗаписей.Записать();
    КонецЕсли;

Смотрю в отладке, нужная запись находится и в нужном месте меняется телефон. При выходе из обработки НаборЗаписей содержит нужные мне данные, но после завершения работы в регистре сведений остаются старые, не измененные данные. Что я делаю не так?
1 butterbean
 
28.08.19
08:22
чтож вы все так любите менеджер записи? Нужно же через набор записывать, так быстрее и проще же:
НаборЗаписей = РегистрыСведений.КонтрагентыСведенияДляСписка.СоздатьМенеджерЗаписи();
    НаборЗаписей.Отбор.Контрагент.Установить(Контрагент.Ссылка);
    НаборЗаписей.Прочитать();
    Для каждого Запись из НаборЗаписей Тогда
        Запись.Телефон = Контрагент.Телефон;
    КонецЕсли;        
НаборЗаписей.Записать();
2 Uzyf
 
28.08.19
08:26
(1) А это не то же самое ты написал?
3 Uzyf
 
28.08.19
08:26
(0) Попробуй Записать(Истина)
4 butterbean
 
28.08.19
08:27
(2)+ сорри, там конечно же не СоздатьМенеджерЗаписи(), а СоздатьНаборЗаписей()
5 rphosts
 
28.08.19
08:28
(0) внутрь условия-то заходит?
6 Niang
 
28.08.19
08:47
Разобрался. Перед изменением телефона в регистре, я перезаписывал этот телефон в самом контрагенте. Проблема решилась записью Контрагент.Записать().
7 Ботаник Гарден Меран
 
28.08.19
08:49
Ctrl+F1 гласит что "РегистрСведенийМенеджерЗаписи.<Имя регистра сведений> (InformationRegisterRecordManager.<Имя регистра сведений>)" "Предназначен для интерактивной(!) работы с записью регистра сведений".
Как минимум при изменении измерения получается две записи.
Пользуйтесь набором записей.
Закон Брукера: Даже маленькая практика стоит большой теории.