1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Проблема с rtf таблицами

Тема в разделе "Lotus - Программирование", создана пользователем AvasKvas, 29 июн 2015.

  1. AvasKvas

    AvasKvas Well-Known Member

    Репутация:
    0
    Регистрация:
    3 июн 2009
    Сообщения:
    78
    Симпатии:
    0
    Доброго времени суток, коллеги!))

    Может кто встречался с такой проблемой:

    Есть документ. В нем я формирую программно RTF таблицу. Открываю документ, таблица отображается корректно. Но вот как только я попытаюсь его распечатать по другой форме, то таблица превращается в обычный текст без форматирования.

    Технология печати такая: текущий документ открывается в диалогбоксе по другой "печатной" форме в которой есть кнопка "печать".

    Соответственно в печатной форме находится trf поле вычисляемое само себя. В ней стоит галочка хранить данные в mime. Документ я формирую программно, таблицу тоже, и сразу его подписываю.

    Что я пробовал:
    1) Просто создание таблицы в rtf - не работает.
    2) Снятие, установки галочки у поля хранения данных в mime.
    3) Создание html и конвертирование в mime. Тут вроде ка получилось, но документ не подписывается: выдает ошибку на строке "call doc.sign" - "Не найден объект". Из-за этого вариант не приемлем.

    Можно конечно создать html и выводить его как "код html" в вычисляемом тексте, но может возникнуть ситуация переполнения данных (100 % возникнет.)

    Выяснили, что форматирование в поле есть до открытия документа в диалогбоксе. После открытия форматирования уже нет.

    Кто-нибудь встречался с таким? На форуме что то не нашел.

    P.S. Спасибо за советы!
     
  2. alexas1

    alexas1 Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    10 апр 2014
    Сообщения:
    649
    Симпатии:
    227
    Ачоб не сделать, как печать в стандартном журнале.
    Там с подменой формы и форматированием проблем нет.
    Или надо обязательно, перед печатью, показать док в диалоге?
     
  3. AvasKvas

    AvasKvas Well-Known Member

    Репутация:
    0
    Регистрация:
    3 июн 2009
    Сообщения:
    78
    Симпатии:
    0
    К сожалению нужно обязательно показывать док в диалоге. Функция используется везде и давно в системе, а тут встретил такую проблему.
     
  4. alexas1

    alexas1 Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    10 апр 2014
    Сообщения:
    649
    Симпатии:
    227
    Как я понимаю, проблема именно в этом - при (фактическом) изменении RTF док-то надо переоткрыть (а диалог-то тот же самый док). Ничо пока в голову не идёт (
     
  5. alexas1

    alexas1 Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    10 апр 2014
    Сообщения:
    649
    Симпатии:
    227
    Хотя ...
    Можно сработать строго собаками в UI - перед диалогом переводим фокус на RTF - SelectAll - Copy - открыли диалог - переводим фокус на RTF в диалоге - Past.
    Должно получиться.
     
  6. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    что мешает использовать др. документ (новый)
    --- Добавлено 29 июн 2015. Первое сообщение размещено 29 июн 2015 ---
    и еще есть RenderToRTItem
     
  7. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    и вот еще можно показывать не сохраненный док
    Код:
    	%REM
    *--------------------------------------------
    Function PrintTrace
    Description: Comments for Function
    	%END REM
    	Private Function PrintTrace(msg As String) As NotesRichTextItem
    		Dim routineName As String
    		routineName="PrintTrace"
    		On Error GoTo ErrH
    		'your code here
    		Call me.rtTrace.AppendText(TypeName(Me) &{.} &GetThreadInfo(LSI_THREAD_CALLPROC) &{->} &msg)
    		Call me.rtTrace.Addnewline(1, True)
    		Set PrintTrace=me.rtTrace
    Quit:
    		Exit Function
    ErrH:
    		Error Err, RaiseError
    		Resume Quit
    	End Function
     
    	%REM
    *--------------------------------------------
    Function ShowTrace
    Description: Comments for Function
    	%END REM
    	Function ShowTrace
    		Dim routineName As String
    		routineName="ShowTrace"
    		On Error GoTo ErrH
    		'your code here
    		Call me.rtTrace.Update()
    		Set ShowTrace=wks.Editdocument(False,me.docTrace)
    Quit:
    		Exit Function
    ErrH:
    		Error Err, RaiseError
    		Resume Quit
    	End Function
    
     
  8. AvasKvas

    AvasKvas Well-Known Member

    Репутация:
    0
    Регистрация:
    3 июн 2009
    Сообщения:
    78
    Симпатии:
    0
    Вышел из ситуации следующим образом: формирую trf опле с данными, которые в дальнейшем можно распарсить на массив двумерный. и в квериопене печатной формы рисую таблицу заново. Работает.

    Метод конечно, как бы помягче выразиться, но время поджимает,а результат нужен.
    Получилось при этом куча лишних полей и куча лишнего кода. Но пока только так.
     
Загрузка...
Похожие Темы - Проблема rtf таблицами
  1. Omh
    Ответов:
    2
    Просмотров:
    2.277
  2. Apton
    Ответов:
    0
    Просмотров:
    38
  3. Anonimyc
    Ответов:
    0
    Просмотров:
    26
  4. VikTor1990
    Ответов:
    3
    Просмотров:
    81
  5. erlan1749
    Ответов:
    0
    Просмотров:
    39

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