|
Корректировка записей регистра сведений обработкой | ☑ | ||
---|---|---|---|---|
0
Молодой 1Снег
14.07.11
✎
20:26
|
Есть регистр сведений. Подчиненный регистратору. Возможно ли внести изменения в него не перепроводя сам документ?
Написал такой код в обработке. Но изменения в регистр не вносятся. Док = документы.ВводНачальныхОстатков.Выбрать(,); Пока Док.Следующий() Цикл Если не док.Проведен тогда продолжить; КонецЕсли; ДокЗап = док.ПолучитьОбъект(); НаборДвижений = ДокЗап.Движения.МестонахождениеОСБухгалтерскийУчет; ТаблицаДвижений = НаборДвижений.Выгрузить(); ТекПодразделение = Подр; Для Каждого СтрокаОС Из ДокЗап.ОС Цикл НоваяСтрока = ТаблицаДвижений.Добавить(); НоваяСтрока.Период = ДокЗап.Дата; НоваяСтрока.Организация = ДокЗап.Организация; НоваяСтрока.ОсновноеСредство = СтрокаОС.ОсновноеСредство; НоваяСтрока.МОЛ = СтрокаОС.МОЛРегл; НоваяСтрока.Местонахождение = Подр; КонецЦикла; НаборДвижений.Загрузить(ТаблицаДвижений); НаборДвижений.УстановитьАктивность(Истина); КонецЦикла |
|||
1
Молодой 1Снег
14.07.11
✎
20:30
|
Дело в том, что бухи в свое время забыли заполнить реквизит Подразделение в документе "Ввод начальных остатков ОС". Документ уже в закрытом периоде и изменить его нельзя.
Теперь у них не списываются ОС, ругается что не заполнено Местонахождение. |
|||
2
73
14.07.11
✎
20:30
|
А где набор записывается?
|
|||
3
PR
14.07.11
✎
20:31
|
А прочитать где?
|
|||
4
Молодой 1Снег
14.07.11
✎
20:33
|
Понял, код не верный.
Сначала нужно прочитать значения регистра. Изменить одно измерение и записать. Так? |
|||
5
PR
14.07.11
✎
20:34
|
(4) Можно и так.
Но вообще кошернее создать набор записей, установить отбор по регистратору, прочитать, изменить и записать. |
|||
6
Молодой 1Снег
14.07.11
✎
20:44
|
Сделал по-другому. Теперь не устанавливается отбор по регистратору. Что не так делаю?
Док = документы.ВводНачальныхОстатков.Выбрать(,); Пока Док.Следующий() Цикл Если не док.Проведен тогда продолжить; КонецЕсли; ДокЗап = док.ПолучитьОбъект(); НаборЗаписей = РегистрыСведений.МестонахождениеОСБухгалтерскийУчет.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ДокЗап); НаборЗаписей.Прочитать(); Для Каждого Запись Из НаборЗаписей Цикл Запись.Местонахождение = Подр; КонецЦикла; НаборЗаписей.Записать(); КонецЦикла |
|||
7
PR
14.07.11
✎
20:46
|
(6) НаборЗаписей.Отбор.Регистратор.Установить(Док.Ссылка);
|
|||
8
Молодой 1Снег
14.07.11
✎
20:48
|
Да точно, ссылка! Спасибо!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |