#0
by first_may
Добрый день. Хочу изучить тему XDTO + web сервис, тем более возникла задача создания документа "Заказ покупателя" в удаленной базе из текущей. Поэтому хотелось бы услышать совет специалистов как делать?
#1
by breezee
да легко, используей СериализиторXDTO и передавай через веб-сервипс сереилизованные им данные
#3
by Fragster
на ИТС есть демо конфигурация. + КД2 умеет работать через веб сервисы вообще без знания механизмов, если онлайн не нужен и оба решения на БСП.
#4
by lodger
делай свой. да там все просто. по сути, если просто и на пальцах, пакет XDTO - это твой манифест для сериализациидесериализации данных 1с виз xml.
#6
by first_may
то есть те реквизиты, которые хочу, что бы появились в удаленной базе, надо описать в своем пакете. Так?
#7
by first_may
Даже сделав свой пакет и сформировав нужную xml, как сделать так, что бы произошло ее отправление и создание документа во второй базе? Что то делать с web сервисом уже?
#8
by Mankubus
нужно создать веб сервис, его операцию и описать алгоритм приёма пакета в модуле веб-сервиса В базе источнике нужно вызывать эту операцию с помощью ws соединения. П.с. Поиск для слабаков?
#9
by first_may
Поиск для слабаков? - нет, много что уже нашел, но надо общение. нужно создать веб сервис, его операцию и описать алгоритм приёма пакета в модуле веб-сервиса - это на принимающей стороне? В базе источнике нужно вызывать эту операцию с помощью ws соединения - не могу понять, как это делается.
#10
by first_may
получается - в базе источнике делаю свой пакет XDTO, при проведении заказа формирую xml по этому пакету и вызываю операцию с помощью ws соединения - не понимаю как? - в базе приемнике делаю веб сервис, его операцию и описание алгоритма приема пакета в модуле веб-сервиса Такой принцип?
#12
by lodger
в данном случае я бы создал хдто в БазеПриемнике, а в БазеИсточнике просто считал его в WS-ссылку (как объект конфигарции).
#13
by breezee
На основании любых данных из 1С можешь сериализиовать ТЗ, справочник, документ, кое-что, конечно не можешь, вроде деревья(это не точно), сам веб-сервис.
#14
by breezee
Не надо свой делать. У меня коллеги с работы понаделали этих пакетов XDTO, как с ними разгребаться - хз, там есть функция "серилизовать" или "записить" все в 2 строки с РЕИАЛИЗТОРОМ, не надо свои пакеты лепить. Если обмен только с каким-то сайтам - тогда надо и то, если на зарузку, это тоже не точно
#16
by breezee
Не не основании пакета, а на основании данных, передавай ТЗ сериализованное в xml в источнике. В приемнике десериализуй - тоже самое ТЗ на выходе получается, адельше обходишь в цикле ТЗ и создаешь как тебе надо документ, без пакета, тип метаданных и имя документа можешь в 0 строке таблицы значений прописать
#20
by breezee
Пакеты - нет, сериализатор - да. Вот пример на запись в xml - Функция СериализоватьТЗ(ТЗ) Экспорт получение данных из xml Никакие пакеты не нужны, система сама все за тебя делает, если нужно - можешь прочитать про эти пакеты, зачем они и когда испольхуются на инфостарте
#21
by breezee
Тз - не только таблица значений, а любой тип данных, из 1С, кроме тех, которые туда не подойдут, которые не сериализуемы
#22
by first_may
получается, только хотел спросить, можно ли как то записать документ Заказ покупателя в xml формате для передаче, но при этом пакет XDTO не делать? Или он обязателен? Типового нет под этот документ? Пробую в источнике сделать так и отправить Функция Сериализовать(ОбъектСериализации) но получаю <Объект не найден> (162:9226001e33553ae411e78a7ed98514bf)
#24
by first_may
я пробую как раз между одинаковыми. в приемнике надо создать пакет xdto заказа покупателя, что бы потом в источнике написать что то типа ВСОпределение = Новый WSОпределения(";); ВСПрокси = Новый WSПрокси(ВСОпределение,";); а вот ДСтр я должен передать в формате xdto, который есть в приемнике
#26
by breezee
<Объект не найден> (162:9226001e33553ae411e78a7ed98514bf) А как ты создаешь объект в базе приемнике?
#27
by first_may
уже разобрался с тем, как передать XDTO заказа а бызу приемника. Теперь ищу ответ на вопрос, как прочитать там эту строку, то есть если через файл, то URIПространстваИмен = ";; а на сервисе нет же файла, там есть только входящий параметр..
#28
by first_may
то есть вот тут "застопорился" (это в модуле сервиса) URIПространстваИмен = ";; XDTOЗаказПокупателя = ФабрикаXDTO.ПрочитатьXML( ????? , ФабрикаXDTO.Тип(URIПространстваИмен, "ЗаказПокупателя"));
#29
by first_may
Получилось вроде. Оказывается, когда я пишу в источнике то в приемнике в веб сервисе Параметр это и есть XDTOЗаказПокупателя, то есть его стуктура уже такая, как в пакете XDTO, который я сделал. Таким образом получилось следующее, что я сделал для изучения темы: 1 база источник - типовая УТ 2 в базе источника написал внешнюю обработку, в которой выбираю заказ покупателя 3 в обработке написал URIПространстваИмен = ";; ВСОпределение = Новый WSОпределения(";); XDTOЗаказПокупателя.Номер = ЗаказПокупателя.Номер; .. и тд заполняю с учетом пакета XDTO приеника Ответ = ВСПрокси.СоздатьЗаказ(XDTOЗаказПокупателя); Если Ответ = Истина Тогда Сообщить("Документ успешно создан"); Иначе Сообщить("Ошибка при создании документа"); 4 базу премника взял такую же УТ 5 в базе приемника создал XDTO с нужными мне данными 6 в базе приемника создал веб сервис с операцией СоздатьЗаказ и входящем параметром 7 в модуле сервиса написал Функция СоздатьЗаказ(Параметр)
#30
by first_may
Таким образом, может как то "коряво", но получил то, что хотел, а именно в источнике создаю документ "Заказ покупателя", указываю его в обработке и такой же заказ появляется в базе приемника. Спасибо все :), теперь буду "отшлифовывать" алгоритм.
#31
by breezee
НайтиПоНомеру нет, нельзя по номеру искать, у тебя через год появится 2 документа с одинаковым номером. И про XDTOпакеты - тоже не надо их. Смори. 1)Формируешь таблицу значений по твоим заказам на передачу в источнике. Типо, делаешь запрос по закзам и выгружаешь результат в ТЗ, затем в цикле по этой табилце проходишься - по ссылкам получаешь ГУИДы документов и ТЗ заполняешь ГУИДы в ТЗ. Потом твое ТЗ сериализуешь, в базе приемнике создаешь веб-сервис и операцию веб-сервиса с типом "string". Далее в приемнике десириализуешь той функцией что я кидал выше - у тебя получается ТЗ в пиремнике. Далее либо циклом, либо запросом получаешь данные из этой ТЗ и создаешь документы, используя поиск по ГУИДу, не по номеру! Если перед тобой не стоит задача использовать эти чертовы пакеты XDTO - не используй ты их, так сложнее и неизвестно зачем. Зачем делать сложнее?
#32
by breezee
И вот это "ДокУдалить.ПолучитьОбъект.Удалить;" делать тоже нельзя. Ты же без контроля ссылок на объект удаляешь документ. А если в этой базе на основании документа введены другие документы? Стоп, а почему у тебя стаж на форуме 10 лет и такие странные решения? Угнал у кого-то акк?)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- 1Cv8 - WEB расшерение - web сайт. Как реализовать? Помогите, с чего начть?
- Фабрика XDTO
- Не могу заставить работать Web сервис, ошибка XDTO
- v8: списки xdto и объекты xdto
- Проблема с ЗаполнитьЗначенияСвойств элементов XDTO с неопределенным типом.
- 8.2. Как включить пакет XDTO в глобальную Фабрику XDTO?
- WEB сервис, выдается ошибка в WEB браузере, что не так делаю???
- XDTO и списки XDTO. Чтение
- Как через WEB сервис перебросить картинку - какой тип в XDTO ставить?
- XDTO: Как сделать свойство Типа объекта XDTO с составным типом данных
- Как сделать пакет XDTO со Списком XDTO с разнородными элементами ?
- XDTO скопировать список XDTO
В этой группе 1С
- 1с и Word более 255 символов
- Не удается сделать синхронизацию данных из УТ в БП
- Обновление доработанной конфигурации
- Номера чеков ККМ
- 1С КА: обработка СБИС для эл. документооборота, как передать ссылку на документ?
- Ошибка при работе с внешним источником данных (SQL)
- Нумерация строк ТЧ
- Таблицу значений в json строку без записи файла.
- Аналог "ПодключитьОбработчикОжидания" на сервере.
- Сервер взаимодействия и ИТС ПРОФ.
- Обмен Битрикс24 и 1с
- Как понять, какой роли не хватает у пользователя в УТ?
- Внешняя печатная форма, серверная УПП
- Конвертация данных 2.1 Алгоритм использовать как Функцию?
- КА 2 себестоимость по поставщикам
- Выходные параметры web-сервиса 1с
- Печать чека ккм длится от 2 до 3 минут. Штрих М 01Ф
- ЗУП 3.1 Получить продолжительность часов рабочего дня
- Убрать дубли в списке значений при подборе
- Поступление в 1С УТАП 11.2.3.143 - принцип ввода номенклатуры