Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 июн 2024, 09:28

Как сменить значение у регистра сведений

Автор Pacan4ik, 18 фев 2010, 07:53

0 Пользователей и 1 гость просматривают эту тему.

Pacan4ik

Парни подскажите!

Хочу сменить значение у регистра сведений ЗначенияСвойствОбъектов, который ссылается на элементы справочника Номенклатура. Вот хотелось бы сменить значение на другой элемент.
Пока дошел до этого момета, и не могу двинуться дальше


Процедура ТестоваяКнопкаНажатие(Элемент)
ОчиститьСообщения();
текТ = Новый ТекстовыйДокумент();
    текТ.Прочитать("D:\cat.txt");
    текТ.Очистить();
текТ.Записать("D:\cat.txt");
регС = РегистрыСведений.ЗначенияСвойствОбъектов.Выбрать();
Пока регС.Следующий() Цикл
Если СокрЛП(регС.Значение) = "БезТорУп" Тогда
Если СокрЛП(регС.Значение.Родитель) = "_Тор" Тогда
Если СокрЛП(регС.Объект.Владелец) = "К20400" Тогда
        знПо = РегС.Значение.ПолучитьОбъект();
        НовоеЗначение = Справочники.Номенклатура.НайтиПоКоду("00000009602");

            Строка0 = Строка(регС.Объект.Владелец);
        Строка1 = Строка(регС.Объект.Наименование);
        текТ.ДобавитьСтроку(Строка0+", "+Строка1);
                                текТ.Записать("D:\cat.txt");
конецЕсли;
конецЕсли;
конецЕсли;
конецЦикла;
КонецПроцедуры



Myti

необходимо позиционироваться на записи и изменить ее значение....

Pacan4ik

Цитата: Myti от 18 фев 2010, 08:47
необходимо позиционироваться на записи и изменить ее значение....

Интуитивно я, конечно, это понимаю. Но как присвоить НовоеЗначение текущему элементу, полученному через РегС.Значение.ПолучитьОбъект(), если уже начинаем работать с самим элементом справочника,

Myti

А ти в отладчике просмотри возможно ли изменить данный реквизит при получении его функцией ((ПолучитьОбъект())) - там четко установленно значение возможности изменения

Pacan4ik

В 8-ке работаю несколько дней, поэтому где в отладчике можно увидеть возможность измененя реквизита пока незнаю

Myti

Встань отладчиком на строчку "знПо = РегС.Значение.ПолучитьОбъект();" и расчитай значение "РегС.Значение.ПолучитьОбъект();" - Открывая эту группировку там увидишь колонку изменения

Pacan4ik

Этим выражением РегС.Значение.ПолучитьОбъект() мы можем редактировать реквизиты элемента Номеклатуры, а сам элемент сменить не можем

Slin

РегистрСведенийВыборка.<Имя регистра сведений> (InformationRegisterSelection.<Имя регистра сведений>)
ПолучитьМенеджерЗаписи (GetRecordManager)
Синтаксис:
ПолучитьМенеджерЗаписи()
Возвращаемое значение:
Тип: РегистрСведенийМенеджерЗаписи. Менеджер записи регистра сведений.
Описание:
Получает объект для модификации, записи и удаления записи регистра сведений, на которой в данный момент спозиционирована выборка.
Пример:
Процедура КоманднаяПанельВыполнить(Кнопка)
    Рег = РегистрыСведений.ЗначенияПравПользователя;
    Выборка = Рег.Выбрать();
    Пока Выборка.Следующий() Цикл
        Выборка.ПолучитьМенеджерЗаписи().Удалить();
    КонецЦикла;

    Строк = ЭлементыФормы.ТабличноеПоле1.Значение.Количество();
    Для Номер = 0 По Строк-1 Цикл
        Строка = ЭлементыФормы.ТабличноеПоле1.Значение.Получить(Номер);
        Элемент = Рег.СоздатьМенеджерЗаписи();
        Элемент.НаборПрав = Строка.НаборПрав;
        Элемент.Право = Строка.Право;
        Элемент.Значение = Строка.Значение;
        Элемент.Записать();
    КонецЦикла;
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск