![]() |
|
Изменить дату в регистре | ☑ | ||
---|---|---|---|---|
0
Slaifer
25.11.22
✎
16:11
|
Добрый день, нужно в регистре менять дату на начало месяца.
написал запрос, а обойти строки не получается. Помогите написать цикл, буду очень благодарен ТекДата = ТекущаяДата(); ДатаЗапретаНовая = НачалоМесяца(ТекДата); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДатыЗапретаИзменения.Пользователь КАК Пользователь, | ДатыЗапретаИзменения.ДатаЗапрета КАК ДатаЗапрета |ИЗ | РегистрСведений.ДатыЗапретаИзменения КАК ДатыЗапретаИзменения"; ТЗ = Запрос.Выполнить().Выгрузить(); ДЛя Каждого Стр Из ТЗ.Колонки цикл ОбъектБД = Стр.Ссылка.ПолучитьОбъект(); ОбъектБД.ДатаЗапрета = ДатаЗапретаНовая; ОбъектБД.Записать(); ОбъектБД.Записать(РежимЗаписиДокумента.Проведение); КонецЦикла; |
|||
1
vicof
25.11.22
✎
16:13
|
Регистры это не объектные сущности.
|
|||
2
Kassern
25.11.22
✎
16:20
|
(0) есть как минимум 2 варианта
1) Через Набор: Набор=РегистрСведений.ДатыЗапретаИзменения.СоздатьНабор(); Устанавливаете отбор какой нужен, читаете строки и правите как надо. После записываете набор. Можно загрузить готовую таблицу в набор. 2) Через менеджер записи: Менеджер=РегистрСведений.ДатыЗапретаИзменения.СоздатьМенеджерЗаписи(); Заполняете все поля менеджера и записываете - если такая строчка с такой же связкой измерений была, то просто перезапишутся ресурсы, иначе запишется новая строка в регистр. |
|||
3
vicof
25.11.22
✎
16:21
|
И обходить надо строки, а не колонки
|
|||
4
Slaifer
25.11.22
✎
16:32
|
Пока Выборка.Следующий() Цикл
НаборЗаписей = РегистрыСведений.ДатыЗапретаИзменения.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Объект.ДатаЗапрета; НаборЗаписей.Прочитать(); Для каждого Запись Из НаборЗаписей Цикл Запись.ДатаЗапрета = ДатаЗапретаНовая; КонецЦикла; НаборЗаписей.Записать(); КонецЦикла; что-то типа этого? |
|||
5
Serg_1960
25.11.22
✎
16:34
|
Что-то типа этого:
НаборЗаписей = РегистрыСведений.ДатыЗапретаИзменения.СоздатьНаборЗаписей(); НаборЗаписей.Прочитать(); Для Каждого Запись Из НаборЗаписей Цикл Запись.ДатаЗапрета = ДатаЗапретаНовая; КонецЦикла; НаборЗаписей.Записать(); |
|||
6
Kassern
25.11.22
✎
16:34
|
(4) Отбор работает только с измерениями вроде. У вас дата запрета скорее всего ресурс.
|
|||
7
Slaifer
25.11.22
✎
16:50
|
Спасибо огромное, все получилось!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |