|
Как получить запись регистра и записать изменения | ☑ | ||
---|---|---|---|---|
0
Asest
11.08.14
✎
12:15
|
Есть регистр сведений, у него 4 измерения.
Необходимо получить запись по этим измерениям, изменить значение ресурса и записать данные. В других ветках видел 2 варианта: запрос(позволяет получить значения ресурсов, но не изменить их) и методом РС.ИмяРС.Получить(<Период>,<Отбор>), этот метод возвращает структуру, содержащую значения ресурсов но не позволяет записать изменения. Регистр у меня не зависимый и не периодический. Как мне зная измерения, записать новое значение ресурса? |
|||
1
ДенисЧ
11.08.14
✎
12:15
|
Создай набор записей, наложи отбор, прочитай, измени, запиши
|
|||
2
ale-sarin
11.08.14
✎
12:15
|
Или менеджер записи.
|
|||
3
Asest
11.08.14
✎
12:20
|
Рег=РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
Рег.Отбор.Измерение1.Установить("Значение1"); Рег.Отбор.Измерение2.Установить(Ссылка2); Рег.Отбор.Измерение3.Установить("Значение3"); Рег.Прочитать(); Рег.Ресурс1 = Значение1; Рег.Записать; |
|||
4
Asest
11.08.14
✎
12:20
|
В таком духе?
|
|||
5
РенеДекарт
11.08.14
✎
12:21
|
(3) да, это в справке есть.
|
|||
6
ale-sarin
11.08.14
✎
12:22
|
(3) Это набор записей. Поэтому перед установкой ресурса надо получить запись.
Например. Рег[0].Ресурс1 = Значение1; |
|||
7
Asest
11.08.14
✎
12:23
|
Спасибо, буду пробовать
|
|||
8
Крошка Ру
11.08.14
✎
12:23
|
(4) Вот в таком:
Курс = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи(); Курс.Валюта = ВыбВалюта; Курс.Период = ТекущаяДата(); Курс.Прочитать(); Если Не Курс.Выбран() Тогда Курс.Период = ТекущаяДата(); Курс.Валюта = ВыбВалюта; Курс.Курс = 41.35; Курс.Кратность = 1; КонецЕсли; Если ВвестиЧисло(Курс.Курс, "Введите курс на сегодня",15,5) Тогда Курс.Записать(); КонецЕсли; |
|||
9
Крошка Ру
11.08.14
✎
12:24
|
(4) Или в таком:
КурсыВалют = РегистрыСведений.КурсыВалют; НаборКурсов = КурсыВалют.СоздатьНаборЗаписей(); Доллар = Справочники.Валюты.НайтиПоНаименованию("USD"); НаборКурсов.Отбор.Валюта.Установить(Доллар); НаборКурсов.Отбор.Период.Установить(НачалоДня(ТекущаяДата())); НаборКурсов.Прочитать(); Если НаборКурсов.Количество() = 0 Тогда НовыйКурс = НаборКурсов.Добавить(); НовыйКурс.Валюта = Доллар; НовыйКурс.Период = ТекущаяДата(); ИначеЕсли НаборКурсов.Количество() = 1 Тогда НовыйКурс = НаборКурсов[0]; Иначе Текст = "ru = ""Курс валюты задается один раз в день."";" + " en = ""Rate is set once a day."""; Предупреждение(НСтр(Текст), 60); Возврат; КонецЕсли; НовыйКурс.Курс = 31.44; НовыйКурс.Кратность = 1; НаборКурсов.Записать(); Сообщить(НСтр(ru = ""Курс ""; en = ""Rate "") + СокрЛП(НовыйКурс.Валюта) + НСтр(ru = "" на сегодня: "+"; en = "" for today: "") + НовыйКурс.Курс + НСтр(ru = "" руб.""; en = "" roub.""")); |
|||
10
Крошка Ру
11.08.14
✎
12:24
|
(4) Лень в СП залезть?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |