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