|
изменить запись в регистре сведений. | ☑ | ||
|---|---|---|---|---|
|
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
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |