2

ОбработкаПроведения() и фактическое движение

#1С 8.2

В обработке проведения у документа пишу в регистр нужные мне значения. В конце обработки стоит процедура, которая делает запрос к базе и смотрит, что записано в регистр по данному документу. Запрос при первичном проведении всегда возвращается пустой. При повторном проведении - с данными первого проведения. Получается, что даже если в обработке проведения есть код

Движения.ТЕ_РеквизитыДоговоров.Записывать = Истина; Для Каждого ТекСтрокаРеквизитыДоговора Из РеквизитыДоговора Цикл Движение = Движения.ТЕ_РеквизитыДоговоров.Добавить(); Движение.Период = Дата; Движение.ОсновнойДоговор = ОсновнойДоговор; Движение.Реквизит = ТекСтрокаРеквизитыДоговора.Реквизит; Движение.Значение = ТекСтрокаРеквизитыДоговора.Значение; КонецЦикла;

То движение, по факту, все равно происходит ПОСЛЕ ОбработкиПроведения()? Куда в таком случае лучше пихать процедуру с запросом, которая будет получать только что записанные данные проведения?

 1933 1
ДобавленоГригорий632 дня назад
Отредактировано627 дней назад


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

Кирилл написал:632 дня назад0

Привет!

Тут всё достаточно просто. Есть два пути записи при проведения:

  1. Просто заполнить наборы движений, а документ сам их запишет
  2. Записывать наборы записей прямо в обработке проведения в явном виде

В первом случае:

Движения.Товары.Записывать = Истина;
Движения.Товары.Очистить();
Для Каждого ТекСтрокаТовары Из Товары Цикл
......
КонецЦикла;

Во втором случае это выглядит к коду добавляется еще строка:

Движения.ТоварыНаСкладах.Записать();

Получается в твоём случае что бы получить результат запроса нужно пойти по второму сценарию - в этом случае ты можешь сразу получить эти записи результатом запроса.

Если записываться на будет посмотри на свойство “Записывать” у регистра (Движения.Товары.Записывать = Истина) и на свойство документа “Записывать выбранные” (правой кнопкой по документу - свойства).

Но я советую пользоваться записью регистров “после обработки проведения”. Записывая регистры в разных документах в разной последовательности можно словить “deadlock” или взаимоблокировку. Штука неприятная и найти её потом очень сложно.

Ответить

Задать вопрос!

Наш канал на Youtube

Изучаете 1С? Скачайте 200 видео по 1С бесплатно:

Похожее

Как создать регистр накопления оборотов?

Привет, как правильно создать регистр накопления оборотов? Я добавил новый отчёт...

1С 8.2: Ошибка при вызове метода контекста (Выполнить) Ожидается выражение "ВЫБРАТЬ"

Всем привет. Помогите пожалуйста!!!!!!!!!!!!!!! Выдает ошибку. Была пропущена т...

Создать Движение по регистру

Здравствуйте! Подскажите, пожалуйста. В новом документе я делаю движение по реги...

Вопрос по регистрации наработок оборудования в ERP. Проблема проведения

Добрый день! Пытаюсь разобраться с работой в этой конфигурации, и возникает очен...

Изменение реквизитов элементов справочника при проведении документа

Доброго времени суток! Прошу помочь, нужно изменить реквизиты элементов справочн...

Новое

Prada Сумки 1786 Абрикос [2614] [Prada Totes-648] - $366.00 : Spyder куртки , pradamen.top

PradaPrada сумкиPrada сумки[b][url=http://www.pradamen.top/ru/]Prada[/url][/b] [...

Серия Hublot Big Bang

Hublot женские часы Hublot часы продажа [b][url=http://www.hublotmenswatches.top...

Spyder лыжные очки

Spyder свитер куртка Spyder куртка для женщин [b][url=http://www.spydersale.top/...

Pandora Happy Holidays

пандораПандора прелестиПандора браслет [b][url=http://www.pandoraclips.top/ru/]п...

Nike Air Max 2014 Древесный уголь Серый Зеленый - $121.00 : Найк магазины выходные, nikerunning.top

Выход Найк Air Max 1 Найк [b][url=http://www.nikerunning.top/ru/]макс воздуха 90...