ПРОДАЖА И ВНЕДРЕНИЕ 1С

по всей России

+7 (495) 223-32-11

Заказать обратный звонок

8 (800) 775-90-01

Бесплатно по России

Получить

Скорую 1С помощь

Получить

Проконсультироваться
со специалистом 1С

Консультироваться

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

Для работы с форматированным документом предназначен объект ФорматированныйДокумент, с помощью которого можно выполнять программную обработку документа и поле ввода вида Поле форматированного документа, который предназначен для интерактивного изменения форматированного документа.

В информационной базе форматированный документ рекомендуется хранить в реквизите типа ХранилищеЗначения, в который помещается объект типа ФорматированныйДокумент.

Для того чтобы предоставить пользователю возможность интерактивного изменения документа, следует выполнить следующие шаги:
* создать реквизит формы типа ФорматированныйДокумент и установить для него свойство Сохраняемые данные;
* создать элемент формы типа Поле ввода вида Поле форматированного документа и связать его с ранее созданным реквизитом;
* при чтении данных формы (обработчик ПриЧтенииНаСервере()) загрузить в реквизит формы документ, который необходимо редактировать, предварительно получив его из информационной базы;
* перед записью данных формы (обработчик ПередЗаписьюНаСервере()) получить результат редактирования документа и поместить его в реквизит, сохраняемый в информационной базе.
* В процессе работы с документом можно использовать закладки. Закладкой называет позиция в документе. При определении позиции следует учитывать следующие особенности:
o содержимое документа считается одной последовательностью символов.
o перенос строки считается одним символом.
o картинка считается одним символом.

С помощью закладок можно получать и устанавливать выделение или позицию курсора в редакторе, добавлять и удалять элементы текста в документе (собственно текст, картинка, перевод строки).

Если при получении выделения позиции начала и окончания выделения совпадают, это значит, что выделение отсутствует и получено положение курсора. Также и при установке выделения: если начальная и конечная позиция выделения совпадают – происходит изменение позиции курсора, без выделения. Также следует помнить, что при программном изменении выделенного текста не происходит отмены выделения. Выделение остается в тех же позициях, в которых оно было до программного изменения текста.
Приведем пример получения и установки выделения в редакторе форматированного документа:
Код 1C v 8.2 УП
 // Содержимое – реквизит формы типа ФорматированныйДокумент
      
// Редактор – элемент формы типа Поле форматированного документа
// Начало – реквизит формы типа Число. Указывает позицию начала выделения.
// Окончание – реквизит формы типа Число. Указывает позицию окончания выделения.

&;НаКлиенте
Процедура ПолучитьВыделение()
ПозицияНачала = 0;
ПозицияОкончания = 0;
Элементы.Редактор.ПолучитьГраницыВыделения(ПозицияНачала,ПозицияОкончания);
Начало = Содержимое.ПолучитьПозициюПоЗакладке(ПозицияНачала);
Окончание = Содержимое.ПолучитьПозициюПоЗакладке(ПозицияОкончания);
КонецПроцедуры

&;НаКлиенте
Процедура УстановитьВыделение()
ПозицияНачала = Содержимое.ПолучитьЗакладкуПоПозиции(Начало);
ПозицияОкончания = Содержимое.ПолучитьЗакладкуПоПозиции(Окончание);
Элементы.Редактор.УстановитьГраницыВыделения(ПозицияНачала,ПозицияОкончания);
КонецПроцедуры


Информация взята с сайта http://helpf.pro


Заказать обратный звонок

Позвонить
Отправлено! В самое ближайшее время наш менеджер свяжется с Вами.