Помогите с идеями и подсказками по обмену, пожалуйста. Приветствуется и просто обсуждение.

УТ10. Базы: центр и точки. Всё работает, базы идентичны, обмены ходят (справочники + регистры сведений + определенные документы и их движения).
Обмен по правилам через МОД8 (хотя это не принципиально, правила обмена и во встроенных планах обмена имеются и тоже настраиваются почти аналогично, только через "конвертацию данных").

1. Как при обмене правилами или после обмена в приёмной базе оставлять движения регистров остатков, относящихся только к складам этой точки, а остальные не двигать, игнорировать?

Сейчас, в сателлитной базе при появлении документа из центра, например, перемещения, движения по складам этой базы приходуются, а по складу-отправителю копится минус, ибо нет "предыдущих" документов из цепочки (они не выгружаются из центра для этой точки, ни к чему в сателлите ВСЕ приходные от поставщиков на всю контору, а отделить персональные приходные не представляется возможным, закупается консолидированно и приходуется целиком по первичке).

Мысли завязли, крутятся около нескольких вариантов.
Первый вариант, при выгрузке данных из центра или при загрузке в точке правилами отсекать "лишние" движения регистров остатков (и т.п.).
Второй, как было в 7ке у Астора, например, правила непричём, а в модуле проводки документа они переписали функции "ОбработкаПроведения", где "Если-Тогда"-условиями двигают регистры только по "своим" складам.

По второму варианту не решусь делать, конфа должна оставаться девственной и любые изменения в коде не должны быть затерты обновлениями, а лазить в модулях проведения в 8ке и квалификации достаточной нет.
По первому варианту не понимаю пока как сделать. Наверное, просто по признаку "вид движения" (приход, расход) не получится, движения (перемещения) могут в обе стороны быть. С подписками на события тоже пока не разобрался, как они могут помочь в этом тонком деле? Тут нужна ваша помощь.

2. Есть еще один нюанс, путающий меня.
Документ, пришедший с обменом из центральной в базу-приёмник, ляжет с признаком проводки и готовыми движениями по регистрам. Но что будет, если в этой базе выполнится "восстановление последовательности"? Документ-то перепроведется и двинет ВСЕ регистры по алгоритму проведения, в т.ч. те, которые не нужно. И тогда смысл замутов с обменами теряется. В чем я путаюсь? Или не зря сомневаюсь?

3. Еще, подскажите, пожалуйста, источники знаний (книги, методички, ссылки и тд) на тему 1С8-обменов или МОД8.
---
Попробуйте добавить реквизит обычный к плану обмена "Склад", типа СправочникСсылка, или табличную часть "Склады" (как в примере ниже), если на узле несколько складов, далее код примерно такой, к примеру:

Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента)

Подходит = Ложь;
Имя = МетаданныеЭлемента.ПолноеИмя();
тТочка = Найти(Имя, ".");
ТипОбъекта = Лев(Имя, тТочка-1);

//справочники и регистры сведений мигрируют по всем базам
Если ТипОбъекта = "Справочник" Или ТипОбъекта = "РегистрСведений" Тогда
     Подходит = Истина;
Иначе
//все остальные регистры проверяем по документы
     ТипОбъекта = "Документ";
     ОбъектПроверки = ОбъектПроверки.Отбор.Найти("Регистратор").Значение;
     МетаданныеЭлемента = ОбъектПроверки.Метаданные();

     Если ЕстьРеквизит("Склад", МетаданныеЭлемента) Тогда
 Если Склады.Найти(ОбъектПроверки.Склад) <> Неопределено Тогда
      Подходит = Истина;
 КонецЕсли;
     КонецЕсли;

КонецЕсли;

Если Не Подходит Тогда
 ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалить;
КонецЕсли;

КонецПроцедуры
---
Попробуйте добавить реквизит обычный к плану обмена "Склад", типа СправочникСсылка, или табличную часть "Склады" (как в примере ниже), если на узле несколько складов, далее код примерно такой, к примеру:

Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента)

Подходит = Ложь;
Имя = МетаданныеЭлемента.ПолноеИмя();
тТочка = Найти(Имя, ".");
ТипОбъекта = Лев(Имя, тТочка-1);

//справочники и регистры сведений мигрируют по всем базам
Если ТипОбъекта = "Справочник" Или ТипОбъекта = "РегистрСведений" Тогда
     Подходит = Истина;
Иначе
//все остальные регистры проверяем по документы
     ТипОбъекта = "Документ";
     ОбъектПроверки = ОбъектПроверки.Отбор.Найти("Регистратор").Значение;
     МетаданныеЭлемента = ОбъектПроверки.Метаданные();

     Если ЕстьРеквизит("Склад", МетаданныеЭлемента) Тогда
 Если Склады.Найти(ОбъектПроверки.Склад) <> Неопределено Тогда
      Подходит = Истина;
 КонецЕсли;
     КонецЕсли;

КонецЕсли;

Если Не Подходит Тогда
 ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалить;
КонецЕсли;

КонецПроцедуры
---
попробую понять, что предлагаете.
---
В начале процедуры пропустил:
Попытка
  МетаданныеЭлемента = ЭлементДанных.Метаданные();
 Исключение
  //это не то, что нам нужно
  Возврат;
 КонецПопытки;
---
в строке
ОбъектПроверки = ОбъектПроверки.Отбор.Найти("Регистратор").Значение;
опечатка, верно будет:
ОбъектПроверки = ЭлементДанных.Отбор.Найти("Регистратор").Значение;
---
Как понял, это третий вариант, основаный на встроенном плане обмена. Аналогию нашел в плане обмена "ОбменУправлениеТорговлейРозничнаяТорговля". Там тоже заполняются таблицы разрешенных, а потом
ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалить; при выгрузке.

Осталось додумать как её прикрутить к планам обмена МОДа... Там немного другая концепция, списки разрешенных-запрещенных внутри базы настраиваются и есть свои "фильтры" с функциями и обработчиками. Хотелось бы в первую очередь их раскусить и воспользоваться. (К МОД под 7.7 была очень хорошая документация с примерами, что не скажу про МОД под 8, скудные примеры).
---
Всё ещё нужна помощь.
---
: /
---
Кто разбирается в правилах обменов или пользуется МОД8, ау?
---
Пункт 3 не актуален, нашел книги Радченко и Хрусталевой.
Вопрос по п1. отменяется из-за п.2.
Придётся поискать возможности в подписке на событие "проведения" или делать новый объект "док.перемещениедругое" со своим модулем проводки и правилами обмена превращать из одного дока другой.