8.х Вопрос по получению координат в управляемой форме

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем afinogen, 28 фев 2011.

  1. TopicStarter Overlay
    afinogen
    Offline

    afinogen Опытный в 1С

    Регистрация:
    28 фев 2011
    Сообщения:
    160
    Симпатии:
    0
    Баллы:
    26
    Добрый день, есть вопрос по получению координат в управляемой форме.
    Ситуация следующая:
    есть документ с управляемой формой, на управляемой форме есть Поле HTML документа, с которым связан реквизит формы (тип реквизита - строка). В данное поле инициализируется EXCEL, проблема состоит в том что в управляемых формах в 8.2 отсутствует как таковой ActiveX, соответственно приходится загружать через COMобъект.
    Однако созданный и проинициализированный COMобъект жестко не привязывается к границам Поля HTML документа, т.е. при растягивании/сворачивании формы проинициализированный объект не масштабируется, я нашел 2 варианта "движения в направлении решения проблемы":

    1) у COMобъекта есть реквизит - ViewOnlyMode, при выставлении в "Истина" он позволяет жестко зафиксировать COMОбъект но потом не позволяет масштабировать
    2) у того же COMобъект есть реквизиты - ClientWidth, ClientHight. Как я понял они и задают координаты, этот путь мне кажется более перспективным но проблема как раз состоит в том что не могу получить координаты Поля HTML документа чтобы затем передать из COMобъекту...

    кто что посоветует? или может есть какие иные соображения на данный счет? :angry:
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Давайте сначала свою обработку.
  3. TopicStarter Overlay
    afinogen
    Offline

    afinogen Опытный в 1С

    Регистрация:
    28 фев 2011
    Сообщения:
    160
    Симпатии:
    0
    Баллы:
    26
    1. создается контейнер для Экселя
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Вставить содержимое обработчика.
    EXELDoc = "<HTML>
    |<OBJECT id=XLS classid=CLSID:0002E559-0000-0000-C000-000000000046 width=""100"" height=""100"">
    |</OBJECT>
    |</HTML>";
    КонецПроцедуры

    2. Контейнер заполняется сохраненными данными (если есть)
    &НаКлиенте
    Процедура EXCELDocДокументСформирован(Элемент)
    // Вставить содержимое обработчика.
    ЭлементXLS = Элементы.EXELDoc.Документ.getElementById("XLS");
    ТекДанные = СформироватьXMLData();
    ЭлементXLS.XMLData=ТекДанные;
    КонецПроцедуры
  4. TopicStarter Overlay
    afinogen
    Offline

    afinogen Опытный в 1С

    Регистрация:
    28 фев 2011
    Сообщения:
    160
    Симпатии:
    0
    Баллы:
    26
  5. TopicStarter Overlay
    afinogen
    Offline

    afinogen Опытный в 1С

    Регистрация:
    28 фев 2011
    Сообщения:
    160
    Симпатии:
    0
    Баллы:
    26
    [​IMG]

    пардон, тут по ходу косяк с прикреплением файлов

    иными словами заполняется реквизит contentDocument.XMLData скриптом из XML-файла

    ЭлементXLS = Элементы.EXELDoc.Документ.getElementById("XLS");
    ЭлементXLS.XMLData = ДанныеШаблона;
  6. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Объект выводится той величины, которую Вы задаете, в Вашем случае 100х100.
  7. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Обработка показывает размер поля HTMLДокумента

    Вложения:

  8. TopicStarter Overlay
    afinogen
    Offline

    afinogen Опытный в 1С

    Регистрация:
    28 фев 2011
    Сообщения:
    160
    Симпатии:
    0
    Баллы:
    26
    вообщето я это понял давно, суть вопроса: как получить размеры поля ХТМЛ в управляемой форме что бы потом их скормить КОМобъекту :angry:

    сейчас проверю

    мерси, идея ясна

Поделиться этой страницей