Как синхронизировать справочники 2 баз?

1. sapravka 1 17.09.14 08:16 Сейчас в теме
Здравствуйте.
Имеется источник УТ 10.3 и приемник БП 2.0.
В базах давно по отдельности велся учет и соответственно названия даже могут чуть по другому называться.

Убедительно прошу, подскажите пожалуйста, есть ли возможность синхронизировать справочники обоих баз данных, для корректного переноса(обмена) документов из одной базы данных в другую, а то на копиях попробовал - получается задвоение в справочниках, даже у тех у кого все совершенно одинаково.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. tolyan_ekb 80 17.09.14 09:26 Сейчас в теме
(1) sapravka, в правилах указываешь поля поиска, по ним и будет осуществляться синхронизация. Для номенклатуры можно выбрать наименование, артикул, код. Для контрагентов наименование,ИНН.
10. PhoenixAOD 62 17.09.14 10:08 Сейчас в теме
(1) sapravka, как варинат:
1. Сихронизировать организации и контрагентов по ИНН и КПП.
2. Для номенклатуры использовать доп свойства, в поле занести путем сравнения код из УТ или ГУИД.
3. Договора подставлять из БП.
4. Для складов так же использовать доп свойства, либо подогнать коды под УТ.
И лучше конечно не через конвертацию это уже дело делать, а через COM соединение. у меня в компании реализовано через СОМ. Работает загрузка быстро. и если возникает необходимость, легко можно подправить код. И перед первой выгрузкой желательно произвести сравнение номенклатуры и других справочников. и выявить различия.
2. spezc 795 17.09.14 08:18 Сейчас в теме
синхронизация планируется по наименованию? наименования уникальны?
3. sapravka 1 17.09.14 08:35 Сейчас в теме
(2) spezc, Наверное уникальным будет НАИМЕНОВАНИЕ.
Но например в источнике есть склад - ЦЕНТРАЛЬНЫЙ, а в приемнике - ЦЕНТРАЛЬНЫЙ СКЛАД, это первое что вспомнилось. Ладно складов не много, а вот номенклатура, контрагенты, договора контрагентов и т.д.
И в справочниках разная иерархия (разные папки в которых они находятся).
5. PSMNN 45 17.09.14 09:43 Сейчас в теме
Если нет совпадений по реквизитам справочников, то придется регистр сведений создать для записи данных о соответствии элементов справочников в разных базах
6. kot26rus 17.09.14 09:46 Сейчас в теме
(5) PSMNN, и заполнять его руками? то еще счастье
7. spezc 795 17.09.14 09:48 Сейчас в теме
а какие есть варианты?
если в одной базе ИП Иванов, а в другой ИП Иванов А.А. - то только сопоставлять руками в специальном регистре или просто в одной из баз переименовывать. Но все правно нужно будет проконтролировать, чтобы наименования остались уникальными
8. PSMNN 45 17.09.14 09:52 Сейчас в теме
Была практика такого переноса. Делал форму выбора для пользователя и пользователь сопоставлял.
9. sandybaev 203 17.09.14 10:01 Сейчас в теме
Ну так оно и есть. Не получится у Вас сразу синхрануть. По любасу надо третью точку делать для некондиций.
11. sapravka 1 17.09.14 17:20 Сейчас в теме
Да там всего четыре документа нужно из УТ в БП перебрасывать:
1. Поступление товаров и услуг
2. Реализация товаров и услуг
3. Счет фактура выданная
4. Счет фактура полученная

Вот для этого думаю использовать встроенную обработку:
Универсальный обмен данными в формате XML
Написать правила для переноса этих четырех документов.

Контрагенты синхронизировать по ИНН
Склады - их там чуть более 10 - руками думаю поправить.

А вот насчет номенклатуры - Поподробнее можно?
И так же насчет договоров, как договора синхронизировать?
12. PhoenixAOD 62 18.09.14 01:38 Сейчас в теме
(11) sapravka, договора пусть при зfuруке автоматом подставляет БП, если реализация то договор в покупателем, если покупка то с поставщиком. ну конечно при условии что их там не по 2 и более. А если нет то как и с номенклатурой, использовать доп свойство в БП называется допольнительный реквизит. Пишите обработку которая выдирает номенклатуру или договора из источника с ГУИД каждого элемента, в БП проставляете в доп реквизитах эти ГУИДЫ, и уже в правило КД вставляете синхронизацию по этому реквизиту.
13. sapravka 1 18.09.14 08:41 Сейчас в теме
А можно поподробнее про обработку, которая сначала синхронизировала номенклатуру, контрагентов?
Пример самой обработки или кода можно в студию?(ПОЖАЛУЙСТА).

И про ДОГОВОРА: как в КД прописать, что бы договора проставлялись с бухгалтерии(приемник), а в случаи их отсутствия с источника?
14. PhoenixAOD 62 18.09.14 09:02 Сейчас в теме
(13) sapravka, вот так можно сравнить номенклатуру, необходимые данные сами подбираете:
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ИзРозницы", ИзРозницы);
Запрос.УстановитьПараметр("ИзРаруса", ИзРаруса);
Запрос.Текст = 
"ВЫБРАТЬ
|	ИзРаруса.Артикул,
|	ИзРаруса.Код,
|	ИзРаруса.Наименование,
|	ИзРаруса.НаименованиеПолное,
|	ИзРаруса.ЕдИзм,
|	ИзРаруса.Родитель,
|	ИзРаруса.ШК,
|	ИзРаруса.Коэф,
|	ИзРаруса.ВесовойКоэф,
|	ИзРаруса.ТипНоменклатуры,
|	ИзРаруса.Основной
|ПОМЕСТИТЬ Загружаемые
|ИЗ
|	&ИзРаруса КАК ИзРаруса
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
|	ИзРозницы.Код,
|	ИзРозницы.Наименование,
|	ИзРозницы.ШК
|ПОМЕСТИТЬ Имеющиеся
|ИЗ
|	&ИзРозницы КАК ИзРозницы
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
|	Загружаемые.Артикул,
|	Загружаемые.Код,
|	Загружаемые.Наименование,
|	Загружаемые.НаименованиеПолное,
|	Загружаемые.ЕдИзм,
|	Загружаемые.Родитель,
|	Загружаемые.ШК КАК Поле1,
|	Загружаемые.Коэф,
|	Загружаемые.ВесовойКоэф,
|	Загружаемые.ТипНоменклатуры,
|	Загружаемые.Основной КАК Поле3,
|	ВЫБОР
|		КОГДА Имеющиеся.Код = Загружаемые.Код
|			ТОГДА NULL
|		ИНАЧЕ 1
|	КОНЕЦ КАК Код1,
|	Имеющиеся.Наименование КАК Наименование1,
|	Имеющиеся.ШК КАК ШК1,
|	ВЫБОР
|		КОГДА ПОДСТРОКА(Загружаемые.ШК, 0, 2) <> ""25""
|			ТОГДА 0
|		ИНАЧЕ 1
|	КОНЕЦ КАК Поле2
|ПОМЕСТИТЬ Обработка
|ИЗ
|	Загружаемые КАК Загружаемые
|		ЛЕВОЕ СОЕДИНЕНИЕ Имеющиеся КАК Имеющиеся
|		ПО Загружаемые.Код = Имеющиеся.Код
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
|	Обработка.Артикул,
|	Обработка.Код,
|	Обработка.Наименование,
|	Обработка.НаименованиеПолное,
|	Обработка.ЕдИзм,
|	Обработка.Родитель,
|	Обработка.Поле1,
|	Обработка.Коэф,
|	Обработка.ВесовойКоэф,
|	Обработка.ТипНоменклатуры,
|	Обработка.Код1,
|	Обработка.Наименование1,
|	Обработка.ШК1,
|	Обработка.Поле2,
|	Обработка.Поле3
|ИЗ
|	Обработка КАК Обработка
|ГДЕ
|	Обработка.Код1 = 1
|	И Обработка.Поле2 = 0";
Выборка = Запрос.Выполнить().Выгрузить();

Для Каждого Строчка из Выборка Цикл
	Стр = Сравнение.Добавить();
	Стр.Артикул = Строчка.Артикул;
	Стр.Наименование = Строчка.Наименование;
	стр.НаименованиеПолное = Строчка.НаименованиеПолное;
	стр.Коэф = Строчка.Коэф;
	Стр.ВесовойКоэф = Строчка.ВесовойКоэф;
	Стр.ЕдИзм =  Строчка.ЕдИзм;
	Стр.ТипНоменклатуры = Строчка.ТипНоменклатуры;
	Стр.ШК = Строчка.Поле1;
	Стр.Родитель = Строчка.Родитель;
	Стр.Код = Строчка.Код;
	Стр.Основной = Строчка.Поле3;
	
КонецЦикла;
Показать

по такой же аналогии можно и контрагентов прогнать. это для розницы делалось правда но общий принцип будет понятен.
15. sapravka 1 18.09.14 10:25 Сейчас в теме
(14) PhoenixAOD,
Это в КД делается?
в ПКО?

Подскажите пожалуйста, очень нужно.
Поподробнее, если есть возможность.
16. PhoenixAOD 62 18.09.14 10:30 Сейчас в теме
(15) sapravka, пишите внешнюю обработку и в нее уже вставляете загрузку через СОМ данных, потом уже че хотите с ними то и делаете. Мой Вам совет не запариваться на КД, проблем будет еще больше чем пользы. Написать свою обработку через СОМ и узбагоится на этом)
ybatiaev; +1 Ответить
17. sapravka 1 18.09.14 11:05 Сейчас в теме
А можно поподробнее, про внешнюю обработку через COM соединение?
Пример бы очень нужен для данной внешний обработки....
Будте добры, ПОЖАЛУЙСТА!!!
18. reotem 18.09.14 11:18 Сейчас в теме
База = Новый COMОбъект("V83.COMConnector");

Результат = База.Connect("File=""G:\1с\БД_Виндовс_7\Професиональная разработка\Глава 12. Бухгалтерский учет"";Usr=""Пупс"";Pwd=1");

Запрос = Результат.NewObject("Запрос");
Запрос.Текст = "Выбрать * Из Справочник.Сотрудники как П";
//Таблица = Запрос.Выполнить().Выгрузить();
19. sapravka 1 18.09.14 12:00 Сейчас в теме
(18) reotem, Это во внешней обработке, сразу прописываю подключения.
А переброску документов в нужном периоде - тоже тут перебрасывать?
20. reotem 18.09.14 13:16 Сейчас в теме
вы создаете запрос, что мешает вам указать в параметрах запроса период выбора?
21. fzt 19.09.14 06:41 Сейчас в теме
Часто занимаюсь объединением торговых баз и бухии учреждений в одно целое.
Сливаю доки КД, с подставкой префиксов от филиалов. В доп реквизит каждому доку по УИДу из своей базы. Если потребуется второй раз залить данные, этот УИД сравнивается с заливаемым, если равны - то док уже есть в базе.

Когда сливаются справочники, например номенклатура:
Если есть артикул - мы в шоколаде, они не повторяются, сливаются по артикулам.
Нет артикулов - сливаем номенклатуру в кучу (с задваиванием и тд).
Садится чел, который помечает какую номенклатуру следует объединить в одну.
При объединении, в доп реквизитах номенклатуры записываются УИДы из всех сливаемых баз.

При следующем переносе доков, идет поиск номенклатуры по доп реквизитам соответствия УИДов.
Не нашли - материмся, пусть руками номенклатуру занесут, или нажмут кнопку "создать номенклатуру".
Поиск по доп реквизитам - медленный.
Если есть возможность - лучше всегда снимать с поддержки и добавлять регистр сведений соответствия номенклатуры. В УТ 11й есть "номенклатура поставщика", там можно его заюзать под свои нужды. Создав разрезы номенклатуры по своим базам.

Непонятно - уточняй. Нет времени конкретно сейчас подробно разжевать.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот