Имя: Пароль:
1C
1С v8
Как внедрять нетиповой регулярный обмен данными на базе КД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.