Настройка синхронизации подразделений для БП 3.0 и ЗУП 3.1

Обмен - Обмен через XML

Настройка синхронизации для сложной организационной структуры. Например, в разных базах есть одинаковые наименования подразделений и подчинены разным родителям.

Всем доброго времени суток.

Данная обработка была сделана для заполнения регистра сведений синхронизации подразделений "Соответствия объектов информационных баз". Как-то раз при обмене рассинхронились подразделения и получился кавардак в организационной структуре, т.к. структура подразделений не простая и ручками в регистре править данные не было времени запилилась данная обработка. Обработка работает как в ЗУП, так и в БП, благо справочники подразделений похожи))) 

Релизы, на которых производилось тестирование:

Платформа: 1С:Предприятие 8.3 (8.3.10.2580)

ЗУП: 3.1 (3.1.3.224)

БП: 3.0 (3.0.52.39)

Инструкция:

Для заполнения структуры подразделений необходимо заполнить организацию и узел обмена и параметры подключения к базе корреспонденту. Если вы базе бухгалтерии, то выбираете узел ЗУП и наоборот. После этого становится доступной кнопка "Заполнить дерево". При заполнении создаются два дерева подразделений, на форме дерево текущей базы, при выборе подразделения корреспондента открывается форма с деревом для выбора. После требуемых заполнений нажимаете кнопку "Перенести записи в регистр".

Вот собственно все.

P.S. Я на всякий случай удалял записи регистра "Соответствия объектов информационных баз" с признаком Объект выгружен по ссылке = Истина.

Скачать файлы

Наименование Файл Версия Размер
Настройка синхронизации подразделений для БП 3.0 и ЗуП 3.1:
.epf 16,44Kb
14.11.17
12
.epf 16,44Kb 12 Скачать

См. также

Комментарии
1. al petrov (petrov_al) 10 15.11.17 11:14 Сейчас в теме
В БУ, часто другое видение структуры подразделений в отличие от ЗУП где есть "штатка", иногда только иерархическое. Мы поступили немного по-другому, на стороне ЗУП выстроено соответствие подразделений БУ и ЗУП, а в правилах обмена переопределяем по этому соответствию.
2. Anton Klesh (grinder) 2 15.11.17 11:19 Сейчас в теме
(1) Ну вот для удобного заполнения этого регистра она и была сделана, когда в штатке 80 регионов и в каждом регионе есть Администрация, бухгалтерия, кадры и т.д. регистр тыкать и заполнять GUIDы не айс...
3. Алексей Милов (milov.aleksey) 292 16.11.17 11:16 Сейчас в теме
(2) Антон, у меня аналогичная ситуация: актуальные подразделения в ЗУП31 и БП30 одинаковые, но разная структура. В ЗУП почти линейная(узел-город и обособленные подразделения внутри). А в БП структура многоуровневая (подразделение - это ЦФУ для целей бюджетирования).
И когда в зарплате добавляют новые подразделения при переносе свода проводок(документ Отражение зарплаты в бухучете), в БП они появляются в корне справочника.
Будет ли новое подразделение, созданное в ЗУП "ложится" куда надо в БП, если при создании нового подразделения подписчиком заполнять регистр соответствия или эта технология только для уже существующих подразделений? И какова структура регистра сведений? Можно картинкой.
4. Anton Klesh (grinder) 2 16.11.17 12:00 Сейчас в теме
(3)Алексей, при создании нового подразделения лучше создать подразделение в базе корреспонденте и настроить соответствие. По умолчанию может улететь к не правильному родителю. Мы вообще в правилах меняли присвоение подразделения в документе "Отражение зарплаты в бухучете". У нас тоже система похожая при бюджетировании, родители подразделений являются узлами затрат по организации в целом.
Прикрепленные файлы:
5. Алексей Милов (milov.aleksey) 292 17.11.17 11:34 Сейчас в теме
(4) Открыл типовой РС.СоответствияОбъектовИнформационныхБаз, поставил отбор по Узлу, типу СправочникСсылка.ПодразделенияОрганизаций, ОбъектВыгруженПоСсылке = истина. Очистил. Перекрётсно заполнил в ЗУп и БП. Но мой вопрос это не решает. Это восстановление структуры.

Сделал проще. Создал подписчик в ЗУП и БП, который отменяет создание нового подразделения при загрузке. Добавят вручную новое подразделение в обе базы, поместив в нужную иерархию. Потом перегружаем свод проводок Отражение зарплаты в бухучете. Не добавили в бухгалтерию - получили документ с битой ссылкой. Бухгалтерия не даст провести документ, пока не создашь новое подразделение. Создать можно по названию шаблона проводки(Способы учета зарплаты), т.к. у нас одноимённые. Повторить перегрузку ЗУП-->БП.

//Защита от загрузки новых подразделений из ЗУП31.
Процедура ттПодразделения_ПередЗаписью(Источник, Отказ) Экспорт
   
    //если новое ЦФУ(добавлено в ЗУП31) и попытка изменения загрузкой(положения в дереве справочника), 
    //то отказать в записи
   Если Источник.Ссылка.Пустая() и Источник.ОбменДанными.Загрузка Тогда

	   Возврат;	//синхронизация прошла успешно, но при этом новые подразделения не создались	   
	                        //Отказ = истина;  //тогда на стороне ЗУП синхронизация пишет Прервалось и т.п.
	КонецЕсли;
   
КонецПроцедуры
Показать
6. Anton Klesh (grinder) 2 17.11.17 14:51 Сейчас в теме
(5)ну у всех разные задачи, вернее результат, который хочет видеть пользователь.
7. Александр Попков (pas) 46 05.12.17 09:07 Сейчас в теме
Подскажите, пожалуйста, как с помощью вашей обработки настроить соответствие вида: одно подразделение в БП к нескольким в ЗУП. При этом напрашивается третий столбец, чтобы видеть название подразделений в ЗУП.
8. Anton Klesh (grinder) 2 05.12.17 12:28 Сейчас в теме
(7)Добрый день. Никак, ручками дублировать записи в регистре сведений, можно конечно сделать список ИД источника и обрабатывать по списку, чтобы добавлять несколько к одному, но пока в это не нужно. А название подразделения видно в подборе.
9. Алексей Милов (milov.aleksey) 292 21.12.17 11:53 Сейчас в теме
Стояла задача: перегружать свод проводок(документ Отражение зарплаты в бухучёте) из ЗУП3.1.2.462 в БП3.0.54 так, чтобы не менялась иерархия подразделений, различная в зарплате и бухгалтерии. В бухгалтерии много уровней подчинения. При перегрузке некоторые подразделения перемещаются в корень справочника.
Решение:
1) в бухгалтерии создал подписчик, откатывающий изменения подразделений при загрузке из зарплаты и запрещающий создавать, пока в БП подразделение не создано руками.
Прикрепленные файлы:
10. Алексей Милов (milov.aleksey) 292 21.12.17 12:26 Сейчас в теме
2) в типовом правиле обмена изменил приоритет подразделения из ЗУП с "Выше" на "Ниже". Чтобы при разрешении конфликта синхронизации приоритет оставался за подразделением бухгалтерии. В настройках синхронизации ЗУП выгружаются три файла: правила регистрации, правила конвертации и правила обмена. Правила обмена загружаем в Конвертацию 2.1.8.2, меняем настройку. Затем загружаем архив всех файлов обратно в синхронизацию. После синхронизации ЗУП с БП загружен документ Отражение зарплаты в бухучете и подразделения не "вылезают" в корень справочника. В предупреждениях при синхронизации данных. Было: "Конфликт был разрешен автоматически в пользу программы "ЗУП".Версия в этой программе была заменена на версию из другой программы." Стало: "Конфликт был разрешен автоматически в пользу этой программы. Версия из другой программы была заменена на версию из этой программы".
Ну, оставил сочетание обоих решений. Если при обновлениях в бухгалтерии снесут подписчик, то сработает правило и наоборот.
Прикрепленные файлы:
user695463_zda; +1 Ответить
11. Anton Klesh (grinder) 2 21.12.17 14:57 Сейчас в теме
(10)Нормальное решение, я бы в расширение ваш подписчик убрал, чтобы при обновлении все норм было.
12. Алексей Милов (milov.aleksey) 292 27.12.17 09:28 Сейчас в теме
(10) Недолюбливаю расширения. Внешнее, может отвалиться:) Что может случиться с собственным подписчиком и его обработчиком общем модуле?
13. Anton Klesh (grinder) 2 27.12.17 12:56 Сейчас в теме
Ну на вкус и цвет, пока ничего не отваливалось))))) полгода работает все отлично.
Оставьте свое сообщение