Для тех кто еще не знает что такое Python, скажу сразу — это куча сэкономленного времени.
Куча прекрасных готовых библиотек в стандартном дистрибутиве. Наверное один из самых быстрых в разработке языков программирования. В дружбе его с 1С однозначно быть!
Кстати всем известный Dropbox полностью написан на python, включая клиентские программы.
Не буду писать для чего его можно использовать, иначе получится несколько страниц.
Сам исходник COM объекта выглядит так
http://pastebin.com/EBkQkMa5
—
Собирается это все в исполняемый файл exe с помощью py2exe и не требует никаких установленных библиотек на стороне пользователя. Сам файл для сборки здесь не прижу, для пытливых пусть будет шанс разораться с этим прекрасным инструментом 😉
На стороне 1С
Процедура Кнопка1Нажатие(Элемент)
Сообщить("Клиент.тест = "+Клиент.test(1));
парам = ЭтотОбъект;
Клиент.callbacktest(Парам);
КонецПроцедуры
И при выполнении вызывается функция обработки
Функция test(парам) Экспорт
Сообщить("код 1с вызван из питона");
КонецФункции
Этот COM объект так же можно использовать в 7-ке, но нельзя передвать параметры отличные от простых типов. Удачных экспериментов!
Кто нибудь уже попробовал? или пока только примеряетесь? 🙂
(1) Чем компилировал python код в exe ?
(2) rustamakhmetov, py2exe
Вот тут-то и кроется причина малого внимания к публикации ))
А почему только на windows?
Уж если затронули Питон, то и на платформе Linux неплохо бы примеры посмотреть.
(5) bzmax, потому что COM существует только под Windows.
Для Linux у меня сейчас используется парсер 1cv7.md файла для получения метаданных и простой парсер запросов на его основе по типу как сделано в 1С++, но пока что небыло времени оформлять это в публикацию.
(5) bzmax,
https://github.com/WorldException/v7py
Недавно открыл исходники библиотеки для прямых запросов 7.7 sql как раз под линукс.
Можно использовать подстановки для метаданных.
Показать
Ошибка подключения объекта обмена pyComTestv1:{ВнешняяОбработка.ПримерPython.МодульОбъекта(10)}: Ошибка при вызове конструктора (COMОбъект): -2146959355(0x80080005): Ошибка при выполнении приложения-сервера
как решить?
после установки питона поставить pywin32
https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/
(4)
Ну, хотя бы на одной странице напишите для чего можно использовать Python..