Синхронизация БП3 с самописной конфой (на базе БСП) по правилам обмена, без вскрытия поддержки

1. stvorl 1042 06.10.19 13:17 Сейчас в теме
Добрый день, коллеги.

Имеется самописная конфигурация, разработанная на базе БСП 3.0.3 (в т.ч. интегрирован модуль "Обмен данными").
В ней ведется глубоко детализированный отраслевой учет, и бухгалтерского учета касаются только справочники делового назначения (организации, контрагенты, договоры, номенклатура) и документ "Выставление услуг", который требуется синхронизировать с бухгалтерией.

Имеется также типовая БП3.0 с невскрытой поддержкой, все касающиеся связи с оперативной конфой изменения (а именно, зеркальный документ "Выставление услуг", формирующий (актуализирующий) типовые реализацию и счет-фактуру) дописаны через расширение.

Требуется организовать автоматическую синхронизацию измененных документов "Выставление услуг" и справочников делового назначения.
Можно было бы обмениваться непосредственно реализациями, но нужно сделать так, чтобы номера счетам-фактурам присваивала именно БП, и само отражение в виде реализаций происходило по указанию бухгалтера, а не оператора оперативной базы.
В перспективе также потребуется тащить в БП3 документ "Приходный кассовый ордер", но чтобы нумерация опять таки присваивалась через БП.
По условиям задачи, вскрывать поддержку БП3.0 нельзя, можно использовать только расширения, внешние обработки и т.п.

Допустим, пытаюсь сделать обмен через стандартный механизм обмена, предлагаемый БСП.
Со стороны самописной конфы БСП-шный механизм синхронизации настроен и устраивает, хотелось бы остаться в нем. Правила обмена в КД 2.0 созданы в обе стороны, и прекрасно работают при ручном обмене универсальной обработкой.

Пытаюсь то же самое сделать в БП3 через расширение. Добавляю план обмена, добавляю правила обмена и регистрации. Пытаюсь настроить синхронизацию, но начинаются проблемы с тем, что
1) штатный модуль обмена БП3 не видит новый план обмена из расширения через собирательный тип "ПланОбменаСсылка", в результате чего ни в какие регистры сведений, где хранятся правила, настройки обмена, узел не прописывается, что вызывает множественные ошибки.
2) в расширении нельзя добавить подписки на события, необходимые для связки плана обмена с типовым модулем.

Таким образом, типовым модулем пользоваться из расширения не получается (или я не знаю как).

Есть ли какая-то возможность в БП3 выкрутиться без снятия с поддержки?
Может быть можно в БП3 подпаяться к типовому обмену по правилам данными из расширения?
Может быть есть какие-то сторонние решения?
Может быть, поскольку де-факто обмен производится только справочниками делового назначения и реализациями, надо использовать обмен через универсальный формат, и можно будет ничего не менять в БП3?

Буду признателен за работоспособный совет, или приобрету решение.
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
13. Xershi 1486 09.10.19 22:59 Сейчас в теме
(1) КД3 читайте и делайте по мануалу. Ваш путь это расширение. Вопрос только, чтобы в самописке был встроен формат и заточен под конфу. А для БП3 проблем нет.
В комментах писал про текущие проблемы, мне ТП 1С выслали обработки, может на днях скину.
19. Torin 754 28.01.22 09:03 Сейчас в теме
2. uriah 17 06.10.19 19:48 Сейчас в теме
А синхронизация двухсторонняя?
3. stvorl 1042 06.10.19 20:26 Сейчас в теме
(2) Да, нужно двухстороннюю.

Во-первых, контрагентов, договоры, номенклатуру могут править в обеих базах.

Во-вторых, с БП в опербазу через обратный обмен документом "Выставление" должен вернуться №№ выставленных в БП акта и счета-фактуры.
Разумеется, если кроме как через EnterpriseData сделать никак нельзя, придется что-то в этом вопросе менять. Например, обмениваться непосредственно реализацией и счетом-фактурой, внедрив их в опербазу. Чего бы крайне делать не хотелось, поэтому предпочтительней обмен через правила КД 2.
4. uriah 17 06.10.19 23:07 Сейчас в теме
А если использоватьть типовую настройку обмена, подгрузить свои правила обмена. Кнопка еще, в настройке синхронизации.
5. AlexandrVrn 07.10.19 10:10 Сейчас в теме
В БП 3.0 есть план обмена ОбменУправлениеТорговлей103БухгалтерияПредприятия30 с необходимыми вам данными.В него можно свои правила файлом загрузить и нового ничего добавлять не придется
6. user659168_xec8787 3 07.10.19 11:10 Сейчас в теме
(5)
Предприятия30 с необходимыми вам данными. В него можно свои правила файлом загрузить и нового ничего добавлят

Дельный совет. посмотрите в сторону уже существующего обмена БП3.0-УТ10.3. Работает на формате правил обмена КД2.1.
Доработаете правила обмена данными, если нужно.
Доработаете правила регистрации объектов - залочить регистрацию ненужных объектов (выгрузка которых в Опер. базу - ненужно).
9. stvorl 1042 09.10.19 13:53 Сейчас в теме
(6) (5)

Я рассматривал и пробовал такой вариант.
Если я возьму готовый план обмена БП3-УТ10, то документ моего вида (из расширения - "Выставление", управляющий в БП типовой реализацией и счетом-фактурой) в план обмена все равно не попадет.

То есть, мне тогда отказываться от моего документа в расширении, и тащить в мою базу реализации и счета-фактуры (и корректировочные счета-фактуры, включая корректировочные счета-фактуры на корректировочные счета-фактуры на счета-фактуры с исправлением и т.п., вместе с печатными формами :-) )

А еще в оперконфе план обмена тоже придется назвать так же (его наименование прописано в сообщениях обмена, и вроде как должно совпадать в двух базах), хотя она прямо непричастна ни к УТ ни к БП (или как-то можно подменять наименование в сообщениях обмена, чтобы мой план обмена в оперконфе мог позволить себе называться иначе?)

А если я уж тащу в свою базу реализацию и счета-фактуры, то мне проще сделать обмен на универсальном формате (ED). Там такой же набор объектов как и в плане УТ-БП, но моей следующей задачей будет обмен с УПП, и я решу двух зайцев сразу.

-- UPD
Однако, написание этого сообщения в ответ на ваши с betrezen рекомендации навело меня на одну мысль, попробую ее и отпишусь.
14. Xershi 1486 09.10.19 23:04 Сейчас в теме
(9) основное правило обмена в том, что имя плана обмена совпадает до буквы. А далее уже не важно. Иначе пилить код обмена надо.
7. wertep 23 07.10.19 14:53 Сейчас в теме
Код основной конфигурации не может не знает о существовании расширений, поэтому и не видит его данные и объекты. Из основной конфигурации можно насколько помню все это увидеть только через "Вычислить".
Стоит попробовать затянуть интересующие вас объекты в расширение, даже не изменяя их. Посмотреть что станет доступно, но это в формах. В модулях придется функции, процедуры тянуть тоже в расширение.
8. stvorl 1042 09.10.19 13:42 Сейчас в теме
(7) Сам код основной конфигурации видит объекты расширений, т.е. я могу (насколько я пробовал) сделать Документы.мой_Документ.СоздатьДокумент() из конфы.
Хотя это и бессмысленно, обычно конфа остается на поддержке, и в нее нельзя ничего добавить. И на практике такое делается из внешней обработки.

Но, к сожалению, открытые типы вида "Любая ссылка", "СправочникСсылка" (в которых оформлены ссылки на сопоставленные объекты, узлы планов обмена, в регистрах, относящихся к подсистеме обмена БСП), не видят объектов расширений. Вынос этих регистров (и их реквизитов) в расширение, по сути, ничего не дает, в эти реквизиты все равно не получается вписывать добавленные расширением объекты метаданных. А, соответственно, не работает типовая подсистема обмена.

Даже "Универсальный подбор и обработка объектов" с ИТС из за открытых типов не работает с объектами расширений - если я пытаюсь обработать справочники / документы из расширения, то обработка хоть и выбирает данные, но заполняет таблицу значений пустыми ссылками, и никакие действия на них не применяются.

Однако, обработка универсального обмена данными в XML - работает, что странно. Как она выжила в таких условиях, непонятно. Именно поэтому я написал правила на конвертации 2, и прекрасно обмениваюсь между базами вручную.

Я также могу добавить в расширение собственный план обмена, добавить в него типовые объекты (их надо вынести в расширение) и объекты расширения, включу авторегистрацию - и туда будут регистрироваться измененные объекты - типовые, и из расширения.

Мне теперь как-то надо написать в БП (в расширении) свой механизм обмена (или задействовать отдельные куски типового), который будет получать сообщения обмена (сделанные типовой подсистемой БСП оперативной конфигурации), получать данные, собирать и отправлять данные, и все это как-то в регламентном задании.
15. ZergKRSK 129 22.06.21 10:08 Сейчас в теме
(8) автор, отпишись как решил свою задачу. Сейчас аналогичная проблема у меня.
16. stvorl 1042 25.06.21 14:03 Сейчас в теме
(15) Это ужасно звучит, но пока никак. Выгружаю вручную по правилам.
Свой план обмена, вписанный в расширение, прикрутить к типовому модулю БСП "Обмен данными" невозможно, по крайней мере, пока что.

Раздумываю над вариантом синхронизации через Универсальный формат (К.Д. 3), как минимум, справочников делового назначения (контрагенты, организации, договоры и т.п.), т.к. для них в БП уже есть готовый план обмена. Это получится точно.

Что касается моего документа, то, если получится, попробую передавать его через образ реализации Универсального формата, подгрузив свои правила обмена в БП, которые будут подхватывать образ реализации, и разносить в мой документ. Не знаю, есть ли возможность передавать реквизиты, не вписывающиеся в типовой Универсальный формат, через какие-нибудь доп. теги в XML. Надо садиться и разбираться, у меня еще не дошли руки.

Если не получится, сделаю, на пока , обработку частной выгрузки (простые кнопки "выгрузить" с той базы, и "принять" с этой базы), и буду ждать чего-нибудь... Например, когда улучшатся возможности расширений, и БСП станет с ними более совместима
18. MaxS 2855 28.01.22 06:47 Сейчас в теме
(15) Для информации, чтобы долго не изобретать свой велосипед.
Берёте эти доработанные правила для КД3 "Правила синхронизации БП 3.0 - ED" https://infostart.ru/public/632263/product/679465/
Там есть доработанный формат.

Добавлены универсальные процедуры, для обмена всеми существующими реквизитами шапки документа или справочника.
Если в обеих базах есть такие реквизиты, они будут заполнены.

Добавлен объект формата Документ.УниверсальныйДокумент и Справочник.УниверсальныйСправочник
Они позволяют с помощью универсальных процедур обмениваться любыми нетиповыми документами, справочниками и регистрами сведений. Если в обеих базах они идентичны, то будут переноситься и заполняться.

В свою нетиповую базу нужно внедрить БСП и добавить свой пакет XDTO, взяв его из БП.
20. ZergKRSK 129 28.01.22 09:25 Сейчас в теме
(18) у меня одна конфа ЗУП 3.1 а вторая УПП, мне такое не подойдет.
21. MaxS 2855 28.01.22 09:38 Сейчас в теме
(20) ок не пойдёт, так не пойдёт. .

Для информации, если кому-то подойдёт:
"Обмен УПП - ED" https://infostart.ru/public/444523/product/465895/
"Обмен в формате ED для ЗУП" https://infostart.ru/public/1578662/product/1579013/
10. Lord_Michael 09.10.19 15:38 Сейчас в теме
насколько помню, в БСП все планы обмена инициализируются в общих модулях, а не по наличию в метаданных. попробуйте посмотреть на модуль ОбменДаннымиПереопределяемый, как вариант. в таком случае нужно эти модули допилить, чтобы добавить новый план обмена. тогда и узлы можно будет делать и так далее. конечно, могу и ошибаться... тогда сорян)
11. KVIKS 401 09.10.19 16:41 Сейчас в теме
В базе есть модуль МенеджерОбменаЧерезУниверсальныйФормат, в нем все процедуры, которые идут при выгрузке и загрузке, я все допиливал в нем, точнее сделал расширение в ут и в бп и перехватывал процедуры этого модуля там.
Правда у меня не было новых документов при выгрузке, но при загрузке были новые документы и там я просто переназначал типы приемника и еще что-то.

А простите, не в тему немного, это при обмене через КД 3

Вроде план обмена можно добавить в расширение, но с определенного релиза платформы и при снятии режима совместимости.
12. Lord_Michael 09.10.19 17:08 Сейчас в теме
(11) вы имеете в виду EnterpriseData, а человеку нужен обмен через правила. немного не то.
17. German_Tagil 43 27.01.22 13:21 Сейчас в теме
(8) Делаем копию базы добавляем реквизиты выгружаем для КД 2.0 для правил обмена.
В расширение добавляем справочники, документы, реквизиты которые добавляли в копии
от добавления планов обмена в расширение отказался
Оставьте свое сообщение

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