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

11.02.20

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

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

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

Наименование Файл Версия Размер
Расширение для эмуляции COM передачи данных через http сервис:
.cfe 152,36Kb
32
.cfe 152,36Kb 32 Скачать

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

При общем уходе от технологии 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

 

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

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122116    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7288    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3524    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177737    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99345    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18108    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28107    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

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

2400 руб.

24.09.2019    23601    15    15    

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

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

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

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

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

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