1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Как в 1С v8 изменить запись регистра сведений с помощью метода СоздатьМенеджерЗаписи (1С: v8: Программисту: Язык программирования: Регистр сведений)

Как в 1С v8 спозиционироваться на конкретной записи регистра сведений и изменить ее

Метод можно использовать только для регистров, у которых Режим записи установлен Независимый. Вообще, строго говоря, метод СоздатьМенеджерЗаписи() обычно используется для записи новой строки в регистр или для удаления существующей строки.
Для редактирования регистра лучше использовать метод СоздатьНаборЗаписи().

Различные примеры можно посмотреть тут:
1. Как заменить значение ресурса регистра сведений — универсальная процедура

2. Внимание! Для замены значения измерения регистра лучше использовать универсальную процедуру, пример которой см.: Как заменить значение измерения регистра сведений и при этом не потерять числовые ресурсы.

3. Как в регистре сведений изменить значение какого-либо параметра по условию – универсальная процедура.

4. Как добавить запись в регистр сведений.

5. Несколько примеров обработки регистров сведений

Однако, можно и с помощью метода СоздатьНаборЗаписи():

В случае попытки использовать этот метод для регистра с методом записи «Подчинен регистратору», при попытке выполнения команды: РегистрыСведений.ИмяРегистра.СоздатьМенеджерЗаписи(); будет появляться сообщение об ошибке «Ошибка при вызове метода контекста (СоздатьМенеджерЗаписи): Менеджер записи не может быть использован для регистра с режимом записи «Подчинение регистратору»»

Еще один пример несколько нестандартного использования метода СоздатьМенеджерЗаписи():

— при этом, как видно из этой процедуры, запись передается в обработку «РедактированиеКонтактнойИнформации», где дальше и редактируется (интерактивно):

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Автор 1С

12 thoughts on “Как в 1С v8 изменить запись регистра сведений с помощью метода СоздатьМенеджерЗаписи (1С: v8: Программисту: Язык программирования: Регистр сведений)

  1. Используя ваш пример, пытаюсь спозиционироваться на одной записи регистра и изменить один ресурс. Но почему-то не получается. В отладчике МенеджерЗаписи.Выбран() все время равно Ложь, Хотя в регистре сведений ОСОЛицевыеСчета, есть запись с измерением Объект равным Спр.Ссылка. В регистре одно измерение Объект и несколько ресурсов, в том числе СОТипПлиты. Помогите пожалуйста разобраться почему так происходит? Вот то, что я написала:

    МенеджерЗаписи=РегистрыСведений.ОСОЛицевыеСчета.СоздатьМенеджерЗаписи();
    МенеджерЗаписи.Объект= Спр.Ссылка;
    МенеджерЗаписи.Прочитать();
    Если МенеджерЗаписи.Выбран() Тогда
    МенеджерЗаписи.СОТипПлиты=ТипПлиты; Иначе
    Сообщить(«Возникла проблема определения записи по лиц счету» +Спр+ » в регистре ОСОЛицевыесчета»);
    КонецЕсли;
    МенеджерЗаписи.Записать();

  2. Марина, добрый день!
    Уточните, пожалуйста, сколько у вашего регистра измерений?
    Команда МенеджерЗаписи.Объект= Спр.Ссылка; — это определение позиции по одному измерению, т.е. у вашего регистра «ОСОЛицевыеСчета» одно измерение — «Объект»?
    Если больше, то для каждого нужно задать значение аналогичной командой (через точку с запятой)

  3. У регистра одно измерение — Объект(тип -СправочникСсылка.ЛицевыеСчета)

    Спр = Справочники.ЛицевыеСчета.Выбрать();
    Пока Спр.Следующий() Цикл
    —-тут то, что я писала выше—-
    КонецЦикла

  4. Пока идей нет, почему так происходит. Есть возможность выслать базу? Какой объем у базы?
    С удовольствием попробую помочь. Интересно разобраться в проблеме.

  5. Если нужно поменять одну запись в регистре сведений то лучше воспользоваться НаборомЗаписей.

    РегистрыСведений.Какой_то_регистр.СознатьНаборЗаписей();

    работать будет быстрее, особенно на больших объемах данных.

  6. Наверное, уже никого здесь нет, но точно такая же проблема:
    У регистра одно измерение-Документ(Ссылка на документ) и на запись не становится, хотя она в регистре очевидно есть. Выбран() — стабильно = Ложь, хотя метод ПолучитьПоследнее прекрасно работает, но по нему я не могу узнать, каково же точное значение Периода. Какова же истина?

  7. жаль, что такой удобный метод работает только с регистрами сведений с установленным параметром «Независимый»

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Next Post

Параметры командной строки 1C V8 или Как запустить базу 1С из ярлыка без лишних вопросов (1С: 8.1)

Чт Май 27 , 2010
Вопрос Как в 1С v8 указать в ярлыке запуска базу, пользователя, пароль, параметр запуска, чтобы она запускалась атоматически, не задавая вопросов? Ответ В клиент-серверном варианте установки базы: «C:Program Files1cv81bin1cv8.exe» DESIGNER /S«asapf05sa_logist_17012010» /NТСД /P111 /CDebugTSD где «C:Program Files1cv81bin1cv8.exe» — путь к исполняемому файлу Enterprise — управляющее слово, определяющее, что запускать базу […]