1С 8.1 СОМ взаимодействие и программирование на встроенном языке

  • Автор темы SAP88
  • Дата начала
S

SAP88

Всем Привет....

Ситуация такая : Имеется 1С версии 8.1, необходимо взаимодействие с ней из нашего приложения. Подключение, работа с формами, конфигуратор на чтение - доступны. Проблема с поиском активного экземляра окна. Решение моей задачи возможно 2-мя путями

1) Если сможете подсказать как в 8.1 получить объект текущего окна. Тобишь где то в коде открывается окно и мне необходимо получить его экземляр. В 8.2 есть удобная функция АктвиноеОкно() возращающая его, но в 8.1 она отствует. Так же не подходит вариант с поиском формы по уникальному идентификаотору. Форма открывается просто заданием имени и владельца. Документы.Документ1.ПолучитьФорму("НУЖНАЯФОРМА", ЭтаФорма) без 3-го аргумента по которому можно было бы получить это окошко. Вариант с добавлением 3-го параметка данной функции не подходит, база должна быть без изменений.

2) Переписать процедуру обработки кнопки открывающей окно чтобы в момнет ПолучитьФорму() иметь её экземляр. Но здесь хранится камень, все бы было хорошо но в коде процедуры вызов варификации входных данных в нескольких процедурах с глубиной вызова 30% кода модуля, что пока переписывать не хочется. И процедуры НЕ Экспортные... Тобишь если сможете дать вариант вызова не экспортной процедуры то этого будет за глаза...

Поэтому инструментарий которым можно его выцыпить :
1) конфигуратор на чтение (можно найти что нада)
2) Hwnd окна появляющегося
3) Title заголовок окна пояляющегося
4) Экземляр формы Главного окна. (Можно дёргать методы и работать с её контекстом)
5) Можно дёргать любые методы ГлобальногоКонтекста.

И еще вариант с вызовом метода "Выполнить" не пройдёт, так как эта команда не доступна..

Заранее Спасибо за помощь..
 
S

SAP88

Возможно как то можно получить список Открытых форм ? Либо получить форму открытую по какому либо параметру. Гугл сказал что можно по какому то "Общему аттрибуту" найти форму... Но ничего не вышло
 
U

unknown181538

Ничего себе задачка!
Опишите, если не сложно, зачем вам такое понадобилось? Очень я смотрю тесная интеграция, или вы не то хотите.
 
S

SAP88

unknown181538

Вы правы интеграция тесная. Задача примерно такая : Внутри нашего продукта находится окно 1С-ки на одной из вкладок. Требуется при нажатии на одну из кнопок в одном из последущих окно заполнить поля формы, риквизиты. ЧТобы это сделать нужен экземпляр формы. Допустим в 8.2 экземпляр аквтивной формы получается методом АктвиноеОкно() (или АквтивнаяФорма) как то так... С ним я и могу напрямую рабоать. Если сможешь сказать последовательность действий для получения окна был бы очень признантелен... Но я ничего дельного не нашёл...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!