Всем привет) Есть две базы, они находятся на одном сервере, одна база с конфигурацией без БСП, вторая с конфигурацией на основе БСП. Необходимо передавать данные из базы БЕЗ БСП в базу с БСП. Передавать нужно записи из регистра сведений в табличную часть документа, причем создавать новые элементы справочников Контрагенты и Партнеры, если их нет в базе приемнике. Обмен должен работать ежедневно. Решили, что лучше реализовать через веб-сервис с помощью XDTO и JSON. Кто-нибудь знает какие-нибудь ссылки или последовательность шагов для реализации такого обмена? С JSON не работала, поэтому очень прошу помощи.
(10) можно поднять http сервис, по условию задачи обе базы локальные и это будет без заморочек
а json в 1С на уровне платформы уже поддерживает сериализацию и десериализацию, проблем с записью и чтением тоже нет как раньше все руками писать не требуется
(1) Надо использовать те механизмы, которые вы знаете. Необязательно использовать технологии с модным названием, это не принесет ни скорости в разработке, ни в работе. Т.к. базы на одном сервере, то можно использовать например COM.
(1)Да просто запросом выдернуть из регистра данные и заполнить структуру этими данными, структуры добавить в массив, массив завернуть в json и отправить. На другой стороне прочитать его и заполнить регистр. В принципе не сильно все сложно, информации по json навалом в интернете.
(1)Лучше использовать json. Запросом вытащить данные из регистра, завернуть каждую запись в структуру, структуры в массив, а его в json. Информации и примеров довольно много.
(1) Если вы только-только соединяете эти базы, то уверен, у вас уже существуют идентичные сущности в обеих базах. А это значит, что у них уже разные идентификаторы. И так по каждому объекту конфигурации. Разная структура реквизитов, разные значения полей поиска у одинаковых элементов и пр.
Просто поверьте, вам будет дешевле найти разработчика, который всунет обрезанный механизм обмена БСП из исходной конфигурации и напишет правила регистрации и обмена.
Каждый обмен чреват нюансами. Попробуйте в них окунуться с тем, кто немного разбирается в программной части. Сядьте и сейчас прикиньте:
* По каким полям вы можете сопоставлять элементы каких сущностей и совпадают ли сейчас значения этих полей у идентичных сущностей?
* Бывают ли случаи, когда выгружать объект не надо вовсе или когда надо, но по определённым признакам (организация, признак проведённости, период и пр.)?
* Бывают ли случаи, когда нужны преобразования исходных данных или преобразования на стороне базы-приёмника?
Все эти проблемы вам придётся описывать кодом, если вы выберете технологии, отличные от механизма обмена по правилам.
Если проще через XDTO с помощью веб-сервис, то можно и так. Я пытаюсь понять, какой способ лучше. По сути, мне нужен «XDTO-пакет», для передачи контрагента. URL можно ли назначить в виде URL адреса , например
"company.com/1C/Kontragent". В этом пакете создать тип объекта, например "Kontragent", в котором есть реквизиты «Code» и "Name", с соответствующим типом "string"
Теперь надо создать второй XDTO пакет, который будет содержать информацию о партнерах "PartnerXDTO" в пространсте имен "company.com/1C/Partner", подключим директиву импорта "company.com/1C/Kontragent", для того, чтобы можно было использовать созданный нами пакет сериализации контрагента.Как-то необходимо создать регистр сведений. Потом уже создаем сам веб-сервис, как я понимаю?
(3) Все и без регистра сведений работает.
Создайте свой пакет XDTO, в нем создайте объекты нужной структуры и зависимостей, Используйте этот пакет и его структуру при формировании "ответа" функцией web-сервиса.
(3) Если обмен будет простыми типами можно использовать платформенный XDTO, не создавая свои XDTO пакеты. В описании веб-сервиса тип возвращаемого результата ValueTable (http://v8.1c.ru/8.1/data/core)
Сериализатор = Новый СериализаторXDTO(ФабрикаXDTO);
Возврат Сериализатор.ЗаписатьXDTO(Запрос.Выполнить().Выгрузить());
(5) Да, в базе источнике. Зависимости реализуются в самом пакете XDTO, принцип такой же как указание зависимостей объектов в конфигурации 1С.
Откройте любой типовой ПакетXDTO и все вопросы отпадут.
(5) при любом варианте настройка соответствия только программная, в случае XDTO чуть более интерактивная настройка самой схемы в конфигураторе.
на собственном опыте, принципиальной разницы нет, как по мне JSON проще потом поддерживать в случае изменений в схеме обмена
(10) можно поднять http сервис, по условию задачи обе базы локальные и это будет без заморочек
а json в 1С на уровне платформы уже поддерживает сериализацию и десериализацию, проблем с записью и чтением тоже нет как раньше все руками писать не требуется
Попробую через http сервис, через COM нельзя, так как разные версии у сервера базы источника и клиента приемника, обновить тоже нельзя до одинаковых версий.