![]() |
![]() |
![]() |
|
Загрузка документов из нескольких баз в 1 (Бухгалтерия) X Leshiy, Злопчинский, Eiffil123, orakool, Hawk_1c, AlexKimp, Vovik, JohnGilbert, Волшебник, runuts, Prog_man, Seriy_Volk, maxab72, Мультук, Наивный, Климов Сергей, Dmitrii, Новиков, BayJay, nick86, comp2006, Pprog151713, Крэкпэк, svol21, ldo6, DimR_71, Redaktor, skafandr, obs191, bobark, 2S, Сукпун, malikov, sergeev-ag-1977
| ☑ | ||
---|---|---|---|---|
0
K1RSAN
26.06.25
✎
09:17
|
Возникла такая задача, не могу пока понять как это реализовать.
Есть 1 база, в которую надо загружать данные из нескольких других (конфигурация одинаковая, релиз будет поддерживаться одинаковый). Организации разные в "исходных" базах. Вопрос с дублями номенклатуры-контрагентов пока опустим. Желательно, чтобы из одной обработки по нажатию кнопки загружались документы за определенный период из выбранной базы. Такое можно реализовать? Куда копать? |
|||
1
Волшебник
26.06.25
✎
09:19
|
УРБД, т.е. план обмена с флагом "Распределенная"
|
|||
2
K1RSAN
26.06.25
✎
09:21
|
(1) Если базы уже давно существуют - их как-то можно "подружить" как распределенные? Тоже эта мысль возникла, но обычно база основная "мама" и имеет изначально все нужные документы, а от неё откалывают кусочки на распределенку. У нас уже есть несколько баз с разными организациями, дети есть, а мамы еще нет.
|
|||
3
2S
26.06.25
✎
09:27
|
(0) Сейчас технологии позволяют настраивать обмены как душе угодно
|
|||
4
K1RSAN
26.06.25
✎
09:32
|
(3) Через КД?
Я работал пока только с КД2, он подойдет? |
|||
5
d4rkmesa
гуру
26.06.25
✎
09:35
|
(0) Ну тут могут быть разные сочетания формат+транспорт. Формат КД2, ED или свой собственный в виде json, если базы одинаковые, можно типовой сериализацией пользоваться. Обмениваться можно через COM (устарело), http- или web-сервисы, брокеры сообщений или купить ESB, ту же 1С Шину (если есть бюджет). Вариантов может быть много. На ИС вчера буквально читал, был весьма удивлен, что многие используют КД2+Rabbit, правда, там у них под это своя конвертация данных разработана. Но это если прямо есть желание все сделать по одному стандарту и без видимого потолка в производительности транспорта.
|
|||
6
Волшебник
26.06.25
✎
09:37
|
(2) Конечно.
|
|||
7
Tarlich
26.06.25
✎
09:42
|
тут наверно больше вопрос даже не с самим вариантом обмена - а наверное как лучше синхронизировать ?! по гуиду конечно каша будет - но есть удаление дублей . контрагенты - ИНН КПП . номенклатуру - на сколько она вообще разна ? привести к общему коду или наименованию . конечно есть удаление дублей. ну и конечно по каждому спр принимать свое решение . что с историей и кол информации ? может что и ручками
|
|||
8
d4rkmesa
гуру
26.06.25
✎
09:44
|
(4) Я когда-то так делал с КД2+web (если кратко, там веб-сервисы в базах источниках, которые отдают xml, и единственная обработка в приемнике)
https://infostart.ru/1c/articles/203109/ Понятно, что сейчас такой подход устарел, но работает и достаточно просто делается, если есть опыт с КД2. Или вместо КД2 можно сериализовывать и по такому же принципу передавать, но если НСИ везде разные, то лучше все-таки КД2. |
|||
9
K1RSAN
26.06.25
✎
09:48
|
(7) С дублями да, будет каша. Либо унифицировать наименования, коды, создание всего изначально в "общей" базе, чтобы оно потом при синхронизации создавалось в дочках.
Но на начальном этапе будет всё плохо, так как базы работают уже несколько лет, навести порядок там будет тяжело... |
|||
10
K1RSAN
26.06.25
✎
09:48
|
(8) Спасибо, посмотрю
|
|||
11
Tarlich
26.06.25
✎
09:49
|
(9) в этом и есть прелесть нашей работы -))
|
|||
12
2S
26.06.25
✎
09:53
|
(9) Как вариант добавить поле "УИД", писать туда уиды родительской базы и настроить сопоставление при загрузке. По такому принципу настраивали небольшие http-обмены для разношерстных баз.
|
|||
13
Мультук
гуру
26.06.25
✎
10:00
|
(5)
Интересно у этих многих которые "КД2+Rabbit" какой бюджет на отдел 1С ? Сопоставимый с вопрошающим ? (0) >>релиз будет поддерживаться одинаковый) В каждой конфе куча флажочков. И наверняка в каждой они разные. (0) Как вариант ( для баз БП 3.0 ) 1) Настраиваем обмен через "СинхронизацияДанныхЧерезУниверсальныйФормат" с "Ручная синхронизация" 1.1) Думаем "а как склады то" ? 1.2) Выясняем, что документы переносятся "не как есть" а проводятся в целевой базе 1.3) Так как документы переносятся (регистрируются) по велению левой пятки, а меняются произвольно -- неизбежно наступит хаос 1.4) еще всякое думаем 2) Пишем обработку которые будет регать в "тех базах" документы по выбранному периоду -- через com -- через http -- через плоские файлы и прочие ездовые собаки 3) Пытаемся всё это запустить и обнаруживаем, что нужно было начать с остатков, ибо без остатков ничего не переносится 4) Пункт 3, только оказывается что забыли перенести учетную политику по "тем организациям" 5) Испытываем еще кучу попаболи и наконец это работает 6) Через 2-3 месяца удачного полета учредители решают разбежаться и начинается совсем другая история. P.S. Ах да. Выясняем,что всё это ради одного единственного отчета, который можно было переписать и ... не заниматься сами понимаете чем. |
|||
14
vicof
26.06.25
✎
10:04
|
(13) Спасибо, улыбнуло)
|
|||
15
K1RSAN
26.06.25
✎
10:12
|
(13)
П.С. - не удивлюсь ) |
|||
16
craxx
26.06.25
✎
10:22
|
(0) У меня был такой проект. 4 бухгалтерии сливал в одну.
1. Проверить что у всех организаций префиксы уникальны в пределах все 4-х баз 2. проверить что номера документов не пересекаются. 3. Пилить правила обмена. У меня заняло примерно неделю. На КД2 4. правила пилить лучше полностью со всем движняком, чтоб потом не перепроводить. Короче недели на 2-3 развлечения. |
|||
17
Tarlich
26.06.25
✎
11:00
|
(0) вопрос автору - ВЫ больше испытываете техническую трудность или трудность донести до заказчика, с чем они столкнутся? как ни странно бюджет? если это хотят за "дошикак", вам надо быть готовым к не одной бессонной ночи -))
правильно отмечено - а для чего это все ? |
|||
18
X Leshiy
26.06.25
✎
10:59
|
(0) Десяток лет 200 баз в одну сливаются. Нормально настрой поля поиска и будет тебе счастье) Кд2, если что.
|
|||
19
K1RSAN
26.06.25
✎
12:06
|
(17) Ну я сразу подумал про КД2, но решил спросить у опытных людей, может есть другой вариант какой-нибудь, так как КД2 означает либо гемор с настройкой полей поиска, либо гемор по стандартизации данных.
Редко попадаются такие задачи, поэтому не уверен был, что выбранный способ будет оптимальным. Бюджет просят от меня ) оценить стоимость и сроки. Не думаю, что доширак, но и не много миллионов |
|||
20
X Leshiy
26.06.25
✎
14:18
|
(19) Кд3, это натуральная диверсия. Вот поймал бы того, кто это придумал и канделябром по бакенбардам.
|
|||
21
uno-group
26.06.25
✎
14:58
|
Обычно есть 2 варианта
1. из 1 базы в другую документы перемещаются со сменой вида. Приходная становиться расходной и т.п. 2. Собирают все до кучи для консолидированной отчетности А вот тут есть куча вариантов, а нужно ли все сливать в 1 базу или проще построить отчет по нескольким базам. Нужно ли тупо сливать и повторять документы или слить данные нужные для отчетов а это далеко не одно и тоже. Нужно понимание, что и для чего делается, очень многие лишние телодвижение можно убрать и не делать. |
|||
22
X Leshiy
27.06.25
✎
09:38
|
(21) Время. Подключение по com к базе — это как открыть новую. Если баз десяток, то хрен с ним, проще подключиться и забрать данные. Если сотня, тут уж лучше слить то что надо. Кд2 как раз позволяет с движениями перенести доки.
|
|||
23
sergeev-ag-1977
27.06.25
✎
06:07
|
То что базы одинаковые это не значит что у них одинаковые настройки, к примеру того-же плана счетов. Поэтому по факту это перенос одной из них в другую в лучшем случае, а затем разделение либо в РИБ, либо разделение и обмены в 3 базу.
|
|||
24
Eiffil123
27.06.25
✎
09:13
|
(0) сделать на КД 3 свой обмен
|
|||
25
Eiffil123
27.06.25
✎
09:13
|
(20) в чем именно диверсия?
|
|||
26
Климов Сергей
27.06.25
✎
10:17
|
(0) А какая-то консолидация нужна? Если нет, то технология фреш вам в руки. Одна база, каждая организация в своей области, никакой мороки с синхронизацией справочников и настроек.
|
|||
27
X Leshiy
27.06.25
✎
10:24
|
(25) Да потому что говно) Движения может переносить? Досвидания)
|
|||
28
Vovik
27.06.25
✎
10:41
|
Делал такое. Причем баз были 10ки, и УФ и не УФ разные конфиги и релизы. Все по ком соединениям. Что я только не переносил, лучше и удобнее решения для перебросок я не знаю, практика за больше чем 10 лет. Для каждого объекта (док, спр) одну функцию один раз прописываешь и все. Сопоставляешь как хочешь, по уидам, кодам, номерам...Легко правиться, легко отлаживаеться, легко перезаливается повторно - работает как часы.
|
|||
29
Vovik
27.06.25
✎
10:36
|
Вот пример функции:
Функция ГТДИзУТ11_4(СпрКом) Спр = Справочники.НомераГТД; Если НЕ v8.ЗначениеЗаполнено(СпрКом) Тогда Возврат Спр.ПустаяСсылка(); КонецЕсли; СтрокаУИД = v8.string(СпрКом.УникальныйИдентификатор()); Идентификатор = Новый УникальныйИдентификатор(СтрокаУИД); СсылкаGUID = Спр.ПолучитьСсылку(Идентификатор); //Сообщить(Склад); Если Лев(СокрЛП(СсылкаGUID),20)="<Объект не найден> (" Тогда НайденнаяСсылка = Спр.НайтиПоКоду(СпрКом.Код); Если Не ЗначениеЗаполнено(НайденнаяСсылка) Тогда Если СпрКом.ЭтоГруппа Тогда ГТД = Спр.СоздатьГруппу(); Иначе ГТД = Спр.СоздатьЭлемент(); //ГТД.Код = ГТДКом.Артикул; //ГТД.Наименование = ГТДКом.Наименование; //Сообщить(НоменклатураКом.БазоваяЕдиницаИзмерения); ГТД.Комментарий = "#Автообмен: "+ТекущаяДата()+" - "+ПараметрыСеанса.АвторизованныйПользователь.Наименование; //Сообщить(Номенклатура.СтавкаНДС); //Сообщить(Номенклатура.ВидНоменклатуры); //Сообщить(Номенклатура.НоменклатурнаяГруппа); КонецЕсли; ГТД.УстановитьСсылкуНового(СсылкаGUID); //ГТД.ОбменДанными.Загрузка = Истина; ГТД.Код = СпрКом.Код; //ГТД.Наименование = ГТДКом.Наименование; ГТД.Родитель = ГТДИзУТ11_4(СпрКом.Родитель); //Попытка ГТД.Записать(); //Исключение //КонецПопытки; //Сообщить("+ГТД: "+ГТД.Код); НайденнаяСсылка=ГТД.Ссылка; КонецЕсли; Иначе НайденнаяСсылка=СсылкаGUID; //Проверка Если (НЕ СокрЛП(НайденнаяСсылка.Код)=СокрЛП(СпрКом.Код)) Тогда Сообщить(""+СпрКом.Код+" - возможно ошибки при сопоставлении ГТД!"); КонецЕсли; КонецЕсли; Возврат НайденнаяСсылка; КонецФункции |
|||
30
Vovik
27.06.25
✎
11:52
|
Документы переношу вместо синхронизации из УТ в БУХ так же. Вернее не я, а бухгалтера. Никто не долбит постоянно, что опять что-то слетело или какой-то косяк.
|
|||
31
Eiffil123
27.06.25
✎
11:50
|
(27) я сделал чтоб могло
|
|||
32
X Leshiy
27.06.25
✎
12:35
|
(31) Ну не спорю. А нахрена, если есть КД2? Простая и понятная, и по скорости +/-. поддерживай правила и нет парься. А не пили расширения в глобальном модуле.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |