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

11.07.19

Интеграция - Перенос данных 1C

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
СравнениеСправочниковДокументовВРазныхБазах_УФ.epf
.epf 27,37Kb ver:1.0.2
266 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

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

UPD. 11.07.2019 Исправлена ошибка при создании элементов формы динамического списка

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

См. также

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27660 24894 руб.

12.06.2017    148458    864    302    

455

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.21.x).

35000 руб.

23.07.2020    58779    284    75    

224

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.246.x) и БП 3.0 (3.0.175.x). Правила подходят для версии ПРОФ и КОРП.

35000 руб.

15.12.2021    27848    198    58    

153

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    175134    319    267    

388

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

16260 руб.

18.02.2016    191295    626    536    

545

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Перенос данных из КА 1.1 в КА 2 | из КА 1.1 в УТ 11 | Воспользовались более 367 компаний! | Переносятся все возможные виды документов, начальных остатков и вся справочная информация из "1С:КА 1.1" в "1С:КА 2.х" / "1С:УТ 11" | Разработан в формате КД 2 (правила конвертации данных) | Фильтр по организациям при выгрузке | Выбор разных алгоритмов выгрузки начальных остатков | Можно проверить перенос до покупки!

55778 50200 руб.

04.12.2015    194243    254    351    

409

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    39724    112    73    

106

Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь 1С v8.3 1С:Управление производственным предприятием 1С:Документооборот 1С:Комплексная автоматизация 2.х 1С:КА 1С:ДО Платные (руб)

Продукт "Интеграция с 1С:Документооборот" позволяет использовать функции программы "1С:Документооборот 8" напрямую из учетной системы (1С:УПП; 1С:КА, 1С:УТ 10.3, 1С:БГУ 1.0, 1С:ЗБУ 1.0, 1С:УПП для Казахстана и отраслевых решений, разработанных на их основе) на платформе "1С:Предприятие 8": выполнять и ставить задачи, просматривать документы, скан-копии и прочие файлы, штрих-кодировать документы отправлять письма, вести учет рабочего времени - не входя в "1С:Документооборот 8", работая в одной программе, что значительно сокращает время и делает работу более комфортной и эффективной. Продукт прошел сертификацию 1С-Совместимо

110400 руб.

11.06.2015    59187    38    20    

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

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

надо написать:
СписокРеквизитов = ОткрытьФормуМодально("ВнешняяОбработка.СравнениеСправочниковДокументовВРазныхБазах.Форма.ФормаВыбораРеквизитов", ПараметрыФормы);
6. ediks 338 16.06.13 21:10 Сейчас в теме
(5) Да, Вы совершенно правы, есть такой косяк. Исправился.
7. KostyaBu 20 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 338 03.10.13 21:20 Сейчас в теме
(7)
1. Наконец-то исправился.
2. Насчет УТ 11 - попробовал на демо УТ 11 сравнить справочники "Виды номенклатуры" - вроде все нормально (см. картинку). Версия УТ 11 и платформы - на второй картинке
Прикрепленные файлы:
16. 4ytta 25 18.11.19 07:22 Сейчас в теме
(7) Тоже вылетает такая ошибка!
Плюс отбор который накладываю на динамический списка объектов не работает. Т.е. визуально он накладывается, но при Заполнении расхождений обрабатываются все записи по Типу объекта... Это очень не удобно, во вторых чтобы проверить один объект, жду по несколько минут. И еще вопрос, если у меня самописная база, в которой есть справочник Контрагенты со стандартными реквизитами, будет ли работать эта обработка?
17. ediks 338 19.11.19 15:12 Сейчас в теме
(16) Какой релиз платформы?
18. 4ytta 25 19.11.19 15:19 Сейчас в теме
(17)
8.3.14
С отбором переделал. Отбор пользовательский был.
19. ediks 338 19.11.19 16:04 Сейчас в теме
(16)
И еще вопрос, если у меня самописная база, в которой есть справочник Контрагенты со стандартными реквизитами, будет ли работать эта обработка?

По идее, обработка не привязана к какой-либо конфигурации.
20. ediks 338 19.11.19 17:04 Сейчас в теме
(16) Сейчас сравнивал контрагентов в 2-х демобазах БП 3.0 и УТ 11. Обе файловые. Ошибок при сравнении не возникло.
Какая у Вас возникла ошибка, точно такая же как в (7)?
Прикрепленные файлы:
21. 4ytta 25 19.11.19 20:12 Сейчас в теме
(20)да, один в один. Когда приделал отбор к динамическому списку и стал по одному объекту сравнивать, то ошибок не было. А когда всем списком то вываливалась ошибка. Плюс это не кретично, но пожелания, если выбран реквизит которого нету в базе источнике, то вываливается ошибка.
9. nikolal 05.12.13 17:04 Сейчас в теме
В список версий платформы добавьте "8.3", в поле пароля скройте символы.
В остальном обработка очень помогла при наведении порядка в Распределенной Информационной Базе.
10. ANDRU48DOP 5 19.11.14 18:09 Сейчас в теме
Планируете ли сделать обработку в обычной форме?
11. ediks 338 20.11.14 09:39 Сейчас в теме
(10) Нет, не планирую - есть предыдущая публикация. Правда в ней нет сравнения документов.
Светлый ум; +1 Ответить
25. user919627 08.05.24 22:22 Сейчас в теме
(11)Добрый день,подскажите как переделали?Плюс отбор который накладываю на динамический списка объектов не работает. Т.е. визуально он накладывается, но при Заполнении расхождений обрабатываются все записи по Типу объекта...
СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;
ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
ИсточникДанных.Имя = "ОсновнойИсточник";
ИсточникДанных.ТипИсточникаДанных = "Local";
СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
НаборДанных = СхемаКомпоновкиДанных.НаборыДанных[0];
НаборДанных.Имя = "ОсновнойНабор";
НаборДанных.ИсточникДанных = "ОсновнойИсточник";

НаборДанных.Запрос = СформироватьТекстЗапроса(1, Объект.КоличествоВВыборке);
Показать


Вариант = СхемаКомпоновкиДанных.ВариантыНастроек["Основной"]; //основной вариант создается сразу - его создавать не надо
//сразу добавляем поля Свертка, Ссылка и GUID
ПолеКомпоновки = Вариант.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ПолеКомпоновки.Использование = Истина;
ПолеКомпоновки.Поле = Новый ПолеКомпоновкиДанных("Свертка");
ПолеКомпоновки = Вариант.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ПолеКомпоновки.Использование = Истина;
ПолеКомпоновки.Поле = Новый ПолеКомпоновкиДанных("Ссылка");
ПолеКомпоновки = Вариант.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ПолеКомпоновки.Использование = Истина;
ПолеКомпоновки.Поле = Новый ПолеКомпоновкиДанных("ГУИД");


ПолеКомпоновки = Вариант.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));

ПолеКомпоновки.Использование = Истина;
ПолеКомпоновки.Поле = Новый ПолеКомпоновкиДанных("Организация");

// ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных);
// КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек);
// КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
////
//ФильтрСКД = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
//
//
//ПолеОтбора = Новый ПолеКомпоновкиДанных("Организация");
//ФильтрСКД.ЛевоеЗначение = ПолеОтбора;
//ФильтрСКД.Использование = Истина;
//ФильтрСКД.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
//ФильтрСКД.ПравоеЗначение = Объект.Орг;





//выбранные поля
Для каждого ЭлементСписка Из Объект.СписокРеквизитов Цикл
Если ЭлементСписка.Пометка Тогда
ПолеКомпоновки = Вариант.Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ПолеКомпоновки.Использование = Истина;
ПолеКомпоновки.Поле = Новый ПолеКомпоновкиДанных(ЭлементСписка.Значение);
КонецЕсли;
КонецЦикла;
//группировка
ДетальнаяГруппировка = Вариант.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
ДетальнаяГруппировка.Использование = Истина;
ДетальнаяГруппировка.Имя = "ОсновнаяГруппировка";
ПолеГруппировки = ДетальнаяГруппировка.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
ПолеГруппировки.Использование = Истина;
// добавим отбор
Для каждого ЭлементОтбора Из СписокЭлементов.Отбор.Элементы Цикл
НовыйЭлемент = Вариант.Настройки.Отбор.Элементы.Добавить(ТипЗнч(ЭлементОтбора));
ЗаполнитьЗначенияСвойств(НовыйЭлемент, ЭлементОтбора);
КонецЦикла;

// Сгенерируем макет компоновки данных при помощи компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Вариант.Настройки, ДанныеРасшифровки, , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));


ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;

ТаблицаДанных = Новый ТаблицаЗначений;
ПроцессорВывода.УстановитьОбъект(ТаблицаДанных);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
Для каждого СтрокаТаблицы Из ТаблицаДанных Цикл
СтрокаТаблицы.ГУИД = Строка(СтрокаТаблицы.Ссылка.УникальныйИдентификатор());
КонецЦикла;

Возврат ТаблицаДанных;
Показать
12. d@ncer 38 28.06.16 08:13 Сейчас в теме
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(1, 1)}: Ожидается выражение "ВЫБРАТЬ"

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

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

8.3.8
22. user919627 08.05.24 21:46 Сейчас в теме
Плюс отбор который накладываю на динамический списка объектов не работает. Т.е. визуально он накладывается, но при Заполнении расхождений обрабатываются все записи по Типу объекта... Это очень не удобно, во вторых чтобы
23. user919627 08.05.24 21:47 Сейчас в теме
1С:Предприятие 8.3 (8.3.23.1912)
24. пользователь 08.05.24 22:20
Сообщение было скрыто модератором.
...
Оставьте свое сообщение