gifts2017

Сравнение реквизитов документов и справочников из разных ИБ

Опубликовал Юрий (Yuriy.MW) в раздел Обработки - Обработка документов

Как сравнить документы из разных баз? Переходите с версии 7.7 на 8-ю, у вас множество связанных баз или при обмене произошел сбой? Данная обработка поможет сверить различные объекты в нескольких базах. Например, убедиться, что суммы и отметки проведения налоговых документов за прошлый период совпадают в торговой и бухгалтерской ИБ.

Как это работает? Пройдемся по шагам настройки одного из вариантов сравнения.

Хочу заметить, что обработка отлаживалась, на небольшом количестве задач, так что возможны неточности в ее работе!

Задача: сравнить справочники «Валюты» и курсы этих валют.

Настройка обработки:

  1. Сначала необходимо настроить список баз, которые будут участвовать в сравнении. Это выполняется на закладке «Параметры подключений» (подключении к базам выполняется через com-объекты). Указываем строку подключения, версию платформы и устанавливаем флаг «Текущая», если обработка открыта в базе, которая есть в списке. При необходимости можем снять отметку «Проверять», тогда соответствующие ИБ не будут участвовать в сравнении. step1
  2. Переходим на закладку «Настройки сверки». Добавляем новый объект сравнения и называем его каким-то общим именем.step2
  3. Для настройки соответствий объектов необходимо перейти в «Расширенный режим настройки». Выбираем имя обекта в каждой из баз. В этом нам поможет специальная форма выбора из метаданных, если подключение к базам будет выполнено успешно (имена объектов также можно, а иногда и нужно, прописать вручную, непосредственно в поле).step3
  4. Так же в этой табличной части, при необходимости можно задать специфические отборы (например, если объектов слишком много).  step4
  5. Для каждого из объектов необходимо описать поля, по которым будет выполняться сравнение. Добавляем поле «Код». Обязательно устанавливаем отметку, что по этому полю будет выполняться поиск элементов. На закладке соответствий определяем имена реквизитов для каждой из баз.
    Аналогично добавляем поле полного наименования.step5

  6. Также нам необходимо сравнить курсы валют. Для этого в источнике поля указываем «Поле регистра сведений - периодического», Имя регистра – «КурсыВалют», Имя реквизита – «Курс». step6

  7. Этот функционал предусматривался для регистра ЗначенияСвойствОбъектов или периодических регистров сведений с измерением по которому можно выполнить отбор. В колонках «Поле регистра» и «Значение поля» нужно описать отбор по измерениям. В нашем случае измерение «Валюта» должно быть равно реквизиту «Ссылка» той валюты которая сравнивается (на это указывает спец.конструкция «%Р%»). Также в значении поля можно указать какой-то примитивный тип или предопределенное ссылочное значение. step7

  8. Для каждого из реквизитов можем определить цвет выделения в отчете. step8

  9. Выполненные настройки мы можем сохранить в текущей базе.
    Для сравнения документов также следует задать период их выборки.
    «Выполнить» step9

В итоге мы получаем отчет о результатах сравнения. В нем отображаются только отличия.
Не найденные объекты будут подсвечены красным. В колонке «Поле» указано поле сравнения, а в колонках каждой из баз - значения полей. 
step10

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

Наименование Файл Версия Размер
полуУниверсальная обработка сверки реквизитов справочников и документов 22
.epf 78,81Kb
14.12.15
22
.epf st1.2 78,81Kb Скачать

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение

Комментарии

1. Алексей Новиков (Новиков) 15.12.15 10:12
Спасибо за интересное решение!
2. Илья (husky) 15.12.15 13:06
Зависает при нажатии на кнопку выбора в поле "Имя объекта" (Управление производственным предприятием, редакция 1.3 (1.3.69.3) ,
платформа 1С:Предприятие 8.3 (8.3.7.1790)).

Огорчен, 2 мани стоит обработка и не работает.
3. Юрий (Yuriy.MW) 15.12.15 14:18
(2) husky, постараюсь проверить на вашей конфигурации. Имя объекта можно прописать и вручную, как оно задано в конфигурации.
4. Сергей Лесовой (Synoecium) 16.12.15 10:53
Картинка анонса наводит на мысль что это очередная простенькая поделка. Но когда прочитал описание, понял что обработка достаточно мощная. Если еще и работает без багов, то респект автору.
5. Юрий (Yuriy.MW) 24.12.15 12:44
(2) husky, конечно моя обработка не супер оптимизирована, но в данном случае зависание происходит не по моей вине, а из-за ошибки в платформе. Мне удалось воспроизвести зависание на конфигурации "УТП для Украины", редакция 1.2, платформа виснет при попытке чтения метаданных через ком-объект, причем в моем случае виснет на конкретном справочнике "КлассификаторКОАТУУ" (на других справочниках все ОК). Вот такой код вызывает зависание и не выпадает в исключение:
КолМДРеквизитов = КомОбъект.Метаданные.Справочники.КлассификаторКОАТУУ.СтандартныеРеквизиты;
Для каждого МДРеквизита Из КолМДРеквизитов Цикл
	//
КонецЦикла;

Если кто-то подскажет в чем может быть причина, буду благодарен.
6. Райс Райс (rise) 03.02.16 17:20
Полезная разработка.
Вопрос1.
При сравнении справочников не работает отбор по стандартным реквизитам, например реквизиту "ПометкаУдаления". В списке доступных реквизитов отбора появляется, но не работает. Доработал, но теперь как передать значение отбора типа "Булево" (Ложь/ Истина). Значение отбора возможно только типа "Строка".

Вопрос2.
Как сравнивать реквизиты типа "перечисление"?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа