vers139

53
Рейтинг

vers139



  •   Регистрация: 09.10.2008 (15 лет назад)

  •   Был(а) на сайте: 23.04.2024

Подписчики 3

Группы

Профессиональный разработчик

Рейтинг 53

Свой способ заполнения табличной части документа с срабатыванием процедуры ПриИзменении

Статья Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free) Нет файла Универсальные функции

Задача состояла в программном заполнении табличной части документа. При этом чтобы срабатывала процедура ПриИзменении при внесении значения в колонку Номенклатура.

23.08.2010    13445    vers139    18       

31

Комментарии

ВКАналог внешней компоненты на Python для 8-ки#15 19.02.24 15:45
(13) Немного погрузился в тему. И понял свои ошибки. Во-первых, название скрипта, в которых нужно сохранить python-скрипт должен называться именно pyComTestv1.py. Тогда при выполнении команды
Код
python pyComTestv1.py
происходит правильная регистрация COM-объекта. Кстати, в самом скрипте строчку
Код
if tstr=="<type 'PyIDispatch'>":
нужно заменить на
Код
if tstr=="<class 'PyIDispatch'>":
В таком виде всё работает, Новый COMОбъект("pyComTestv1";) создаётся. Если в Клиент.callbacktest(Парам) в качестве параметра передать текущую форму обработки, то будет вызвана экспортированная функция test. Остаётся открытым вопрос: как сгенерировать внешнее событие 1С?
ВКАналог внешней компоненты на Python для 8-ки#14 12.02.24 17:54
(13) Кстати, нашёл, что про попытке регистрации через выполнении команды "pyComTestv1.exe /register" пишет лог с содержимым:
Код
Traceback (most recent call last):
  File "boot_com_servers.py", line 96, in <module>
  File "boot_com_servers.py", line 62, in DllRegisterServer
  File "win32com\server\register.pyc", line 430, in RegisterClasses
  File "win32com\server\register.pyc", line 184, in RegisterServer
  File "win32com\server\register.pyc", line 32, in _set_string
pywintypes.error: (5, 'RegSetValue', '\xce\xf2\xea\xe0\xe7\xe0\xed\xee \xe2 \xe4\xee\xf1\xf2\xf3\xef\xe5.')
ВКАналог внешней компоненты на Python для 8-ки#13 12.02.24 17:23
Есть Windows 10, 1С 8.3.13.1690. Установил Python 3.3 и pywin32. Запускаю толстый клиент (обычное приложение).
При выполнении
Код
Клиент = New COMОбъект("pyComTestv1")
выдаёт ошибку:
Код
Ошибка подключения объекта обмена pyComTestv1:{ВнешняяОбработка.ПримерPython.МодульОбъекта(9)}: Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован

далее запускается регистрация через временный exe (кстати, тут ошибка в коде; надо "pyComTestv1.exe /register", без двойного exe) и выдаёт следующую ошибку
Код
Установка COM объекта:C:\Users\user\AppData\Local\Temp\pyComTestv1.exe
Ошибка подключения объекта обмена pyComTestv1:{ВнешняяОбработка.ПримерPython.МодульОбъекта(20)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса

Возможно, проблема в том, что во втором случае попытка создания com-объекта с новым именем (New COMОбъект("pyCom")).

Если запускать через командную строку
Код
python "PyCom vs 1Cv8.2.py"

то отчитывается вроде как нормально:
Код
Requesting elevation and retrying...
Registered: pyComTestv1
registred
 registred

Но при запуске обработки опять ошибка:
Код
Ошибка подключения объекта обмена pyComTestv1:{ВнешняяОбработка.ПримерPython.МодульОбъекта(9)}: Ошибка при вызове конструктора (COMОбъект): -2147467259(0x80004005): Неопознанная ошибка
ОбменВнешнее воздействие на веб-клиент 1С:Предприятие#19 13.02.20 11:01
Получилось ли реализовать вызов серверных и клиентских процедур веб-клиента другой базы?

Суть ситуации: внутри базы 1 открывать обработку с размещённым в ней полем HTML-документа. В нём открываем веб-клиент базы 2. Далее из кода обработки базы 1 воздействовать на веб-клиент базы 2. Например, формировать отчёт или заполнять реквизиты документа.
MobileDevСредстваМультимедиа.ВоспроизвестиЗвуковоеОповещение#6 23.05.19 12:43
(5) пока только идея копировать файл на устройство и делать СредстваМультимедиа.ВоспроизвестиАудио("/sdcard/1.mp3",,,);
MobileDevСредстваМультимедиа.ВоспроизвестиЗвуковоеОповещение#4 17.05.19 13:08
(3) Получилось что-нибудь без сборщика?
DevМобильное приложение 1С и приложение Java. Совместная работа через Intent. Часть 1. Запуск приложения Java из 1С#19 13.05.19 10:29
(16) Можете подробней описать как это реализовали. Код кинуть. Или хотя бы где бы почитать как это можно сделать?
ВКСобственная реализация потокового сканирования с распознаванием для 1С (1C Документооборот + C# )#5 03.10.14 16:29
(4) можете привести пример кода на 1С как использовать Toolkit как внешнюю компоненту?
DevОткрытие объекта базы 1С 8.2 по навигационной ссылке из письма.#1 25.07.14 18:13
Можно ещё поднять веб-сервер, опубликовать базу и рассылать в письме внешнюю http-ссылку. Но это двойная работа в браузере и в тонком клиенте. Не каждому пользователю будет по нутру. Зато вариант.