|
0
Popkorm
18.07.14
✎
12:04
|
В Подписке перед записью работает:
Процедура ПриЗаписиЧЧЧОбмен(Источник, Отказ, Замещение) Экспорт
Если Источник.ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если Не Отказ Тогда
Регистрировать = Ложь;
ЭтаБаза = ПланыОбмена.Оперативный.ЭтотУзел();
Если НЕ ЭтаБаза.Главный Тогда //Регистры накоплений регистрируем для Центральной базе
Регистрировать = Истина;
КонецЕсли;
Если Регистрировать Тогда
ВключитьРегистрацию(Источник);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ВключитьРегистрацию(Источник)
//Получение узлов для конкретного склада
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Оперативный.Ссылка
|ИЗ
| ПланОбмена.Оперативный КАК Оперативный
|ГДЕ
| Оперативный.Ссылка <> &ЭтотУзел";
Запрос.УстановитьПараметр("ЭтотУзел", ПланыОбмена.Оперативный.ЭтотУзел());
Выборка = Запрос.Выполнить().Выбрать();
// Регистрация изменений для выбранных узлов
Пока Выборка.Следующий() Цикл
Источник.ОбменДанными.Получатели.Добавить(Выборка.Ссылка);
КонецЦикла;
КонецПроцедуры
Через ВнешниюОбработку не работает:
Процедура ПолучитьДвиженияРегПоДок(ДокСсылка)
Замещение = "";
ПриЗаписиРегистраНакопленийОперативныйОбмен(ДокСсылка.ПолучитьОбъект(), ложь, Замещение);
ЦЦЦЦЦ= РегистрыНакопления.ЦЦЦЦЦ.СоздатьНаборЗаписей();
ЦЦЦЦЦ.Отбор.Регистратор.Установить(ДокСсылка);
Замещение = "";
ПриЗаписиРегистраНакопленийОперативныйОбмен(ИнтекоРег, ложь, Замещение);
ВВВВ= РегистрыНакопления.ВВВВ.СоздатьНаборЗаписей();
ВВВВ.Отбор.Регистратор.Установить(ДокСсылка);
Замещение = "";
ПриЗаписиРегистраНакопленийОперативныйОбмен(ВВВВ, ложь, Замещение);
КонецПроцедуры
Процедура ПриЗаписиРегистраНакопленийОперативныйОбмен(Источник, Отказ, Замещение)
//Если Источник.ОбменДанными.Загрузка Тогда
// Возврат;
//КонецЕсли;
Если Не Отказ Тогда
Регистрировать = Ложь;
ЭтаБаза = ПланыОбмена.Оперативный.ЭтотУзел();
Если НЕ ЭтаБаза.Главный Тогда //Регистры накоплений регистрируем для Центральной базе
Регистрировать = Истина;
КонецЕсли;
Если Регистрировать Тогда
ВключитьРегистрацию(Источник);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ВключитьРегистрацию(Источник)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Оперативный.Ссылка
|ИЗ
| ПланОбмена.Оперативный КАК Оперативный
|ГДЕ
| Оперативный.Ссылка <> &ЭтотУзел";
Запрос.УстановитьПараметр("ЭтотУзел", ПланыОбмена.Оперативный.ЭтотУзел());
Выборка = Запрос.Выполнить().Выбрать();
// Регистрация изменений для выбранных узлов
Пока Выборка.Следующий() Цикл
Источник.ОбменДанными.Получатели.Добавить(Выборка.Ссылка);
КонецЦикла;
КонецПроцедуры
|
|