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

11.07.19

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

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

Файлы

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

Наименование Скачано Купить файл
СравнениеСправочниковДокументовВРазныхБазах_УФ.epf
.epf 27,37Kb ver:1.0.2
267 2 500 руб. Купить

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

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

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Перенос данных 1C Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    186537    440    301    

448

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    159938    960    317    

481

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

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

38000 руб.

15.12.2021    33716    252    64    

190

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 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" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    187671    356    288    

416

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

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

58000 руб.

29.10.2018    62492    80    131    

79

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

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

38000 руб.

23.07.2020    67663    314    94    

252

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

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    83432    224    174    

161

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 10 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

84000 руб.

05.10.2022    13212    15    8    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sirena 11.04.12 11:58 Сейчас в теме
Спасибо, сейчас проверим!
2. rus128 2 12.04.12 12:09 Сейчас в теме
А что означает реквизит "профиль Инфостарта" в таблице на 1-м рисунке и "свертка" - в таблице на 2-м?
3. ediks 339 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 339 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 339 03.10.13 21:20 Сейчас в теме
(7)
1. Наконец-то исправился.
2. Насчет УТ 11 - попробовал на демо УТ 11 сравнить справочники "Виды номенклатуры" - вроде все нормально (см. картинку). Версия УТ 11 и платформы - на второй картинке
Прикрепленные файлы:
16. 4ytta 25 18.11.19 07:22 Сейчас в теме
(7) Тоже вылетает такая ошибка!
Плюс отбор который накладываю на динамический списка объектов не работает. Т.е. визуально он накладывается, но при Заполнении расхождений обрабатываются все записи по Типу объекта... Это очень не удобно, во вторых чтобы проверить один объект, жду по несколько минут. И еще вопрос, если у меня самописная база, в которой есть справочник Контрагенты со стандартными реквизитами, будет ли работать эта обработка?
17. ediks 339 19.11.19 15:12 Сейчас в теме
(16) Какой релиз платформы?
18. 4ytta 25 19.11.19 15:19 Сейчас в теме
(17)
8.3.14
С отбором переделал. Отбор пользовательский был.
19. ediks 339 19.11.19 16:04 Сейчас в теме
(16)
И еще вопрос, если у меня самописная база, в которой есть справочник Контрагенты со стандартными реквизитами, будет ли работать эта обработка?

По идее, обработка не привязана к какой-либо конфигурации.
20. ediks 339 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 339 20.11.14 09:39 Сейчас в теме
(10) Нет, не планирую - есть предыдущая публикация. Правда в ней нет сравнения документов.
Светлый ум; +1 Ответить
25. user919627 08.05.24 22:22 Сейчас в теме
(11)Добрый день,подскажите как переделали?Плюс отбор который накладываю на динамический списка объектов не работает. Т.е. визуально он накладывается, но при Заполнении расхождений обрабатываются все записи по Типу объекта...
СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;
ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
ИсточникДанных.Имя = "ОсновнойИсточник";
ИсточникДанных.ТипИсточникаДанных = "Local";
СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
НаборДанных = СхемаКомпоновкиДанных.НаборыДанных[0];
НаборДанных.Имя = "ОсновнойНабор";
НаборДанных.ИсточникДанных = "ОсновнойИсточник";

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


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


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

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

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





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

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

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


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

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

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

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

ошибка при открытии
13. ediks 339 28.06.16 12:31 Сейчас в теме
(12) Какая конфигурация, платформа?
15. ediks 339 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
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация