Как синхронизировать справочники 2 баз?
Здравствуйте.
Имеется источник УТ 10.3 и приемник БП 2.0.
В базах давно по отдельности велся учет и соответственно названия даже могут чуть по другому называться.
Убедительно прошу, подскажите пожалуйста, есть ли возможность синхронизировать справочники обоих баз данных, для корректного переноса(обмена) документов из одной базы данных в другую, а то на копиях попробовал - получается задвоение в справочниках, даже у тех у кого все совершенно одинаково.
Имеется источник УТ 10.3 и приемник БП 2.0.
В базах давно по отдельности велся учет и соответственно названия даже могут чуть по другому называться.
Убедительно прошу, подскажите пожалуйста, есть ли возможность синхронизировать справочники обоих баз данных, для корректного переноса(обмена) документов из одной базы данных в другую, а то на копиях попробовал - получается задвоение в справочниках, даже у тех у кого все совершенно одинаково.
По теме из базы знаний
- Создание стартовой базы
- База для управления базами. Монстр или Франкенштейн?
- Как система обмена данными помогает решить нетривиальные задачи, характерные для терабайтных баз: обрезка, обслуживание, балансировка нагрузки и другие
- Обслуживание индексов MS SQL Server: как, когда и, главное, зачем?
- Создание мобильного приложения на базе платформы 1С для использования на терминале сбора данных (Часть 1)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) sapravka, как варинат:
1. Сихронизировать организации и контрагентов по ИНН и КПП.
2. Для номенклатуры использовать доп свойства, в поле занести путем сравнения код из УТ или ГУИД.
3. Договора подставлять из БП.
4. Для складов так же использовать доп свойства, либо подогнать коды под УТ.
И лучше конечно не через конвертацию это уже дело делать, а через COM соединение. у меня в компании реализовано через СОМ. Работает загрузка быстро. и если возникает необходимость, легко можно подправить код. И перед первой выгрузкой желательно произвести сравнение номенклатуры и других справочников. и выявить различия.
1. Сихронизировать организации и контрагентов по ИНН и КПП.
2. Для номенклатуры использовать доп свойства, в поле занести путем сравнения код из УТ или ГУИД.
3. Договора подставлять из БП.
4. Для складов так же использовать доп свойства, либо подогнать коды под УТ.
И лучше конечно не через конвертацию это уже дело делать, а через COM соединение. у меня в компании реализовано через СОМ. Работает загрузка быстро. и если возникает необходимость, легко можно подправить код. И перед первой выгрузкой желательно произвести сравнение номенклатуры и других справочников. и выявить различия.
(2) spezc, Наверное уникальным будет НАИМЕНОВАНИЕ.
Но например в источнике есть склад - ЦЕНТРАЛЬНЫЙ, а в приемнике - ЦЕНТРАЛЬНЫЙ СКЛАД, это первое что вспомнилось. Ладно складов не много, а вот номенклатура, контрагенты, договора контрагентов и т.д.
И в справочниках разная иерархия (разные папки в которых они находятся).
Но например в источнике есть склад - ЦЕНТРАЛЬНЫЙ, а в приемнике - ЦЕНТРАЛЬНЫЙ СКЛАД, это первое что вспомнилось. Ладно складов не много, а вот номенклатура, контрагенты, договора контрагентов и т.д.
И в справочниках разная иерархия (разные папки в которых они находятся).
а какие есть варианты?
если в одной базе ИП Иванов, а в другой ИП Иванов А.А. - то только сопоставлять руками в специальном регистре или просто в одной из баз переименовывать. Но все правно нужно будет проконтролировать, чтобы наименования остались уникальными
если в одной базе ИП Иванов, а в другой ИП Иванов А.А. - то только сопоставлять руками в специальном регистре или просто в одной из баз переименовывать. Но все правно нужно будет проконтролировать, чтобы наименования остались уникальными
Да там всего четыре документа нужно из УТ в БП перебрасывать:
1. Поступление товаров и услуг
2. Реализация товаров и услуг
3. Счет фактура выданная
4. Счет фактура полученная
Вот для этого думаю использовать встроенную обработку:
Универсальный обмен данными в формате XML
Написать правила для переноса этих четырех документов.
Контрагенты синхронизировать по ИНН
Склады - их там чуть более 10 - руками думаю поправить.
А вот насчет номенклатуры - Поподробнее можно?
И так же насчет договоров, как договора синхронизировать?
1. Поступление товаров и услуг
2. Реализация товаров и услуг
3. Счет фактура выданная
4. Счет фактура полученная
Вот для этого думаю использовать встроенную обработку:
Универсальный обмен данными в формате XML
Написать правила для переноса этих четырех документов.
Контрагенты синхронизировать по ИНН
Склады - их там чуть более 10 - руками думаю поправить.
А вот насчет номенклатуры - Поподробнее можно?
И так же насчет договоров, как договора синхронизировать?
(11) sapravka, договора пусть при зfuруке автоматом подставляет БП, если реализация то договор в покупателем, если покупка то с поставщиком. ну конечно при условии что их там не по 2 и более. А если нет то как и с номенклатурой, использовать доп свойство в БП называется допольнительный реквизит. Пишите обработку которая выдирает номенклатуру или договора из источника с ГУИД каждого элемента, в БП проставляете в доп реквизитах эти ГУИДЫ, и уже в правило КД вставляете синхронизацию по этому реквизиту.
А можно поподробнее про обработку, которая сначала синхронизировала номенклатуру, контрагентов?
Пример самой обработки или кода можно в студию?(ПОЖАЛУЙСТА).
И про ДОГОВОРА: как в КД прописать, что бы договора проставлялись с бухгалтерии(приемник), а в случаи их отсутствия с источника?
Пример самой обработки или кода можно в студию?(ПОЖАЛУЙСТА).
И про ДОГОВОРА: как в КД прописать, что бы договора проставлялись с бухгалтерии(приемник), а в случаи их отсутствия с источника?
(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, пишите внешнюю обработку и в нее уже вставляете загрузку через СОМ данных, потом уже че хотите с ними то и делаете. Мой Вам совет не запариваться на КД, проблем будет еще больше чем пользы. Написать свою обработку через СОМ и узбагоится на этом)
База = Новый COMОбъект("V83.COMConnector");
Результат = База.Connect("File=""G:\1с\БД_Виндовс_7\Професиональная разработка\Глава 12. Бухгалтерский учет"";Usr=""Пупс"";Pwd=1");
Запрос = Результат.NewObject("Запрос");
Запрос.Текст = "Выбрать * Из Справочник.Сотрудники как П";
//Таблица = Запрос.Выполнить().Выгрузить();
Результат = База.Connect("File=""G:\1с\БД_Виндовс_7\Професиональная разработка\Глава 12. Бухгалтерский учет"";Usr=""Пупс"";Pwd=1");
Запрос = Результат.NewObject("Запрос");
Запрос.Текст = "Выбрать * Из Справочник.Сотрудники как П";
//Таблица = Запрос.Выполнить().Выгрузить();
Часто занимаюсь объединением торговых баз и бухии учреждений в одно целое.
Сливаю доки КД, с подставкой префиксов от филиалов. В доп реквизит каждому доку по УИДу из своей базы. Если потребуется второй раз залить данные, этот УИД сравнивается с заливаемым, если равны - то док уже есть в базе.
Когда сливаются справочники, например номенклатура:
Если есть артикул - мы в шоколаде, они не повторяются, сливаются по артикулам.
Нет артикулов - сливаем номенклатуру в кучу (с задваиванием и тд).
Садится чел, который помечает какую номенклатуру следует объединить в одну.
При объединении, в доп реквизитах номенклатуры записываются УИДы из всех сливаемых баз.
При следующем переносе доков, идет поиск номенклатуры по доп реквизитам соответствия УИДов.
Не нашли - материмся, пусть руками номенклатуру занесут, или нажмут кнопку "создать номенклатуру".
Поиск по доп реквизитам - медленный.
Если есть возможность - лучше всегда снимать с поддержки и добавлять регистр сведений соответствия номенклатуры. В УТ 11й есть "номенклатура поставщика", там можно его заюзать под свои нужды. Создав разрезы номенклатуры по своим базам.
Непонятно - уточняй. Нет времени конкретно сейчас подробно разжевать.
Сливаю доки КД, с подставкой префиксов от филиалов. В доп реквизит каждому доку по УИДу из своей базы. Если потребуется второй раз залить данные, этот УИД сравнивается с заливаемым, если равны - то док уже есть в базе.
Когда сливаются справочники, например номенклатура:
Если есть артикул - мы в шоколаде, они не повторяются, сливаются по артикулам.
Нет артикулов - сливаем номенклатуру в кучу (с задваиванием и тд).
Садится чел, который помечает какую номенклатуру следует объединить в одну.
При объединении, в доп реквизитах номенклатуры записываются УИДы из всех сливаемых баз.
При следующем переносе доков, идет поиск номенклатуры по доп реквизитам соответствия УИДов.
Не нашли - материмся, пусть руками номенклатуру занесут, или нажмут кнопку "создать номенклатуру".
Поиск по доп реквизитам - медленный.
Если есть возможность - лучше всегда снимать с поддержки и добавлять регистр сведений соответствия номенклатуры. В УТ 11й есть "номенклатура поставщика", там можно его заюзать под свои нужды. Создав разрезы номенклатуры по своим базам.
Непонятно - уточняй. Нет времени конкретно сейчас подробно разжевать.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот