Имеется самописная конфигурация, разработанная на базе БСП 3.0.3 (в т.ч. интегрирован модуль "Обмен данными").
В ней ведется глубоко детализированный отраслевой учет, и бухгалтерского учета касаются только справочники делового назначения (организации, контрагенты, договоры, номенклатура) и документ "Выставление услуг", который требуется синхронизировать с бухгалтерией.
Имеется также типовая БП3.0 с невскрытой поддержкой, все касающиеся связи с оперативной конфой изменения (а именно, зеркальный документ "Выставление услуг", формирующий (актуализирующий) типовые реализацию и счет-фактуру) дописаны через расширение.
Требуется организовать автоматическую синхронизацию измененных документов "Выставление услуг" и справочников делового назначения.
Можно было бы обмениваться непосредственно реализациями, но нужно сделать так, чтобы номера счетам-фактурам присваивала именно БП, и само отражение в виде реализаций происходило по указанию бухгалтера, а не оператора оперативной базы.
В перспективе также потребуется тащить в БП3 документ "Приходный кассовый ордер", но чтобы нумерация опять таки присваивалась через БП.
По условиям задачи, вскрывать поддержку БП3.0 нельзя, можно использовать только расширения, внешние обработки и т.п.
Допустим, пытаюсь сделать обмен через стандартный механизм обмена, предлагаемый БСП.
Со стороны самописной конфы БСП-шный механизм синхронизации настроен и устраивает, хотелось бы остаться в нем. Правила обмена в КД 2.0 созданы в обе стороны, и прекрасно работают при ручном обмене универсальной обработкой.
Пытаюсь то же самое сделать в БП3 через расширение. Добавляю план обмена, добавляю правила обмена и регистрации. Пытаюсь настроить синхронизацию, но начинаются проблемы с тем, что
1) штатный модуль обмена БП3 не видит новый план обмена из расширения через собирательный тип "ПланОбменаСсылка", в результате чего ни в какие регистры сведений, где хранятся правила, настройки обмена, узел не прописывается, что вызывает множественные ошибки.
2) в расширении нельзя добавить подписки на события, необходимые для связки плана обмена с типовым модулем.
Таким образом, типовым модулем пользоваться из расширения не получается (или я не знаю как).
Есть ли какая-то возможность в БП3 выкрутиться без снятия с поддержки?
Может быть можно в БП3 подпаяться к типовому обмену по правилам данными из расширения?
Может быть есть какие-то сторонние решения?
Может быть, поскольку де-факто обмен производится только справочниками делового назначения и реализациями, надо использовать обмен через универсальный формат, и можно будет ничего не менять в БП3?
Буду признателен за работоспособный совет, или приобрету решение.
(1) КД3 читайте и делайте по мануалу. Ваш путь это расширение. Вопрос только, чтобы в самописке был встроен формат и заточен под конфу. А для БП3 проблем нет.
В комментах писал про текущие проблемы, мне ТП 1С выслали обработки, может на днях скину.
Во-первых, контрагентов, договоры, номенклатуру могут править в обеих базах.
Во-вторых, с БП в опербазу через обратный обмен документом "Выставление" должен вернуться №№ выставленных в БП акта и счета-фактуры.
Разумеется, если кроме как через EnterpriseData сделать никак нельзя, придется что-то в этом вопросе менять. Например, обмениваться непосредственно реализацией и счетом-фактурой, внедрив их в опербазу. Чего бы крайне делать не хотелось, поэтому предпочтительней обмен через правила КД 2.
В БП 3.0 есть план обмена ОбменУправлениеТорговлей103БухгалтерияПредприятия30 с необходимыми вам данными.В него можно свои правила файлом загрузить и нового ничего добавлять не придется
Предприятия30 с необходимыми вам данными. В него можно свои правила файлом загрузить и нового ничего добавлят
Дельный совет. посмотрите в сторону уже существующего обмена БП3.0-УТ10.3. Работает на формате правил обмена КД2.1.
Доработаете правила обмена данными, если нужно.
Доработаете правила регистрации объектов - залочить регистрацию ненужных объектов (выгрузка которых в Опер. базу - ненужно).
Я рассматривал и пробовал такой вариант.
Если я возьму готовый план обмена БП3-УТ10, то документ моего вида (из расширения - "Выставление", управляющий в БП типовой реализацией и счетом-фактурой) в план обмена все равно не попадет.
То есть, мне тогда отказываться от моего документа в расширении, и тащить в мою базу реализации и счета-фактуры (и корректировочные счета-фактуры, включая корректировочные счета-фактуры на корректировочные счета-фактуры на счета-фактуры с исправлением и т.п., вместе с печатными формами :-) )
А еще в оперконфе план обмена тоже придется назвать так же (его наименование прописано в сообщениях обмена, и вроде как должно совпадать в двух базах), хотя она прямо непричастна ни к УТ ни к БП (или как-то можно подменять наименование в сообщениях обмена, чтобы мой план обмена в оперконфе мог позволить себе называться иначе?)
А если я уж тащу в свою базу реализацию и счета-фактуры, то мне проще сделать обмен на универсальном формате (ED). Там такой же набор объектов как и в плане УТ-БП, но моей следующей задачей будет обмен с УПП, и я решу двух зайцев сразу.
-- UPD
Однако, написание этого сообщения в ответ на ваши с betrezen рекомендации навело меня на одну мысль, попробую ее и отпишусь.
Код основной конфигурации не может не знает о существовании расширений, поэтому и не видит его данные и объекты. Из основной конфигурации можно насколько помню все это увидеть только через "Вычислить".
Стоит попробовать затянуть интересующие вас объекты в расширение, даже не изменяя их. Посмотреть что станет доступно, но это в формах. В модулях придется функции, процедуры тянуть тоже в расширение.
(7) Сам код основной конфигурации видит объекты расширений, т.е. я могу (насколько я пробовал) сделать Документы.мой_Документ.СоздатьДокумент() из конфы.
Хотя это и бессмысленно, обычно конфа остается на поддержке, и в нее нельзя ничего добавить. И на практике такое делается из внешней обработки.
Но, к сожалению, открытые типы вида "Любая ссылка", "СправочникСсылка" (в которых оформлены ссылки на сопоставленные объекты, узлы планов обмена, в регистрах, относящихся к подсистеме обмена БСП), не видят объектов расширений. Вынос этих регистров (и их реквизитов) в расширение, по сути, ничего не дает, в эти реквизиты все равно не получается вписывать добавленные расширением объекты метаданных. А, соответственно, не работает типовая подсистема обмена.
Даже "Универсальный подбор и обработка объектов" с ИТС из за открытых типов не работает с объектами расширений - если я пытаюсь обработать справочники / документы из расширения, то обработка хоть и выбирает данные, но заполняет таблицу значений пустыми ссылками, и никакие действия на них не применяются.
Однако, обработка универсального обмена данными в XML - работает, что странно. Как она выжила в таких условиях, непонятно. Именно поэтому я написал правила на конвертации 2, и прекрасно обмениваюсь между базами вручную.
Я также могу добавить в расширение собственный план обмена, добавить в него типовые объекты (их надо вынести в расширение) и объекты расширения, включу авторегистрацию - и туда будут регистрироваться измененные объекты - типовые, и из расширения.
Мне теперь как-то надо написать в БП (в расширении) свой механизм обмена (или задействовать отдельные куски типового), который будет получать сообщения обмена (сделанные типовой подсистемой БСП оперативной конфигурации), получать данные, собирать и отправлять данные, и все это как-то в регламентном задании.
(15) Это ужасно звучит, но пока никак. Выгружаю вручную по правилам.
Свой план обмена, вписанный в расширение, прикрутить к типовому модулю БСП "Обмен данными" невозможно, по крайней мере, пока что.
Раздумываю над вариантом синхронизации через Универсальный формат (К.Д. 3), как минимум, справочников делового назначения (контрагенты, организации, договоры и т.п.), т.к. для них в БП уже есть готовый план обмена. Это получится точно.
Что касается моего документа, то, если получится, попробую передавать его через образ реализации Универсального формата, подгрузив свои правила обмена в БП, которые будут подхватывать образ реализации, и разносить в мой документ. Не знаю, есть ли возможность передавать реквизиты, не вписывающиеся в типовой Универсальный формат, через какие-нибудь доп. теги в XML. Надо садиться и разбираться, у меня еще не дошли руки.
Если не получится, сделаю, на пока , обработку частной выгрузки (простые кнопки "выгрузить" с той базы, и "принять" с этой базы), и буду ждать чего-нибудь... Например, когда улучшатся возможности расширений, и БСП станет с ними более совместима
(15) Для информации, чтобы долго не изобретать свой велосипед.
Берёте эти доработанные правила для КД3 "Правила синхронизации БП 3.0 - ED" https://infostart.ru/public/632263/product/679465/ Там есть доработанный формат.
Добавлены универсальные процедуры, для обмена всеми существующими реквизитами шапки документа или справочника.
Если в обеих базах есть такие реквизиты, они будут заполнены.
Добавлен объект формата Документ.УниверсальныйДокумент и Справочник.УниверсальныйСправочник
Они позволяют с помощью универсальных процедур обмениваться любыми нетиповыми документами, справочниками и регистрами сведений. Если в обеих базах они идентичны, то будут переноситься и заполняться.
В свою нетиповую базу нужно внедрить БСП и добавить свой пакет XDTO, взяв его из БП.
насколько помню, в БСП все планы обмена инициализируются в общих модулях, а не по наличию в метаданных. попробуйте посмотреть на модуль ОбменДаннымиПереопределяемый, как вариант. в таком случае нужно эти модули допилить, чтобы добавить новый план обмена. тогда и узлы можно будет делать и так далее. конечно, могу и ошибаться... тогда сорян)
В базе есть модуль МенеджерОбменаЧерезУниверсальныйФормат, в нем все процедуры, которые идут при выгрузке и загрузке, я все допиливал в нем, точнее сделал расширение в ут и в бп и перехватывал процедуры этого модуля там.
Правда у меня не было новых документов при выгрузке, но при загрузке были новые документы и там я просто переназначал типы приемника и еще что-то.
А простите, не в тему немного, это при обмене через КД 3
Вроде план обмена можно добавить в расширение, но с определенного релиза платформы и при снятии режима совместимости.
(8) Делаем копию базы добавляем реквизиты выгружаем для КД 2.0 для правил обмена.
В расширение добавляем справочники, документы, реквизиты которые добавляли в копии
от добавления планов обмена в расширение отказался