Имя: Пароль:
1C
 
изменить запись в регистре сведений.
0 Franklin
 
21.01.10
15:59
Пытаюсь изменить ссылку на другой элемент свойства объекта в регистре сведений "Значение свойств объекта" вот так:
Выборка = РегистрыСведений.ЗначенияСвойствОбъектов.Выбрать();
пвх = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("00002");
Пока Выборка.Следующий() Цикл          
Если Выборка.Свойство = пвх Тогда
МенеджерЗаписи = Выборка.ПолучитьМенеджерЗаписи();
МенеджерЗаписи.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("00004");
МенеджерЗаписи.Записать();
КонецЕсли;
КонецЦикла;

но получается, что записывается новая строка в регистре сведений, а не изменяется существующая... Что не так?
спасибо.
1 bvn13
 
21.01.10
16:05
из СП:

Пример:
КурсыВалют = РегистрыСведений.КурсыВалют;
НаборКурсов = КурсыВалют.СоздатьНаборЗаписей();
Доллар = Справочники.Валюты.НайтиПоНаименованию("USD");
НаборКурсов.Отбор.Валюта.Установить(Доллар);
НаборКурсов.Отбор.Период.Установить(НачалоДня(ТекущаяДата()));
НаборКурсов.Прочитать();
Если НаборКурсов.Количество() = 0 Тогда
   НовыйКурс = НаборКурсов.Добавить();
   НовыйКурс.Валюта = Доллар;
   НовыйКурс.Период = ТекущаяДата();
ИначеЕсли НаборКурсов.Количество() = 1 Тогда
   НовыйКурс = НаборКурсов[0];
Иначе
   Предупреждение("Курс валюты задается один раз в день.", 60);
   Возврат;
КонецЕсли;
НовыйКурс.Курс = 31.44;
НовыйКурс.Кратность = 1;
НаборКурсов.Записать();
2 Hipernate
 
21.01.10
16:05
РегистрСведенийМенеджерЗаписи.<Имя регистра сведений>.Записать (InformationRegisterRecordManager.<Имя регистра сведений>.Write)
РегистрСведенийМенеджерЗаписи.<Имя регистра сведений> (InformationRegisterRecordManager.<Имя регистра сведений>)
Записать (Write)
Синтаксис:
Записать(<Замещать>)
Параметры:
<Замещать> (необязательный)
Тип: Булево. Определяет режим замещения существующей записи с тем же набором значений измерений регистра и с тем же периодом (для периодических регистров). Истина - если запись регистра сведений с таким набором существует, то выполняется замещение; Ложь - запись будет дописана к уже существующим в информационной базе записям.
Значение по умолчанию: Истина
Описание:
Записывает в базу данных запись регистра сведений с текущими значениями свойств. Если запись регистра сведений была предварительно считана из базы данных, то при выполнении метода сначала считанная запись удаляется, а затем производится запись измененной записи. С помощью параметра <Замещать> регулируется, будет ли метод замещать запись, если в момент выполнения метода существует другая (исключая считанную) запись с такими же значениями измерений регистра и с таким же периодом для периодических регистров.
Примечание:
При вызове с параметром <Замещать> равным Ложь после записи в информационную базу запись очищается.
Пример:
Курс.Записать();
3 Hipernate
 
21.01.10
16:06
Параметр в Записать() укажи
4 Voffka
 
21.01.10
16:07
(0) Ленивый?
5 Franklin
 
21.01.10
16:35
Я хочу поменять только Одно измерение, другое в записи не трогать... такое возможно?
6 hhhh
 
21.01.10
16:44
надо тогда хотя бы прочитать, то что было.
7 Franklin
 
22.01.10
08:07
Обязательно создавать набор записей?....
8 Franklin
 
22.01.10
08:38
Рег = РегистрыСведений.ЗначенияСвойствОбъектов;
   Выборка = Рег.Выбрать();
   с1 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("00002");
   с2 = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("00004");
   Пока Выборка.Следующий() Цикл
       Если Выборка.Свойство = с1 Тогда
           Выборка.ПолучитьМенеджерЗаписи();  //
           Выборка.Свойство = с2;
           Выборка.Записать(Истина);
       КонецЕсли;
   КонецЦикла;

//поле объекта свойство не доступно для записи.
9 Mitriy
 
22.01.10
08:41
(8) ты сюда просто зашел? ты читаешь, что тебе пишут?
10 xzorkiix
 
22.01.10
09:02
RTFM
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший