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

11.02.20

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Расширение для эмуляции COM передачи данных через http сервис:
.cfe 152,36Kb
36
36 Скачать (1 SM) Купить за 1 850 руб.

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

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

См. также

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

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

12000 руб.

02.09.2020    169886    939    403    

905

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    12966    100    46    

103

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

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    26701    90    48    

134

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

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

22200 руб.

06.10.2023    16911    41    15    

75

SALE! %

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

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

4800 3840 руб.

14.01.2013    190693    1151    0    

918

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

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

15000 руб.

10.11.2023    11443    40    27    

66

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    924    2    0    

5

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

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

5000 руб.

07.02.2018    103985    244    100    

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

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

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

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

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

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