Заполнить реквизит документа из регистра.

1. UPKA 12.01.22 16:38 Сейчас в теме
Здравствуйте. Имеется регистр накопления: Оплаты
Имеется документ: Регистрация оплаты, который пишет в регистр оплаты по заказу.
Как можно получить в реквизите "Оплачено" документа Заказ сумму из регистра "Оплаты" без команды заполнить или получить. Можно по регламенту.

Всем за ранее спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user790109 9 12.01.22 16:46 Сейчас в теме
Правильно лия понимаю. Вот все метаданные что ты указал?
РегистрНакопления.Оплаты.
Документ.РегистрацияОплаты который делает движения в РН.Оплаты и в нем есть поле Заказ?
Документ.Заказ

И тебе требуется в Документ.Заказ заносить сумму из регистра где есть привязка к этому заказу?
3. UPKA 12.01.22 17:02 Сейчас в теме
(2) Да, все верно. В реквизит "Оплачено". - Документ.Заказ.Оплачено
4. oleg75 3 12.01.22 17:20 Сейчас в теме
(3) как вариант - 1) Запрос- "Выбрать Заказ, Сумма(Сумма) ИЗ РегистрНакопления.Оплаты Сгруппировать по заказ ИМЕЮЩИЕ Сумма(Сумма) <> Заказ.Оплачено"; 2) обход результата запроса - ОбъектЗаказ = Выборка.Заказ.ПолучитьОбъект(); ОбъектЗаказ. Оплачено = Выборка.Сумма; ОбъектЗаказ.Записать();
5. МимохожийОднако 141 12.01.22 17:20 Сейчас в теме
Можно в процедуре ПередЗаписьюНаСервере() или ПриСозданииНаСервере()
6. ActionBlog 12.01.22 17:20 Сейчас в теме
Вариант №1: написать рег. задание, которое будет по заданному расписанию получать запросом все неоплаченные заказы, по которым в регистре есть оплата, но в заказе не стоит реквизит "Оплачено" и проставлять этот реквизит.
Вариант №2: при проведении документа "РегистрацияОплаты" проставлять в заказ нужное значение реквизита "Оплачено".
7. user790109 9 12.01.22 17:22 Сейчас в теме
Ну ты можешь написать внешнюю обработку и настроить у нее расписание.

Где запросом получаешь данные По сумме и заказу из РН по фильтрам каким тебе надо.

Устанавливаешь в заказ сумму. Записываешь

Запрос = Новый Запрос;
Запрос.текст = "...."
Выборка = Запрос.выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НужныйДок = ВЫборка.Заказ.ПолучитьОбъект();
НужныйДок.Оплачено = Выборка.Сумма;
НужныйДок.Записать
КонецЦикла
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот