Есть документ "перемещение между складами",есть реквизиты: склад-отправитель и склад-получатель.
Для отправителя организовал движение по регистру в расход,а для получателя соответственно-приход.
Для документа "расходная накладная" организовал контроль остатков,вопрос: как код из обработки проведения для расходной адаптировать под перемещение между складами?
Код:

```1c
    Процедура ОбработкаПроведения(Отказ, Режим)

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

    Движения.Записать();

    Если Режим = РежимПроведенияДокумента.Оперативный тогда

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОстаткиТоваровОстатки.Склад,
    | ОстаткиТоваровОстатки.Номенклатура,
    | -ОстаткиТоваровОстатки.КоличествоОстаток КАК Количество,
    | ОстаткиТоваровОстатки.СуммаОстаток КАК Сумма
    |ИЗ
    | РегистрНакопления.ОстаткиТоваров.Остатки(
    | ,
    | Склад = &Склад
    | И Номенклатура В
    | (ВЫБРАТЬ
    | РасходнаяНакладнаяСписокТоваров.Номенклатура
    | ИЗ
    | Документ.РасходнаяНакладная.СписокТоваров КАК РасходнаяНакладнаяСписокТоваров
    | ГДЕ
    | РасходнаяНакладнаяСписокТоваров.Ссылка = &Ссылка)) КАК ОстаткиТоваровОстатки
    |ГДЕ
    | ОстаткиТоваровОстатки.КоличествоОстаток < 0";

    Запрос.УстановитьПараметр("Склад", Склад);
    Запрос.УстановитьПараметр("Ссылка", Ссылка);

    РезультатЗапроса = Запрос.Выполнить();

    Если не РезультатЗапроса .Пустой() тогда
    Отказ = Истина;

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    Сообщить("Недосточно товара" + " " + ВыборкаДетальныеЗаписи.номенклатура + " " + "в количестве" + " " + ВыборкаДетальныеЗаписи.Количество);

    КонецЦикла;
    КонецЕсли;

    КонецЕсли;

    КонецПроцедуры
```
---
ИЗ
| Документ.РасходнаяНакладная.СписокТоваров КАК РасходнаяНакладнаяСписокТоваров
Во вложенном запросе укажите источник правильный - табличную часть перемещения.
---
По складу отправителю - расход, по складу получателю - приход. После записи движений - проверка остатков по складу отправителю. В запрос передать СкладОтправитель, ТЧ Реализации заменить на ТЧ перемещения.
---
"ВЫБРАТЬ
  | ОстаткиТоваровОстатки.СкладОтправитель,
  | ОстаткиТоваровОстатки.Номенклатура,
  | -ОстаткиТоваровОстатки.КоличествоОстаток КАК Количество,
  | ОстаткиТоваровОстатки.СуммаОстаток КАК Сумма
  |ИЗ
  | РегистрНакопления.ОстаткиТоваров.Остатки(
  | ,
  | СкладОтправитель = &СкладОтправитель
  | И Номенклатура В
  | (ВЫБРАТЬ
  | РасходнаяНакладнаяСписокТоваров.Номенклатура
  | ИЗ
  | Документ.РасходнаяНакладная.СписокТоваров КАК РасходнаяНакладнаяСписокТоваров
  | ГДЕ
  | РасходнаяНакладнаяСписокТоваров.Ссылка = &Ссылка)) КАК ОстаткиТоваровОстатки
  |ГДЕ
  | ОстаткиТоваровОстатки.КоличествоОстаток < 0";

Так ?
---
ИЗ
| Документ.РасходнаяНакладная.СписокТоваров КАК РасходнаяНакладнаяСписокТоваров
Во вложенном запросе укажите источник правильный - табличную часть перемещения.