gifts2017

Сравнение реквизитов справочников и документов в разных базах по COM-соединению в режиме управляемого приложения.

Опубликовал ediks (ediks) в раздел Обработки - Обработка документов

Сравнение реквизитов справочников и документов в разных базах по COM-соединению. Только управляемое приложение. Сравниваются только реквизиты, без табличных частей.

Данная обработка основана на предыдущей публикации Сравнение элементов справочников двух баз по COM соединению. Алгоритм остался без изменений: заполняется таблица данных текущей базы по выбранным критериям, заполняется таблица данных внешней базы по тем же критериям и обе таблицы сравниваются. Поиск соответствующих объектов производится по UUID. Расхождения выводятся в таблицу формы.

Ключевые отличия:

  • Управляемые формы;
  • Добавлена возможность сравнения реквизитов документов;
  • Вместо построителя используется СКД. В текущей базе программно формируется макет компоновки, сериализуется и передается во внешнюю базу. IMHO стало попроще с поиском объектов во внешней базе. Собственно, их там искать не надо. СКД все делает сама;

P.S. Скачивайте, комментируйте, критикуйте (конструктивно!!!! Laughing)

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

Наименование Файл Версия Размер Кол. Скачив.
СравнениеСправочниковДокументовВРазныхБазах_УФ.epf
.epf 27,08Kb
05.07.16
220
.epf 1.0.2 27,08Kb 220 Скачать

См. также

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

Комментарии

1. Elena Z (Sirena) 11.04.12 11:58
Спасибо, сейчас проверим!
2. Ruslan (rus128) 12.04.12 12:09
А что означает реквизит "профиль Инфостарта" в таблице на 1-м рисунке и "свертка" - в таблице на 2-м?
3. ediks (ediks) 12.04.12 15:21
(2) 1) Я тестировал в своей самописной конфиге. Там есть такой реквизит "Профиль Инфостарта" в документе.
2) Реквизит "Свертка" может принимать значения +1 и -1. Значение -1 означает, что объект получен из внешней базы. Подробности можно прочитать во встроенной справке к обработке в разделе "Интерпретация полученных результатов"
Упс, Вы не скачивали. Тогда подробности выложу здесь:

Интерпретация полученных результатов
В табличной части обработки присутствует реквизит Свертка, который может принимать значения -1 и 1. Значение -1 означает, что объект выбирался из внешней базы. Соответственно, значение 1 означает, что объект выбирался из текущей базы.
Если значение свертки = -1 и объект не найден, то это означает, что объект присутствует во внешней базе и отсутствует в текущей.
Если значение свертки = 1, и нет объекта с таким же UUID, но со значением свертки = -1, то это означает, что объект присутствует только в текущей базе.
5. Дмитрий Кишкин (DmitryKishkin) 16.06.13 20:03
Там вроде вместо
СписокРеквизитов = ОткрытьФормуМодально("ВнешняяОбработка.СравнениеСправочниковВРазныхБазах.Форма.ФормаВыбораРеквизитов", ПараметрыФормы);

надо написать:
СписокРеквизитов = ОткрытьФормуМодально("ВнешняяОбработка.СравнениеСправочниковДокументовВРазныхБазах.Форма.ФормаВыбораРеквизитов", ПараметрыФормы);
6. ediks (ediks) 16.06.13 21:10
(5) Да, Вы совершенно правы, есть такой косяк. Исправился.
7. KostyaBu Bu (KostyaBu) 03.10.13 17:40
Вышеописанный косяк не исправленн! +Обработка не стала работать на торговля 8.2 редакции 11 ругается на
Функция COMЗначениеВСтрокуXML(Соединение, Значение) Экспорт

ЗаписьXML = Соединение.NewObject("ЗаписьXML");
ЗаписьXML.УстановитьСтроку();
Соединение.СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Значение);
Возврат ЗаписьXML.Закрыть();

КонецФункции

{Форма.УправляемаяФорма.Форма(310)}: Ошибка при вызове метода контекста (ЗаписатьXML)
Соединение.СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Значение);
по причине:
Неизвестная ошибка
Неизвестная ошибка
8. ediks (ediks) 03.10.13 21:20
(7)
1. Наконец-то исправился.
2. Насчет УТ 11 - попробовал на демо УТ 11 сравнить справочники "Виды номенклатуры" - вроде все нормально (см. картинку). Версия УТ 11 и платформы - на второй картинке
Прикрепленные файлы:
9. Алексей Николаенко (nikolal) 05.12.13 17:04
В список версий платформы добавьте "8.3", в поле пароля скройте символы.
В остальном обработка очень помогла при наведении порядка в Распределенной Информационной Базе.
10. Андрей Бесчеревных (ANDRU48DOP) 19.11.14 18:09
Планируете ли сделать обработку в обычной форме?
11. ediks (ediks) 20.11.14 09:39
(10) Нет, не планирую - есть предыдущая публикация. Правда в ней нет сравнения документов.
Светлый ум; +1 Ответить
12. d@ncer (d@ncer) 28.06.16 08:13
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(1, 1)}: Ожидается выражение "ВЫБРАТЬ"

ошибка при открытии
13. ediks (ediks) 28.06.16 12:31
(12) Какая конфигурация, платформа?
14. Евгений (JohnnySE) 03.07.16 08:36
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(1, 1)}: Ожидается выражение "ВЫБРАТЬ"

ошибка при открытии

8.3.8
15. ediks (ediks) 05.07.16 13:52
(12), (14)
Исправил. Спасибо за наводку.
Под 8.3 изменилось поведение динамического списка. Теперь он в обязательном порядке требует запрос, если установлен флаг "Произвольный запрос"
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа