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) Можно дёргать любые методы ГлобальногоКонтекста.

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

Заранее Спасибо за помощь..
 
Возможно как то можно получить список Открытых форм ? Либо получить форму открытую по какому либо параметру. Гугл сказал что можно по какому то "Общему аттрибуту" найти форму... Но ничего не вышло
 
Ничего себе задачка!
Опишите, если не сложно, зачем вам такое понадобилось? Очень я смотрю тесная интеграция, или вы не то хотите.
 
unknown181538

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

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