|
Регистрация изменений: ОбменДанными.Получатели.Добавить работает через раз! | ☑ | ||
|---|---|---|---|---|
|
0
Mr_Best
06.08.14
✎
06:00
|
Всем привет! Уже скоро 5:40 утра, а я все кручу-верчу 1С, а она чето не работает :(
1С:Предприятие 8.3 (8.3.4.496) Альфа-Авто: Автосалон+Автосервис+Автозапчасти. Редакция 4.1 (4.1.01.22) Суть проблемы: обмен - РИБ(2 узла), для новых документов не регистрируются изменения для узлов, авторегистрация установлена в Запретить, если после создания документа его перепровести - все изменения зарегистрируются как надо. Механизм: в обработчике события документа ПриЗаписи вызывается функция в которой получается список узлов для регистрации и собственно регистрируется. Сначала регистрируется сам документ, потом по очереди в цикле его движения. Выглядит это так: Для каждого НаборЗаписей из ДвигаемыеРегистры Цикл МетаданныеРегистр = НаборЗаписей.Метаданные(); // отсечем сразу, чтобы потом не обращаться лишний раз к процедуре.. Если (ПланОбменаМетаданныеСостав.Найти(МетаданныеРегистр) = неопределено) Тогда Продолжить; // нет в составе плана обмена КонецЕсли; Если ЭтоУдаление Тогда // При удалении объекта, если у нас уже были зарегистрированы его движения //правильнее будет их отменить - пусть в сообщении отправится одно лишь удаление объекта ПланыОбмена.УдалитьРегистрациюИзменений(МассивУзловПолучателей,НаборЗаписей); Иначе //ПланыОбмена.ЗарегистрироватьИзменения(МассивУзловПолучателей,НаборЗаписей); // Виталий + 2014.08.06 Для Каждого УзелПолучатель Из МассивУзловПолучателей Цикл НаборЗаписей.ОбменДанными.Получатели.Добавить(УзелПолучатель); КонецЦикла; // Виталий - 2014.08.06 КонецЕсли; КонецЦикла; погуглив обнаружил, что вместо этого ЗарегистрироватьИзменения можно использовать это ОбменДанными.Получатели.Добавить ну и сделал так. Все заработало, только хотел начинать радоваться как обнаружил что это работает для всех регистров кроме одного! Ну все одинаков и регистры однотипные(регистры накопления), помогите люди знающие, помогите люди знающие, ну шо ей, этой одинС надо то? |
|||
|
1
Mr_Best
06.08.14
✎
06:11
|
И еще чуть чуть о проблеме: документ на котором я провожу тесты делает движения всего по 3-м регистрам, если использовать ЗарегистрироватьИзменения, то:
- при создании нового регистраций движений нет вообще - при перепроведении все три регистра с регистрацией Если использовать ОбменДанными.Получатели.Добавить, то: - при создании есть регистрация только по 2 регистрам - при перепроведении будет регистрация по этим же 2 регистрам |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |