• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Разобрать Body для печати

  • Автор темы LIGHT
  • Дата начала
L

LIGHT

Всем привет!

Такая вот задача возникла.

Есть платная либа для создания печатных форм, если не заострять на ней внимание, я имею ввиду программную реализацию, все происходит просто:
1. указывается параметр например %Время печати%,
2. этому параметру задается обработчик, например %@Now([ServerTime])%
3. затем в шаблоне Word документа куда нужно втыкаем %Время печати%.
Можно задать явно поле, например Subject -> %Тема% -> @if(Subject !="";Subject;"") и так далее, чего душе угодно.

Теперь к вопросу, нужно выловить поле Body, точнее текст в нем, текст бывает самый разнообразнейший, к примеру такой:

В связи с производственной необходимостью на основании Приказа № XX-X/XX-XXX, прошу организовать обучение следующих сотрудников:
- Петрова П.П. (таб. № XXXX);
- Иванова И.И. (таб. № XXXX);

Как видно форматирование идет с переносом по строкам, обрабатываю так:
Body -> %Текст% -> @If(Body="" ; "";@Abstract([Abbrev]; 23000; "";"Body"))

И у меня вываливает все в кучу, без переноса строк, как сделать что-бы переносы соблюдались?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
216
Вы чё хотели-то - парсить BODY?
Чего либо более приспособленного чем DXL придумать сложно
-Выгружаем в ДХЛ
-создаем XSL стиль кот. выполняет необходимую задачу (я Вашей не знаю)
-делаем Transfom и получаем искомое
например - я здесь выкладывал наброски по конвертации в UJAC формат (для ПДФ), они сырые (у меня есть и более доработанные)
 
L

LIGHT

lmike, не работал с DXL ни разу, вопрос скорее каким Макаром в Body храниться @NewLine. Типа хочется реплейснуть его на зверя вроде "^p" :ph34r: не уже ни как по нашему, по деревенски ))
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
216
советую все-таки сделать через DXL, у Нотусов есть РТ нафигатор, но больно он глюкавый...
см. в хэлпе дизигнера: NotesRichTextNavigator class
и все-таки - цель какова - что хочется сделать с БОДИ?:
-вытащить тект по шаблону
-заменить к-л текст на др.
-отыскать присутствие текста

теоритечески (по опыту ДХЛ) текст идет параграфами и каждай из них и есть перевод каретки
 
Мы в соцсетях:

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