|
Как внедрять нетиповой регулярный обмен данными на базе КД2 в современных конфигурациях? | ☑ | ||
---|---|---|---|---|
0
kostyan29
20.10.22
✎
10:38
|
Всем добрый день! У меня есть какое-то принципиальное непонимание вот такого вопроса.
Давайте предположим следующее: Есть актуальная, к примеру, УТ 11.4. Есть некая самописная конфигурация, с которой хочется наладить обмен. Будем обмениваться номенклатурой и приобретениями товаров. В самописной это будет, соответственно - Товары и Поступления. Можно использовать конфигурацию Конвертация данных 2, в ней загрузить описания УТ и самописной конфигурации. Составить правила обмена. Выгрузить их. В УТ сделать план обмена. Настроить авторегистрацию номенклатуры и приобретения товаров. Отлично, все это мы сделаем. Запустим УТ, зайдем в синхронизацию, попытаемся каким-то образом добавить синхронизацию с нашей самописной конфой, и указанием правил. И... поймем, что сделать это непонятно как. Среди стандартных настроек синхронизаций есть всякие Бухгалтерии, Розницы и т.д. Есть "другая программа", но она также не подходит, там Enterprise Data, а значит, КД3. Да, есть обработка "Универсальный обмен данными в формате XML", в котором есть возможность и правила обмена указать, и узлы обмена вроде как тоже там должны учитываться. Но это же просто будет внешняя обработка? Как предполагается это все использовать в автоматическом режиме? С выгрузкой на FTP, или в почту? С ежечасным обменом? Можно, конечно, исследовать саму обработку, выдрать нужный код, который заведует преобразованиями по правилам обмена, и написать свой велосипед, который будет сочетать планы обмена и правила обмена из КД2. Но я все же надеюсь, что есть какой-то нормальный способ, штатный, можно сказать. Или нет? А в идеале - вообще хотелось бы, чтобы самописная база по регл. заданию подключалась к http-сервису, крутящемуся на УТ, передавала бы свои изменения, а УТ в ответ передавала бы свои. И все это, опять же, с использованием плана обмена и правил обмена. Или в этом случае лучше вообще не использовать правила обмена, КД2? Просто определить свой произвольный формат обмена, и писать туда что-нибудь типа: ЗаписьXML.ЗаписатьНачалоЭлемента("Номенклатура"); ЗаписатьXML(ЗаписьXML, Номенклатура.Код, "Code", НазначениеТипаXML.Явное); ЗаписатьXML(ЗаписьXML, Номенклатура.Наименование, "Description", НазначениеТипаXML.Явное); на принимающей стороне все это читать в нужные поля. В самописной конфе эта номенклатура запишется в Товар, в УТ - в номенклатуру. В таком случае и XML здесь не нужен, лучше уж JSON использовать - хоть меньше объем гоняемых данных будет. Можно убрать из уравнения именно самописную базу. Пусть вместо нее будет обычная Бухгалтерия. Просто вот захотелось сделать какой-то особо хитрый обмен между УТ и БП, с использованием КД2. Возможно это сравнительно простым путем? Это вопрос не практический, у меня нет сейчас подобных задач, я просто хочу понять, как это все должно работать. Уложить в голове у себя это все. Сейчас КД2 где-то как-то используется вообще, и если да, то каким образом? Или все уже только http-сервисы используют, и все эти правила обмена можно выкинуть из головы и не заморачиваться вообще? Я понимаю, как все это раньше работало, в обычных формах - там кроме КД2 и альтернатив не было. Вот я смотрю сейчас на УТ 10.3 (правда, старую), в ней можно запросто зайти в Настройки обменов данными, создать новый обмен, в нем указать нужный узел, правила обмена, настроить обмен через FTP, и тут же настроить расписание. И все. Сейчас так уже не сделаешь? |
|||
1
Garykom
гуру
20.10.22
✎
10:48
|
1. КД2 до сих пор используют, особенно часто сотрудники фра любят или спецы старой закалки.
2. КД2 неудобна в использовании на текущих монструозных конфах, особенно ERP и производные КА, УТ11, слишком много разных хитрых реквизитов от которых зависит все. Задолбаешься правила делать. 3. КД2 медленная, точнее даже тормозная ибо XML и DOM. В несколько потоков хз как без переделки. |
|||
2
Гипервизор
20.10.22
✎
11:30
|
(0) "Вот я смотрю сейчас на УТ 10.3 (правда, старую), в ней можно запросто зайти в Настройки обменов данными, создать новый обмен, в нем указать нужный узел, правила обмена, настроить обмен через FTP, и тут же настроить расписание".
Всё это можно и в УТ11, только там справочник называется СценарииОбменовДанными (Сценарии синхронизации данных). Другое дело, что при указании нужного узла происходит выбор из имеющихся в конфигурации планов обмена, а вот они отличаются. |
|||
3
Фрэнки
20.10.22
✎
11:41
|
Букв в топике много :-)
В общем, надо смотреть с конца. Если добавил в конфу новый план обмена (любой) То нужно вписывать его использование в актуальный релиз БСП. Иначе, именно БСП так и не даст тебе, как пользователю, увидеть наличие этого нового обмена в базе. Можно через "технического специалиста", но к чему тогда там БСП. А все остальные заморочки, что оно на КД2 или на менеджере универсального обмена данными (который тоже надо прикручивать для своего плана обмена) это тоже будет, но после :-) |
|||
4
scanduta
20.10.22
✎
11:52
|
(0) Со старых времен ничего не поменялось. КД2 до сих пор актуальна и закрывает все потребности
|
|||
5
Seducer
20.10.22
✎
11:54
|
Если добавил новый план обмена, то идешь в модуль ОбменДаннымиПереопределяемый, там процедура ПолучитьПланыОбмена. Добавляешь туда свой план обмена. В итоге он при создании новой синхронизации появится. Ну и дальше немного еще допилить. В плане обмена в модуле мнеджера процедурки, глобальную команду ЗагрузитьКомплектПравил поправить, добавим туда свой план обмена. Подписки на события для регистрации свои. Это минимум. А вообще, если мне память не изменяет, в документации БСП описан механизм подключения нового плана обмена.
|
|||
6
Garykom
гуру
20.10.22
✎
12:04
|
(4) Да?
А если у тебя в базе лямы элементов, десятки лямов доков и записей РС? Как быстро и выгрузится ли через КД2? |
|||
7
Serg_1960
20.10.22
✎
12:05
|
(0) Кто или что автору мешает в фоновом задании использовать внешнюю обработку?
https://www.koderline.ru/expert/programming/article-zapusk-vneshnikh-obrabotok-1s-iz-vneshnikh-obrabotok-v-fone-v-1s-8-3/ (имхо) если обмен данными осуществлять самостоятельно, то чисто теоретически можно использовать любой подходящий план обмена в типовых - ведь нам от него нужна только регистрация изменений. |
|||
8
Serg_1960
20.10.22
✎
12:08
|
(6) Мягко говоря, твёрдо выражаясь - плевать сколько метаданных в конфигурации, важно сколько зарегистрировано изменений. Если туева хуча - то чаще нужно вести обмены.
-Доктор я чешусь. -Мыться не пробовали? -Пробовал, не помогает - через месяц опять чешусь. |
|||
9
mTema32
20.10.22
✎
12:13
|
(4) КД2 может и закрывает все потребности обмена между типовыми конфигурациями. А вот как универсальный инструмент обмена - это тормозное и громоздкое УГ.
|
|||
10
Aleksey
20.10.22
✎
12:17
|
(6) как будто на кд3 это все летать будет
|
|||
11
scanduta
20.10.22
✎
13:02
|
(9) Есть что то лучше ?
|
|||
12
Garykom
гуру
20.10.22
✎
13:21
|
(8) >чаще нужно вести обмены
Отлично. Хочется вести обмены онлайн (причем возможно через брокер/очереди сообщений). Т.е. передавать не оптом пачку объектов в одном файле а каждый объект (его создание/изменение/удаление) в отдельном файлике-сообщении. И все сообщения чтобы в очередь. Как это через КД2? |
|||
13
Garykom
гуру
20.10.22
✎
13:23
|
(10) КД3/EnterpriseData в этом не лучше.
Там все отличие что придуман "универсальный" промежуточный формат. Не надо для каждой пары баз/конф свои уникальные правила ваять. Достаточно для каждой базы сделать правила между конфой и универсальным (с учетом разных версий ED тот еще прикол). И типа далее эта база может с любой обмениваться, которая тоже ED поддерживает и по объектам-сущностям совместима |
|||
14
Garykom
гуру
20.10.22
✎
13:26
|
(11) Сериализация через JSON лучше.
В саму платформу 1С встроено. Вместо правил просто кодом пишем или запись в нужного вида/формата JSON или чтение некоего формата JSON в метаданные. |
|||
15
kostyan29
20.10.22
✎
13:57
|
Спасибо за ответы! Особенно (5)
Вот нашел статью https://infostart.ru/1c/articles/1316278/ Попробовал сделать по ней - вроде как появилась новая синхронизация, и возможность загрузить свои правила тоже. Т.к. вопрос у меня был гипотетический и собственно, правил обмена и выдуманной самописной конфы у меня не было, то на практике обмен не проверял. Но потом проверю, как будет время. |
|||
16
mTema32
20.10.22
✎
17:03
|
(11) web и http сервисы.
|
|||
17
Krendel
20.10.22
✎
17:05
|
У нас КД3
|
|||
18
scanduta
20.10.22
✎
17:08
|
(16) КД тоже через веб сервис может обмениваться с помощью БСП
|
|||
19
MaxS
20.10.22
✎
17:55
|
(0) >Есть актуальная, к примеру, УТ 11.4. Есть некая самописная конфигурация, с которой хочется наладить обмен.
Как раз для этого и придумали ED, КД3, универсальный формат и т.п. И web сервисы там есть. И не нужно заморачиваться с заполнением реквизитов на стороне УТ 11 и проведением документов, т.к. это всё сделано в типовых правилах на стороне УТ 11. Достаточно один раз написать правила в КД3 для самописки и всё на этом. Но нет, же. Каждый будет изобретать свою нетленку, курочить типовую конфигурацию и после каждого обновления дорабатывать и тестировать свои отличные правила. Не склоняю к изменению уже принятого решения, просто информирую, что полезно знать возможности всех вариантов обмена, а не пользоваться только тем, чему однажды научился. ;) |
|||
20
mistеr
20.10.22
✎
18:05
|
(5) (15) Спасибо за инфу. Мне как раз предстоит практическая реализация.
|
|||
21
mistеr
20.10.22
✎
18:07
|
(19) >Достаточно один раз написать правила в КД3 для самописки и всё на этом.
Самописка как бы предполагает развитие и даже иногда полное перекурочивание метаданных. Не вижу особой разницы между КД2 и КД3 в данном случае. |
|||
22
MaxS
20.10.22
✎
18:08
|
(21) разница есть и существенная. Поэтому и написал, что полезно знать это перед принятием решения.
|
|||
23
MaxS
20.10.22
✎
18:24
|
Вопрос топика режет глаз. ;)
Примерно так же - "Как внедрять карбюратор в современные инжекторные автомобили?" В гараже есть аппарат по производству 80-го бензина из огурцов, нужно его утилизировать на постоянной основе. Никого не хотел обидеть. Жигули 50-х сложнее лады весты 2022-го и старые подходы рекомендуется пересмотреть и адаптировать к современным реалиям. пмсм. |
|||
24
Klesk
20.10.22
✎
18:46
|
(19) в кд 3 можно документ передачи товаров между организациями передать в документ передачи товаров между организациями?
|
|||
25
MaxS
20.10.22
✎
18:59
|
(24) Технология ED это позволяет. (в доработанных правилах и формате у меня это давно сделано)
В типовых используется типовой формат ED и типовые правила. Там этого может и не быть. Если из крайности в крайность бросаться и вдруг в типовой УТ 11 нужно использовать нетиповые документы и справочники, то... решать разработчику каким инструментом пользоваться. В КД3 и в КД2 можно всё сделать. Если каждый месяц доработка нетиповых метаданных, то разницы нет КД2 или КД3 - везде потребуется доработка, в КД2 _правила_ сделать проще, поддерживать нетиповой план обмена и транспорт обмена это дополнительные издержки. (23) * Жигули 50-х сложнее лады весты 2022-го Вернее наоборот. ;) |
|||
26
VladZ
20.10.22
✎
19:10
|
(0) Пишешь свою обработку обмена, которая:
1. Берет правила из нужного места. 2. Запускает обработку УниверсальныйОбменXML. 3. Озадачиваешься проблемой очисткой регистрации. 4. В качестве транспорта используешься веб-сервис (свой добавь). |
|||
27
VladZ
20.10.22
✎
19:10
|
+26 Да, и это на КД2.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |