По порядку Senior Проведение документов обновлено

Шаги проведения по новой методике

Вопрос

Расставьте шаги проведения расходного документа с контролем остатков по новой методике.

Попробуйте сами

Расставьте шаги по порядку стрелками.

  1. 1
    Записать движения (Движения.Записать())
  2. 2
    При отрицательных остатках сообщить пользователю и установить Отказ = Истина
  3. 3
    Установить у набора записей БлокироватьДляИзменения = Истина
  4. 4
    Запросом получить остатки по товарам документа с границей Включая
  5. 5
    Сформировать движения по регистрам
  6. 6
    Получить данные документа запросом
Показать ответ и разбор

Коротко

Новая методика сначала пишет, потом проверяет. Исключительная блокировка ставится на изменяемые данные при записи и держится до конца транзакции, поэтому параллельный документ подождёт.

Правильный порядок

  1. 1
    Установить у набора записей БлокироватьДляИзменения = Истина
  2. 2
    Получить данные документа запросом
  3. 3
    Сформировать движения по регистрам
  4. 4
    Записать движения (Движения.Записать())
  5. 5
    Запросом получить остатки по товарам документа с границей Включая
  6. 6
    При отрицательных остатках сообщить пользователю и установить Отказ = Истина

Разбор

Новая методика сначала пишет, потом проверяет. Исключительная блокировка ставится на изменяемые данные при записи и держится до конца транзакции, поэтому параллельный документ подождёт. Отказ откатывает всю транзакцию вместе с записанными движениями.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме