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