Эмуляция COM передачи данных через http сервис

Публикация № 1176839

Разработка - Инструментарий разработчика - Прочие инструменты разработчика

КД 2.0 Конвертация данных COM http-service

Делаем расширение для конвертации 2.0 через http-сервис.

Доброго времени суток!

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

А почему не сделать эмуляцию подключения COM соединения, через простой http сервис? Ведь подумайте сами. Что делает COM соединение? Запускает Универсальную обработку обмена в базе приемнике. Передает туда данные и начинает их принимать. Так что нам мешает передать файл обмена по http-сервису и принять его в базе одной и той же обработкой подключенной к базе через расширение.

 

Если Вы ничего не поняли извиняюсь, объяснять сложные вещи простыми словами это целое искусство.

А теперь как этим пользоваться:

1. Подключаем  расширение (см. ниже) для базы источника и базы приемника.

2. Публикуем базу приемника через web сервер

3. Берем открывает обработку в базе источнике (немного переделанную УниверсальныйОбменДаннымиXML)

4. Загружаем правила обмена из файла - Прочитать правила Обмена (как обычно в УниверсальныйОбменДаннымиXML).

5. И, конечно, используем стандартные поля идентификации для подключение по http к базе приемнику

- Имя сервера 1С = Имя Web-сервера

- Информационная база = Имя публикации базы приемника

- Пользователь и пароль для идентификации в базе приемнике.

5. И кнопка "Выгрузить данные" работает интерактивно на выгрузку данных с одновременной загрузкой в базе приемнике.

 

 

Р.S.

Не забываем где подключаются http-сервисы для расширений:

 

Примечание:

И конечно, применим новомодные функции работы с файлами 8.3.15 (если у Вас версии меньше, придется немного вернуть старый код загрузки файла)

Из описания светлого пути от 1С:

https://wonderland.v8.1c.ru/blog/unifikatsiya-metodov-raboty-s-faylami/?sphrase_id=143429

 

Скачать файлы

Наименование Файл Версия Размер
Расширение для эмуляции COM передачи данных через http сервис:

.cfe 152,36Kb
13.02.20
15
.cfe 152,36Kb 15 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Darklight 22 12.02.20 16:22 Сейчас в теме
ничего не понял - хоть бы пример какой-нибудь показали как это всё использовать
EliasShy; +1 Ответить
3. sikuda 636 13.02.20 11:48 Сейчас в теме
(1) (2) Понял, дописал инструкцию по применению.
4. MSK_Step 21 13.02.20 12:36 Сейчас в теме
(3) можно код в статью выложить?
2. logarifm 1077 12.02.20 19:00 Сейчас в теме
Немного кривовато статья называется от суровой действительности...
5. kolya_tlt 24 13.02.20 13:06 Сейчас в теме
Сам Бог ИТ вам сулить слезть с COM когда приходит замена windows на linux, но всё равно сидите как наркоматы на этой игле
6. starik-2005 2180 13.02.20 13:27 Сейчас в теме
(5)
слезть с COM
Web-сервис по-сути тот же "СОМ", только объект создает веб-сервер из библиотеки сопряжения с 1С. А уж файл кинуть из базы А в базу Б - "как два пальца об асфальт"...
8. kolya_tlt 24 14.02.20 09:13 Сейчас в теме
(6) сделал скрин, пойду поржу в курилке с коллегами
15. starik-2005 2180 14.02.20 13:05 Сейчас в теме
(8)
сделал скрин, пойду поржу в курилке с коллегами
Пойди. От обычных 1С-негов кроме как поржать над тем, что они не понимают, вряд ли что дельное услышу.

Вот я для Ваших коллег тоже скрин сделал. Мало ли, вдоруг решите понять, чем интерфейс взаимодействия веб-сервера с 1С отличается от интерфейса взаимодействия 1С и любой другой библиотеки. Особо отмечу в конце фразы словосочетание "и сходных технологий", к которым, несомненно, относится библиотека взаимодействия IIS и Апача с 1С, отсюда к стеку сходных технологий относится и взаимодействие программ друг с другом посредством веб-сервисов.
Прикрепленные файлы:
cleaner_it; logarifm; +2 Ответить
17. logarifm 1077 15.02.20 13:38 Сейчас в теме
(15)
Мало ли, вдоруг решите понять, чем интерфейс взаимодействия веб-сервера с 1С отличается от интерфейса взаимодействия 1С и любой друг

Соглашусь - но это же 1С , а не С++ или Java. Тут не так то все просто пробросить.
18. starik-2005 2180 16.02.20 10:12 Сейчас в теме
(17)
Тут не так то все просто пробросить.
В последних релизах платформы вообще встроенный веб-сервер появился, который позволяет 3-м пользователям работать с базой через HTTP-подключение (фактически, это микро-серверная версия) без серверной лицензии, и веб-сервисы (и HTTP) тоже доступны через этот внутренний механизм.

Вообще, опубликовать базу на апаче или IIS уже давно задача 10-ти минут - это если их (веб-серверы) установить придется. Написать сервис - тоже примитивная операция, особенно, если это HTTP-сервис (т.к. с ним не нужно много думать о параметрах - хочешь через УРЛ, хочешь - через параметры). Передать файл - проще простого, если есть ограничение - разбить/собрать через чтение/запись ZIP (но веб-сервер у нас на .машине, поэтому в ограничениях нет смысла, так что это и не нужно).

Лично на мой взгляд - работа с веб-сервисами не сложнее, чем с СОМ. Да, появляется еще веб-сервер, но уже он есть в платформе последней. Сериализовывать 1С умеет очень много во что. ОСь при таком подходе становится уже вторична. Да и между мобильным приложением и базой 1С обменяться кроме как через веб-сервисы не получится, а все больше пользовательского опыта распространяется на мобильные устройства и их рынок растет, в отличие от рынка ПК. Так что если не освоить работу веб-сервисов 1С, то так и без работы можно остаться, а пенсия все дальше )))
7. Darklight 22 13.02.20 18:08 Сейчас в теме
Я уже ранее делал такую замену - переводил алгоритм, использующий COM на WEBСервисы (тогда HTML-сервисов ещё не было) - но без проблем это всё равно не получилось
11. sikuda 636 14.02.20 12:18 Сейчас в теме
(7) Все хотят использовать Интернет технологии как аналог COM(ActiveX), но так не проходит по многим причинам.
Здесь же реализована простая схема: Сформированный Файл обмена данными как-бы переносится на сервер приемника и принимается УниверсальнойОбработкойХML и все как-бы из базы источника.
cleaner_it; +1 Ответить
16. Darklight 22 14.02.20 13:59 Сейчас в теме
(11)У меня просто нетиповое взаимодействие было по COM в реальном времени, vмежду двумя базами - данные брались из одной базы и интерактивнло выводились в дополнении к колонкам списка другой базы. Такой механизм было сложнее переделать на WEB-сервисы - но даже когда переделал - столкнулся с неприятной проблемой по COM такое взаимодействие шло заметно быстрее. А при использовании WEB-сервисов интерактивная динамическая прокрутка очень заметно подтормаживала - и работать так было не комфортно! Пришлось очень сильно заморчиваться с кешированием и фоновыми операциями на сервере!
9. CodeNull 14.02.20 10:21 Сейчас в теме
Здравствуйте.

Подсистема обмена данными из БСП имеет поддержку передачи сообщений обмена через HTTP (используя веб-сервисы). Какие приемущества есть у вашего решения?
10. sikuda 636 14.02.20 12:13 Сейчас в теме
(9) Да Вы правы если на обоих концах БСП это было бы предпочтительным решением. Но у меня на картинке костыль, то есть мой вариант быстрый перевод с COM с дальнейшим планированием...
CodeNull; +1 Ответить
12. Cyberhawk 120 14.02.20 12:18 Сейчас в теме
13. sikuda 636 14.02.20 12:23 Сейчас в теме
(12) Эмуляция приема приема файла обмена через COMConnector посредством http сервиса.
14. Cyberhawk 120 14.02.20 12:42 Сейчас в теме
(13)
Эмуляция приема файла обмена через COMConnector
Я и спрашиваю - каким боком упоминание СОМ-коннектора попало в эту фразу?
Чем это отличается от "сделал прием файла обмена посредством http сервиса"? Зачем именно отсылка к СОМ?
19. Perfolenta 188 16.02.20 14:44 Сейчас в теме
Технически COM+OLE+DCOM+ActiveX идеальная технология... очень гибкая, работает быстро, компоненты как кубики соединяются между собой... хочешь, обмен данными, хочешь, внедрение и связывание объектов...
подвела её криворукость программистов... создатели технологии не учли, что программисты будут массово нарушать простейшие правила и выпускать несовместимые версии компонентов... из-за чего возникнет "АД"...
При разработке .Net это уже во всю учитывалось... .Net позволяет очень много вольностей при изменении компонентов, которые в COM приводили к фатальным проблемам... однако, достигнуто это за счет некоторой потери производительности...
Ни какие сетевые сервисы не в состоянии заменить COM с точки зрения производительности... слишком много прокладок между источником и приемником данных... но, время COM прошло, хочешь, не хочешь, а надо использовать что-то другое...
Оставьте свое сообщение

См. также

daСклонение: склонение ФИО, должностей, чисел, прилагательных, существительных на языке 1С + ТестЦентр Промо

Универсальные функции v8 1cv8.cf Абонемент ($m)

Функция предназначена для склонения выражений, которые часто требуется при формировании печатных форм договоров и прочих печатных форм. Функция склоняет по падежам ФИО, должности, числительные, валюты, единицы измерения, предметы. Также функция склоняет глаголы и прилагательные по числам и родам и существительные по числам. Имеется режим определения рода переданного выражения. Поддержка форматной строки для вывода результата. Функция не использует внешние библиотеки и веб-сервисы, написана на чистом языке 1С, и поэтому легко встраивается в любую конфигурацию или внешнюю обработку. Правила склонения оформлены в виде таблицы и могут быть легко изменены при необходимости.

1 стартмани

14.02.2015    102059    97    daMaster    90    

Сравнение реального дохода со средним доходом из API.HH.RU

Зарплата Управленческие v8 v8::СПР ЗУП3.x УУ Абонемент ($m)

Внешняя обработка на управляемой форме для 1С:Предприятие 8.3 по интеграции с HH.RU используя HH REST API. Ключевые функции: получение списка вакансий по должностям (Ключ для работы не нужен); расчет среднего дохода; Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.13.1513) Зарплата и управление персоналом, редакция 3.1 (3.1.11.68) совместно с API.HH.RU.

1 стартмани

11.11.2019    3947    4    solaru    2    

Конфигурация для рекламного агентства

Управление услугами и сервисом Управление взаимоотношениями с клиентами (СRM) Производство готовой продукции (работ, услуг) Управление взаимоотношениями с клиентами (СRM) Производство готовой продукции (работ, услуг) v8 Реклама, PR и маркетинг УУ Абонемент ($m)

Данная конфигурация выполнена для решения тестового задания: Цель задания: 1) Понять, на каком из клиентов сколько мы заработали;  2) Понять, по какому виду СМИ сколько мы заработали;  3) Проследить по каждой услуге: у кого за сколько купили и кому за сколько продали, с возможностью перейти в соответствующий документ. Реализовано с помощью: 1. Справочники - контрагенты, номенклатура 2. Документы - Поступление услуг, реализация услуг 3. Отчеты - отчет по контрагентам, номенклатуре и движений.

1 стартмани

21.05.2019    4606    0    solaru    0    

Загрузка номенклатуры в УТ 10.3 из Excel файла с генерацией штрихкодов

Загрузка и выгрузка в Excel Обработка справочников Оптовая торговля Розничная торговля Учет ТМЦ Оптовая торговля Розничная торговля Учет ТМЦ v8 УТ10 Россия Абонемент ($m)

Обработка позволяет генерировать новые номенклатурные позиции на основе данных из файла Excel с последующей генерацией штрихкодов (ШК). Может быть полезна при больших поступлениях товаров на склад, где ручное создание и присваивание штрихкода  (ШК) может занимать много времени.

1 стартмани

24.03.2017    7823    7    solaru    0    

Под капотом управляемых форм

Практика программирования v8 1cv8.cf Бесплатно (free)

Управляемые формы уже давно и плотно вошли в жизнь 1С-разработчика. Однако, судя по недавним публикациям на Инфостарте, многие до сих пор мало знакомы с ними. Предлагаю разобраться с тем, что же это такое.

26.08.2013    265491    Evil Beaver    266    

[NotaBene] Универсальный отчет по таблице значений

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

1C v.7.7 Готовое решение. Не требует настройки. Не требует допрограммирования. Данная обработка решает часто встречающуюся задачу вывода в "красивом" виде таблицы значений (полученной, например, из запроса). Поддерживается произвольное группирование данных, отключение/включение группировок, в т.ч и создание "шахматок" (типа "продажи понедельно"). Обработка может использоваться как и в отладочных целях (для нормального просмотра ТЗ), так и в составе вполне рабочих отчетов. По крайней мере, я неоднократно клиентам данную обработку ставил вместо того, чтобы каждый раз писать замороченные выводы данных. И клиенты довольны, и мне - проще...

2 стартмани

07.05.2007    28807    3    CheBurator    63