Войти
Образовательный портал. Образование
  • Что показывает коэффициент обеспеченности финансовых обязательств активами Обеспеченность обязательств финансовыми активами в бюджетном учреждении
  • Как приготовить классические вареники с творогом
  • Как сделать тесто для яблочной шарлотки Как приготовить шарлотку с яблоками песочное тесто
  • Отечественной войны 2 степени
  • День полного освобождения Ленинграда от фашистской блокады
  • Манная каша на молоке: пропорции и рецепты приготовления Манная каша 1 порция
  • Использование форматированного документа в обычных формах. Вставка снимка экрана (screenshot) в форматированный документ

    Использование форматированного документа в обычных формах. Вставка снимка экрана (screenshot) в форматированный документ

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

    Такое поле может использоваться, например, при создании сообщения электронной почты или для редактирования простейшего html-документа.

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

    Форматирование документа выполняется с помощью команд командной панели форматированного документа.

    Кратко перечислим предоставляемые возможности форматирования.

    Изменение шрифта

    Шрифт документа можно изменить двумя способами:

    ● Выберите команду Изменение Шрифта и в диалоге Выбор шрифта выберите шрифт, размер шрифта, стиль начертания (Жирный, Подчеркнутый, Наклонный, Зачеркнутый) и нажмите кнопку OK.

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

    Выбор цвета фона и текста

    Система «1С:Предприятие» обеспечивает возможность выделить текст цветом фона и цветом текста. Для этого выделите текст, на панели инструментов выберите команду Изменение цвета фона (чтобы изменить цвет фона текста) или Изменение цвета текста (чтобы изменить цвет текста. В открывшемся диалоге Выбор цвета выберите необходимый цвет и нажмите кнопку OK.

    Текст форматированного документа может содержать ссылки.

    Выделите объект (текст или картинку), выберите пункт Вставить гиперссылку. На экран выводится диалог формирования В поле Ссылка укажите адрес гиперссылки и нажмите кнопку ОK.

    Выделенный объект форматируется в соответствии со стилем гиперссылки. Обычно это синий цвет текста с подчеркиванием.

    Вставка картинки

    В форматированный документ можно вставлять картинки.

    Для вставки картинки выберите пункт Вставить картинку и выберите файл в стандартном диалоге выбора файла.

    Вставка символов

    Используйте команду Вставить символ для добавления в текст символов из списка.

    Вставка списка

    Используйте команду Маркированный список, чтобы начать маркированный список, или Нумерованный список, чтобы начать нумерованный. Введите текст.

    Чтобы добавить следующий элемент списка, нажмите клавишу Enter.

    Чтобы завершить список, нажмите клавишу Enter дважды, или нажмите клавишу Backspace, чтобы удалить последний маркер или цифру списка.

    Настройка выравнивания

    Текст документа может быть выровнено по левому краю, по правому краю или по ширине документа.

    Выделите текст, который необходимо выровнять и нажмите кнопку Влево / Вправо / По центру / По ширине.

    Текст с отступами

    Можно увеличить или уменьшить отступ от края поля для одного или нескольких абзацев текста.

    Выделите текст и нажмите кнопку Увеличить отступ, чтобы увеличить отступ или Уменьшить отступ, если необходимо его уменьшить.

    Междустрочный интервал

    Чтобы настроить междустрочный интервал, выделите текст и выберите команду Междустрочный интервал. В открывшемся окне введите размер интервала с клавиатуры или с помощью кнопок и нажмите ОК.

    Операции перетаскивания

    В «1С:Предприятии» реализован механизм поддержки операций перетаскивания. С его помощью можно осуществлять перенос данных между разными элементами формы. Например, можно переносить элементы списка из одной группы в другую, переносить данные из таблицы в поле табличного документа или перенести список выделенных файлов из проводника Microsoft Windows в какой-либо элемент формы.

    Операции перетаскивания поддерживают следующие элементы управления: таблица, поле табличного документа, поле календаря и поле картинки.

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

    Для каждого объекта может быть определена возможность начала перетаскивания (из данного объекта можно производить перетаскивание) и возможность перетаскивания (разрешено перетаскивание в данный объект). Указание данных свойств производится при конфигурировании и может быть изменено средствами встроенного языка.

    Процесс перетаскивания производится с помощью мыши и в основных приемах совпадает со стандартным, применяемым в Microsoft Windows.

    Если при конфигурировании не производилось переопределение обработки событий перетаскивания, то выполняется простое перетаскивание. При этом результат перетаскивания зависит от вида элементов управления и типа исходных данных.

    Возможность простого (без обработки) перетаскивания представлена в таблице.

    Нет - указывает на невозможность простого перетаскивания.

    Да - простое перетаскивание возможно.

    При перетаскивании в поле табличного документа происходит преобразование перетаскиваемого значения в текстовое представление. При этом данные, для которых определено основное представление (например, для списка в виде кода или наименования), перетаскиваются как значение основного представления. Так, данные из поля календаря имеют тип значения Дата и преобразуются в строку в соответствии с текущими региональными установками. Если в таблице отображаются данные таблицы значений, то в поле табличного документа будет помещен индекс строки таблицы значений.

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

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

    При этом действуют следующие правила перетаскивания:

    ● Если перемещается строка снизу на строку, расположенную над перемещаемой, то она вставляется перед строкой, на которую перемещается.

    ● Если перемещается строка вверху на строку, расположенную ниже, то она вставляется после строки, на которую перемещается.

    ● Если перемещается несколько строк, то действия для них аналогичны действиям при перемещении одной строки, за исключением ситуации, когда строки выбраны не последовательно, а через промежуток. В этом случае выделенные строки группируются (располагаются рядом друг с другом). Позиция выделенной группы в любом случае выбирается исходя из пунктов 1 или 2.

    ● Чтобы переместить строку перед последней, нужно переместить ее перед предпоследней, если строка перемещается сверху.

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

    Помимо операций перетаскивания между элементами управления «1С:Предприятие» позволяет осуществлять перетаскивание данных из других приложений в элементы управления. Также можно перетащить мышью текст и список файлов.


    Похожая информация.


    Начиная с версии 8.2.11 в платформе появился новый объект - Форматированный документ . Так как не нашел на Инфостарте ни одного упоминания об этой функциональности, решил опубликовать небольшую статейку о том, что это за объект и какой функционал он добавляет.

    Прошу учесть, что это моя первая публикация. Итак, начнем…

    Предназначение

    Форматированный документ предназначен для оформление текста. Его можно выделить жирным , подчеркнуть , увеличить /уменьшить шрифт, центрировать и т.д. Также можно добавить картинку. Т.е. в 1С теперь можно отформатировать текст, примерно, как в MS Word и др. подобным программам. Это может быть удобно при оформлении различных договоров или, например, при редактировании электронного письма. Таким образом, у нас есть возможность привести текстовый документ в тот вид, который мы пожелаем.

    В синтакс-помощнике есть описание.
    Объект ФорматированныйДокумент (FormattedDocument) имеет одноименный тип данных, который поддерживает функционирование данного объекта и имеет следующие методы:

    Вставить (Insert)
    Добавить (Add)
    Записать (Write)
    ПолучитьHTML (GetHTML)
    ПолучитьЗакладкуКонца (GetEndBookmark)
    ПолучитьЗакладкуНачала (GetBeginBookmark)
    ПолучитьЗакладкуПоПозиции (GetPositionBookmark)
    ПолучитьПозициюПоЗакладке (GetBookmarkPosition)
    ПолучитьТекст (GetText)
    Удалить (Delete)
    УстановитьHTML (SetHTML)

    Доступен во всех типах приложения: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Нельзя указать новый тип данных в качестве типа реквизита.

    Есть одна важная особенность этого типа. Нельзя задавать тип «Форматированный документ» для реквизита объекта (справочника, документа и др.). Но есть возможность указывать его для реквизитов формы.

    Возникает вопрос, как же нам сохранить те изменения при форматировании текста, которые сделал пользователь? Для этого применяется специальный объект «ХранилищеЗначения», который может содержать в себе любой тип данных, в том числе и «форматированный документ». Таким образом, в базе данных сам объект будет храниться как «Хранилище значения», далее при открытии формы необходимо будет извлечь объект из хранилища, отобразить его на форме используя тип «ФорматированныйДокумент». Если пользователь решит сохранить изменения, то при записи объекта нужно снова взять объект «форматированный документ» и записать его в хранилище.

    Пример работы

    Возьмем за основу каркасную конфигурацию, создадим в ней справочники «Контрагенты» и «Договоры». Установим справочник «Договоры» подчиненным справочнику «Контрагенты» и создадим реквизит «Текст» с типом ХранилищеЗначения.

    Создадим форму элемента справочника «Договоры» и добавим на нее новый реквизит, который назовем «ТекстДоговора», укажем тип данных «ФорматированныйДокумент». Обратите внимание, что реквизит «Текст» с типом «ХранилищеЗначения» на форму поместить нельзя.
    Создадим также командную панель (меню) содержащую необходимые кнопки для управления форматированным документом. Для этого надо добавить в форму «Группа - Командная панель» и указать в свойстве «Источник команд» реквизит формы «ТекстДоговора» с типом ФорматированныйДокумент.

    Запускаем отладчик, проверяем, что у нас получилось…

    Все бы хорошо, но есть некоторые проблемы:

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

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

    Пропишем эту связь программно в модуле формы. Опишем алгоритм.

    1. При открытии формы, необходимо будет обратиться к реквизиту объекта «Текст», чтобы прочитать из него данные и записать их в форматированный документ «Текст договора».
    2. При записи объекта, берем содержимое форматированного документа и помещаем его в реквизит объекта «Текст» с типом «ХранилищеЗначения».

    Таким образом у нас будет возникать эффект, что все изменения производимые пользователем, будут сохраняться в базе данных.

    Нам понадобятся следующие обработчики событий:

    Событие ПриЧтенииНаСервере(ТекущийОбъект)

    оно удобно тем, что при ошибочном внесении изменений в данные формы, можно нажать кнопку «Перечитать» и вернутся к исходным данным.

    &НаСервере
    Процедура ПриЧтенииНаСервере(ТекущийОбъект)
    ТекстДоговора = ТекущийОбъект. Текст. Получить();
    КонецПроцедуры

    - событие ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

    &НаСервере
    Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    ТекущийОбъект. Текст = Новый ХранилищеЗначения(ТекстДоговора);
    КонецПроцедуры

    Т.к. реквизит Текст у нас имеет тип «ХранилищеЗначений», надо учесть нюансы работы с ним… В случае чтения объекта используем метод Получить(), а в случае записи используем конструктор объекта Новый ХранилищеЗначения(,).

    На этом пока всё. В следующий раз попробую рассказать про использование шаблонов для вставки параметров в текст форматированного документа, например, вместо %Контрагент% вставлять наименование контрагента.

    Благодарю за внимание!

    upd

    Форматированный документ предназначен для оформление текста. Его можно выделить жирным, подчеркнуть, увеличить/уменьшить шрифт, центрировать и т.д. Также можно добавить картинку. Т.е. в 1С теперь можно отформатировать текст, примерно, как в MS Word и др. подобным программам. Это может быть удобно при оформлении различных договоров или, например, при редактировании электронного письма. Таким образом, у нас есть возможность привести текстовый документ в тот вид, который мы пожелаем.

    В синтакс-помощнике есть описание .
    Объект ФорматированныйДокумент (FormattedDocument) имеет одноименный тип данных, который поддерживает функционирование данного объекта и имеет следующие методы:
    Вставить (I_nsert)
    Добавить (Add)
    Записать (Write)
    ПолучитьHTML (GetHTML)
    ПолучитьЗакладкуКонца (GetEndBookmark)
    ПолучитьЗакладкуНачала (GetBeginBookmark)
    ПолучитьЗакладкуПоПозиции (GetPositionBookmark)
    ПолучитьПозициюПоЗакладке (GetBookmarkPosition)
    ПолучитьТекст (GetText)
    Удалить (Delete)
    УстановитьHTML (SetHTML)

    Доступен во всех типах приложения: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Нельзя указать новый тип данных в качестве типа реквизита.

    Есть одна важная особенность этого типа. Нельзя задавать тип «Форматированный документ» для реквизита объекта (справочника, документа и др.). Но есть возможность указывать его для реквизитов формы.



    Возникает вопрос, как же нам сохранить те изменения при форматировании текста, которые сделал пользователь? Для этого применяется специальный объект «ХранилищеЗначения», который может содержать в себе любой тип данных, в том числе и «форматированный документ». Таким образом, в базе данных сам объект будет храниться как «Хранилище значения», далее при открытии формы необходимо будет извлечь объект из хранилища, отобразить его на форме используя тип «ФорматированныйДокумент». Если пользователь решит сохранить изменения, то при записи объекта нужно снова взять объект «форматированный документ» и записать его в хранилище.

    Пример работы
    Возьмем за основу каркасную конфигурацию, создадим в ней справочники «Контрагенты» и «Договоры». Установим справочник «Договоры» подчиненным справочнику «Контрагенты» и создадим реквизит «Текст» с типом ХранилищеЗначения.

    Создадим форму элемента справочника «Договоры» и добавим на нее новый реквизит, который назовем «ТекстДоговора», укажем тип данных «ФорматированныйДокумент». Обратите внимание, что реквизит «Текст» с типом «ХранилищеЗначения» на форму поместить нельзя.
    Создадим также командную панель (меню) содержащую необходимые кнопки для управления форматированным документом. Для этого надо добавить в форму «Группа - Командная панель» и указать в свойстве «Источник команд» реквизит формы «ТекстДоговора» с типом ФорматированныйДокумент.


    Запускаем отладчик, проверяем, что у нас получилось…

    Все бы хорошо, но есть некоторые проблемы:
    Во-первых, если ввести текст и отформатировать его должным образом, то признак модифицированности для формы не возникает. Таким образом, случайно нажав на кнопку закрытия формы, система не задавая вопросов закрывает ее без всякого сохранения.
    Для того чтобы подобные неприятности не случались, необходимо установить флаг у свойства «Сохраняемые данные» реквизита формы «ТекстДоговора». В результате, при любом изменении данных в реквизите «ТекстДоговора», будет устанавливаться признак модифицированности формы, а при ее закрытии система спросит: «Сохранить изменения?».

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

    Пропишем эту связь программно в модуле формы. Опишем алгоритм.

    1. При открытии формы, необходимо будет обратиться к реквизиту объекта «Текст», чтобы прочитать из него данные и записать их в форматированный документ «Текст договора».
    2. При записи объекта, берем содержимое форматированного документа и помещаем его в реквизит объекта «Текст» с типом «ХранилищеЗначения».

    Таким образом у нас будет возникать эффект, что все изменения производимые пользователем, будут сохраняться в базе данных.
    Нам понадобятся следующие обработчики событий:
    - событие ПриЧтенииНаСервере(ТекущийОбъект)
    оно удобно тем, что при ошибочном внесении изменений в данные формы, можно нажать кнопку «Перечитать» и вернутся к исходным данным.
    Процедура ПриЧтенииНаСервере(ТекущийОбъект)
    ТекстДоговора = ТекущийОбъект.Текст.Получить();
    КонецПроцедуры
    - событие ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Код 1C v 8.2 УП &НаСервере
    Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    ТекущийОбъект.Текст = Новый ХранилищеЗначения(ТекстДоговора);
    КонецПроцедуры
    Т.к. реквизит Текст у нас имеет тип «ХранилищеЗначений», надо учесть нюансы работы с ним… В случае чтения объекта используем метод Получить(), а в случае записи используем конструктор объекта Новый ХранилищеЗначения(<Значение>, <АлгоритмСжатияДанных>).

    На этом пока всё. В следующий раз попробую рассказать про использование шаблонов для вставки параметров в текст форматированного документа, например, вместо %Контрагент% вставлять наименование контрагента.
    Сергей (SirYozha)

    Форматированный документ предназначен для оформление текста. Его можно выделить жирным, подчеркнуть, увеличить/уменьшить шрифт, центрировать и т.д. Также можно добавить картинку. Т.е. в 1С теперь можно отформатировать текст, примерно, как в MS Word и др. подобным программам. Это может быть удобно при оформлении различных договоров или, например, при редактировании электронного письма. Таким образом, у нас есть возможность привести текстовый документ в тот вид, который мы пожелаем.

    В синтакс-помощнике есть описание .
    Объект ФорматированныйДокумент (FormattedDocument) имеет одноименный тип данных, который поддерживает функционирование данного объекта и имеет следующие методы:
    Вставить (I_nsert)
    Добавить (Add)
    Записать (Write)
    ПолучитьHTML (GetHTML)
    ПолучитьЗакладкуКонца (GetEndBookmark)
    ПолучитьЗакладкуНачала (GetBeginBookmark)
    ПолучитьЗакладкуПоПозиции (GetPositionBookmark)
    ПолучитьПозициюПоЗакладке (GetBookmarkPosition)
    ПолучитьТекст (GetText)
    Удалить (Delete)
    УстановитьHTML (SetHTML)

    Доступен во всех типах приложения: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Нельзя указать новый тип данных в качестве типа реквизита.

    Есть одна важная особенность этого типа. Нельзя задавать тип «Форматированный документ» для реквизита объекта (справочника, документа и др.). Но есть возможность указывать его для реквизитов формы.



    Возникает вопрос, как же нам сохранить те изменения при форматировании текста, которые сделал пользователь? Для этого применяется специальный объект «ХранилищеЗначения», который может содержать в себе любой тип данных, в том числе и «форматированный документ». Таким образом, в базе данных сам объект будет храниться как «Хранилище значения», далее при открытии формы необходимо будет извлечь объект из хранилища, отобразить его на форме используя тип «ФорматированныйДокумент». Если пользователь решит сохранить изменения, то при записи объекта нужно снова взять объект «форматированный документ» и записать его в хранилище.

    Пример работы
    Возьмем за основу каркасную конфигурацию, создадим в ней справочники «Контрагенты» и «Договоры». Установим справочник «Договоры» подчиненным справочнику «Контрагенты» и создадим реквизит «Текст» с типом ХранилищеЗначения.

    Создадим форму элемента справочника «Договоры» и добавим на нее новый реквизит, который назовем «ТекстДоговора», укажем тип данных «ФорматированныйДокумент». Обратите внимание, что реквизит «Текст» с типом «ХранилищеЗначения» на форму поместить нельзя.
    Создадим также командную панель (меню) содержащую необходимые кнопки для управления форматированным документом. Для этого надо добавить в форму «Группа – Командная панель» и указать в свойстве «Источник команд» реквизит формы «ТекстДоговора» с типом ФорматированныйДокумент.


    Запускаем отладчик, проверяем, что у нас получилось…

    Все бы хорошо, но есть некоторые проблемы:
    Во-первых, если ввести текст и отформатировать его должным образом, то признак модифицированности для формы не возникает. Таким образом, случайно нажав на кнопку закрытия формы, система не задавая вопросов закрывает ее без всякого сохранения.
    Для того чтобы подобные неприятности не случались, необходимо установить флаг у свойства «Сохраняемые данные» реквизита формы «ТекстДоговора». В результате, при любом изменении данных в реквизите «ТекстДоговора», будет устанавливаться признак модифицированности формы, а при ее закрытии система спросит: «Сохранить изменения?».

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

    Пропишем эту связь программно в модуле формы. Опишем алгоритм.

    1. При открытии формы, необходимо будет обратиться к реквизиту объекта «Текст», чтобы прочитать из него данные и записать их в форматированный документ «Текст договора».
    2. При записи объекта, берем содержимое форматированного документа и помещаем его в реквизит объекта «Текст» с типом «ХранилищеЗначения».

    Таким образом у нас будет возникать эффект, что все изменения производимые пользователем, будут сохраняться в базе данных.
    Нам понадобятся следующие обработчики событий:
    - событие ПриЧтенииНаСервере(ТекущийОбъект)
    оно удобно тем, что при ошибочном внесении изменений в данные формы, можно нажать кнопку «Перечитать» и вернутся к исходным данным.
    Код 1C v 8.2 УП &НаСервере
    Процедура ПриЧтенииНаСервере(ТекущийОбъект)
    ТекстДоговора = ТекущийОбъект.Текст.Получить();
    КонецПроцедуры
    - событие ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Код 1C v 8.2 УП &НаСервере
    Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    ТекущийОбъект.Текст = Новый ХранилищеЗначения(ТекстДоговора);
    КонецПроцедуры
    Т.к. реквизит Текст у нас имеет тип «ХранилищеЗначений», надо учесть нюансы работы с ним… В случае чтения объекта используем метод Получить(), а в случае записи используем конструктор объекта Новый ХранилищеЗначения(<Значение>, <АлгоритмСжатияДанных>).

    На этом пока всё. В следующий раз попробую рассказать про использование шаблонов для вставки параметров в текст форматированного документа, например, вместо %Контрагент% вставлять наименование контрагента.
    Сергей (SirYozha)

    Форматированный документ предназначен для оформление текста. Его можно выделить жирным, подчеркнуть, увеличить/уменьшить шрифт, центрировать и т.д. Также можно добавить картинку. Т.е. в 1С теперь можно отформатировать текст, примерно, как в MS Word и др. подобным программам. Это может быть удобно при оформлении различных договоров или, например, при редактировании электронного письма. Таким образом, у нас есть возможность привести текстовый документ в тот вид, который мы пожелаем.

    В синтакс-помощнике есть описание .
    Объект ФорматированныйДокумент (FormattedDocument) имеет одноименный тип данных, который поддерживает функционирование данного объекта и имеет следующие методы:
    Вставить (I_nsert)
    Добавить (Add)
    Записать (Write)
    ПолучитьHTML (GetHTML)
    ПолучитьЗакладкуКонца (GetEndBookmark)
    ПолучитьЗакладкуНачала (GetBeginBookmark)
    ПолучитьЗакладкуПоПозиции (GetPositionBookmark)
    ПолучитьПозициюПоЗакладке (GetBookmarkPosition)
    ПолучитьТекст (GetText)
    Удалить (Delete)
    УстановитьHTML (SetHTML)

    Доступен во всех типах приложения: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Нельзя указать новый тип данных в качестве типа реквизита.

    Есть одна важная особенность этого типа. Нельзя задавать тип «Форматированный документ» для реквизита объекта (справочника, документа и др.). Но есть возможность указывать его для реквизитов формы.



    Возникает вопрос, как же нам сохранить те изменения при форматировании текста, которые сделал пользователь? Для этого применяется специальный объект «ХранилищеЗначения», который может содержать в себе любой тип данных, в том числе и «форматированный документ». Таким образом, в базе данных сам объект будет храниться как «Хранилище значения», далее при открытии формы необходимо будет извлечь объект из хранилища, отобразить его на форме используя тип «ФорматированныйДокумент». Если пользователь решит сохранить изменения, то при записи объекта нужно снова взять объект «форматированный документ» и записать его в хранилище.

    Пример работы
    Возьмем за основу каркасную конфигурацию, создадим в ней справочники «Контрагенты» и «Договоры». Установим справочник «Договоры» подчиненным справочнику «Контрагенты» и создадим реквизит «Текст» с типом ХранилищеЗначения.

    Создадим форму элемента справочника «Договоры» и добавим на нее новый реквизит, который назовем «ТекстДоговора», укажем тип данных «ФорматированныйДокумент». Обратите внимание, что реквизит «Текст» с типом «ХранилищеЗначения» на форму поместить нельзя.
    Создадим также командную панель (меню) содержащую необходимые кнопки для управления форматированным документом. Для этого надо добавить в форму «Группа – Командная панель» и указать в свойстве «Источник команд» реквизит формы «ТекстДоговора» с типом ФорматированныйДокумент.


    Запускаем отладчик, проверяем, что у нас получилось…

    Все бы хорошо, но есть некоторые проблемы:
    Во-первых, если ввести текст и отформатировать его должным образом, то признак модифицированности для формы не возникает. Таким образом, случайно нажав на кнопку закрытия формы, система не задавая вопросов закрывает ее без всякого сохранения.
    Для того чтобы подобные неприятности не случались, необходимо установить флаг у свойства «Сохраняемые данные» реквизита формы «ТекстДоговора». В результате, при любом изменении данных в реквизите «ТекстДоговора», будет устанавливаться признак модифицированности формы, а при ее закрытии система спросит: «Сохранить изменения?».

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

    Пропишем эту связь программно в модуле формы. Опишем алгоритм.

    1. При открытии формы, необходимо будет обратиться к реквизиту объекта «Текст», чтобы прочитать из него данные и записать их в форматированный документ «Текст договора».
    2. При записи объекта, берем содержимое форматированного документа и помещаем его в реквизит объекта «Текст» с типом «ХранилищеЗначения».

    Таким образом у нас будет возникать эффект, что все изменения производимые пользователем, будут сохраняться в базе данных.
    Нам понадобятся следующие обработчики событий:
    - событие ПриЧтенииНаСервере(ТекущийОбъект)
    оно удобно тем, что при ошибочном внесении изменений в данные формы, можно нажать кнопку «Перечитать» и вернутся к исходным данным.
    Код 1C v 8.2 УП &НаСервере
    Процедура ПриЧтенииНаСервере(ТекущийОбъект)
    ТекстДоговора = ТекущийОбъект.Текст.Получить();
    КонецПроцедуры
    - событие ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Код 1C v 8.2 УП &НаСервере
    Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    ТекущийОбъект.Текст = Новый ХранилищеЗначения(ТекстДоговора);
    КонецПроцедуры
    Т.к. реквизит Текст у нас имеет тип «ХранилищеЗначений», надо учесть нюансы работы с ним… В случае чтения объекта используем метод Получить(), а в случае записи используем конструктор объекта Новый ХранилищеЗначения(<Значение>, <АлгоритмСжатияДанных>).

    На этом пока всё. В следующий раз попробую рассказать про использование шаблонов для вставки параметров в текст форматированного документа, например, вместо %Контрагент% вставлять наименование контрагента.
    Сергей (SirYozha)