Готовый сервер xml-rpc для 1С средствами python

15.05.13

Интеграция - Внешние источники данных

Доступ к 1С посредством xml-rpc протокола из любого другого приложения.

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

Наименование Файл Версия Размер
xml-rpc.zip
.1244037451 7,59Kb
143
.1244037451 7,59Kb 143 Скачать
Пример COM объекта на python
.1245153316 2,34Kb
46
.1245153316 2,34Kb 46 Скачать
Вызов COM (python) объекта в 1С
.1245153343 34,00Kb
49
.1245153343 34,00Kb 49 Скачать
Класс для создаия демона под linux на python
.1245153711 3,57Kb
31
.1245153711 3,57Kb 31 Скачать
Серверная часть из примера с СОМ
.1245153746 1,37Kb
37
.1245153746 1,37Kb 37 Скачать
Сам сервер для примера
.1245153772 2,55Kb
38
.1245153772 2,55Kb 38 Скачать
Графический интерфейс на питоне для вызова функции сканирования
.1245153850 0,99Kb
41
.1245153850 0,99Kb 41 Скачать

Готовый сервер xml-rpc для 1С средствами python.
Принцип работы

1. Создаем классы 1С++ с названием rpc_name и методами с англ. именами с одним параметром param, пример:

function getInfo(param) export 
param.result = 0;
return param;
endfunction

2. Прописываем методы которые должны быть доступны удаленно в defcls.prm как открытые

function getInfo(param);

При запуске сервак определит эти методы и зарегистрирует их для удаленного вызова автоматически, о чем будет сообщено в консоле.

3. В файле конфигурации сервака settings.py прописываем строку запуска.

4. Запускаем v77xmlrpc_server.py (что бы небыло видно консоли можно задать расширение pyw), для остановки сервера stop_server.py

5. Дальше читаем google xmlrpclib.

Пример на стороне вызывающей методы программы (в моем случае веб-интерфейс)

import xmlrpclib
client = xmlrpclib.ServerProxy("http://192.168.16.1:888/") # "куда хотим подключиться?"
client.system.listMethods() # покажет все доступные методы на сервере
result = client.rpc_partner_GetMessages({"idpartner":"10"}) # получить список сообщений для партнера с id = 10
if result["result"] == 1: # если на стророне 1С все в порядке, то обработаем дальше полученный список
msg_list = result["table"]
else:
error = result["msg"]

Этот сервак используется и по сей день в комбинации с веб интерфейсом (ubuntu apache mod_python django). вызов методов менее 1сек при загрузке 10 пользователями. Дополнительно использую memcached, поэтому отклик моментальный :).

 Дополнительные ресурсы:
http://ru.wikipedia.org/wiki/XML-RPC
http://docs.python.org/library/xmlrpclib.html
http://1cpp.ru/

16.06.09
Выкладываю еще пример того как можно использовать вызовы удаленных процедур внутри 1С.
На практике этот код служит для получения информации по картам c сервака под ubuntu.

См. также

Загрузка электронных листов нетрудоспособности (ЭЛН) в ЗиК 7.7

Зарплата Внешние источники данных Расчет 7.7 1С:Зарплата и кадры 7.7 Россия Бухгалтерский учет Абонемент ($m)

Загрузка электронных листов нетрудоспособности (электронных больничных) в ЗиК 7.7 из файлов, например, из СБИС. Не нашел похожих разработок, может, плохо искал, для 1С 7.7 ЗиК.

1 стартмани

14.04.2020    8486    4    hvv2002    2    

2

JSON: Туда и Обратно

Внешние источники данных Платформа 1С v7.7 Конфигурации 1cv7 Украина Абонемент ($m)

Рабочий механизм чтения/записи строк в формате JSON для 1С 7.7. Тестировалось на релизах 7.70.25 и 27.

1 стартмани

16.12.2019    21944    60    Volvo32    33    

25

Интеграция с системой управления складом WMS Exceed-4000 (exceed-infor.ru) XML-обмен для комплексной конфигурации 1С 7.7

Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v7.7 1С:Комплексная 7.7 Оптовая торговля, дистрибуция, логистика Управленческий учет Абонемент ($m)

Обработки обмена номенклатурой (SKU), дополнительными штрихкодами (AltSku), приемкой (AdvancedShipNotice), подтверждением приема (ASNClosed), выдачей (ShipmentOrder), подтверждением выдачи (CustomerOrderLoaded) для учетной системы 1С 7.7. Здесь выгрузка и загрузка для 1C 7.7.

1 стартмани

21.10.2019    15443    1    ksnik    0    

2

Универсальная выгрузка данных из 1С 7.7 в JSON

Внешние источники данных Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Обработка для универсальной выгрузки данных из конфигурации 7.7 в JSON. Может быть полезна для задач переноса данных из различных конфигураций в другие конфигурации, для перехода на другие версии 1С, для перехода на 8.3, для переноса данных в другие системы учета, для организации онлайн выгрузки с целью синхронизации разных систем учета. Выгрузка справочников, документов, результатов запросов, остатков по планам счетов.

2 стартмани

09.10.2019    16751    71    Malice    16    

12

Обмен с SalesWorks в 1С 7.7

Внешние источники данных Оптовая торговля Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v7.7 Россия Управленческий учет Абонемент ($m)

Обработка позволяет реализовать обмен данными между решением SalesWorks и 1c 7.7.

5 стартмани

16.07.2019    15911    6    vv-adm    2    

2

Выгрузка контактных данных контрагентов и формирование файла vcf. 1С 7.7

Внешние источники данных Оперативный учет 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Обработка выгружает данные контрагентов и создает два файла: один текстовый со всеми данными, другой формата vcards.vcf для загрузки контактных данных в андроид.

1 стартмани

10.05.2019    9444    4    rid636674    1    

0
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. orefkov 1152 10.06.09 08:54 Сейчас в теме
Я конечно незнаю что такое xmlrpc, однако же питон, 1С++, классы - однозначно плюсую.
2. Ёпрст 1063 10.06.09 09:03 Сейчас в теме
Неплохо бы еще и мини-пример присоплить...
3. stilet 50 10.06.09 09:34 Сейчас в теме
А к 8ке можно прикрутить? И можно поподробнее?
4. quick 583 16.06.09 16:37 Сейчас в теме
Добавил немного новых примеров + скрины.
5. Вадимыч 05.07.09 15:17 Сейчас в теме
6. flamps 11.12.09 15:19 Сейчас в теме
у меня не запускается сервер
8. quick 583 05.02.14 14:21 Сейчас в теме
(6) flamps, тестировал только на версии питона 2.7. Возможно что на 3.0 не взлетит
7. xzxzxz 25.09.12 15:18 Сейчас в теме
Спасибо тебе, добрый человек, за такую качественную халяву, что редко встретишь в мире 1С :)
Оставьте свое сообщение