1с поле html документа сохранить
Скажите, у кого-то из присутствующих есть опыт сохранения HTML-страниц программно средствами 1С?
Я использую элемент управления "Поле HTML документа":
// переход на страницу резюме
Процедура ЗагрузитьРезюмеПоСсылке(Элемент)
ЭлементыФормы.HTML.Перейти(СокрЛП(СсылкаРезюме));
КонецПроцедуры
// обработка события при завершении загрузки страницы
Процедура HTMLДокументСформирован(Элемент)
Затем я открываю сохраненный файл методом
ЗапуститьПриложение(ПутьКФайлу);
Проблема в том, что текст на странице сохраняется в какой-то левой кодировке (в итоге страница нечитабельна), а также сильно страдает форматирование на самой странице.
Работа с веб-страницами средствами 1С
Иногда появляется необходимость отобразить какую-либо веб-страницу прямо на форме. Я рассмотрю эту возможность платформы 1С на примере вывода на форму страницы с поисковой системой yandex, причем с результатами поиска по слову, введённому в поле формы.
Т.е. вот этой страницы:
Для начала создадим внешнюю обработку, добавим реквизит «Адрес « с типом «Строка», неограниченной длины.
Форма примет вид:
Запустим обработку в режиме «Предприятие» и введем адрес произвольного интернет ресурса. И получим результат:
Добавим реквизит формы: «КлючевоеСлово», перенесем на форму.
Если немного покопаться, то можно узнать, что для кодирования переменных в URL’ах можно использовать java-script функцию «encodeURIComponent». Можно, конечно, перебором подобрать код для каждого символа алфавита и самому написать кодировщик, а можно использовать возможности компоненты wscript, которую можно подключить из 1С.
Итак, что нам нужно:
А) Подключить wscript
Б) На основании ключевого слова собрать скрипт, который будет получать значение, возвращенное функцией «encodeURIComponent» при передаче в неё в качестве параметра нашего слова, а затем полученный результат будет записывать в текстовый файл с определенным заранее каталогом
В) Из 1С получать текстовый файл, созданный при помощи wscript и читать его.
Некоторые секреты подключения веб-интерфейса 8.2
Работа с альтернативным интерфейсом на управляемых формах 1С доступна через HTML. Альтернативный интерфейс может понадобиться, если стандартных элементов управления 1С недостаточно, но хочется чего-то большего. В данной статье перечислены некоторые секреты работы с веб-интерфейсом на управляемых формах 8.2.
Показ Html-страницы на управляемой форме 1С
Для показа Html-страницы необходимо на форму вставить Поле Html Документа и в источник данных поместить html-код. Нужно иметь ввиду следующее: тонкий и веб-клиент на Internet Explorer работают по-особенному. В двух этих случаях используется Internet Explorer в режиме совместимости с IE 7.
Первый секрет заключается в том, что тонкий клиент можно перевести в режим совместимости с более старшей версией IE. Для этого нужно использовать meta X-UA-Compatible. Так на Windows 7 после добавления
можно использовать SVG-объекты, например:
Поэтому, если ваша верстка сложнее, чем показ рисунка, то советую сохранить html-код еще и в другом месте.
Хранение всего подряд в общих картинках
Современная веб-страница не ограничена одним только html. К ней в дополнение идут картинки, js/css-файлы. Традиционный подход допускает хранение и обращение к картинкам, помещенным в общие картинки конфигурации, но с js/css 1С-разработчикам приходится исхитряться. Текстовые файлы или записывают в архив и распаковывают перед показом страницы или целиком помещают в html. Такой подход не задействует встроенный практически в каждый браузер кэш для get-запросов.
Мой опыт состоял в том, чтобы поместить в общие картинки java-скрипт. Этот опыт частично удался, т.е. все браузеры и тонкий клиент запустили jQuery, кроме IE. Если кто-нибудь знает секрет и сможет заставить работать этот способ на IE, прошу, отписаться. Действия необходимо делать следующие:
1. Создать общую картинку и поместить в нее любую картинку
2. На html-макете в режиме редактирования выделить любой текст и через меню Элементы-Ссылка выбрать общую картинку
3. Текст из ссылки вставить в блок script
4. Заменить общую картинку на JavaScript-содержимое
Встроенный фреймворк 1С для веб-клиента
Мало кто знает, что веб-клиент 1С включает в себя фреймворк, упрощающий работу с элементами форм. Фреймворк работает на JavaScript. Обращение к нему возможно через parent.WebUI. функции его требуют дополнительных исследований, но свойства выглядят следующим образом:
В теории этот фреймворк можно задействовать для вызова серверных процедур 1С. В этом случае произойдет полная интеграция html-поля с другими элементами управляемой формы, что повлечет платформенную независимость. Сейчас обратная связь достигается за счет WebBrowser Control, который привязан к Windows.
В настоящее время, большая часть функций в мобильном приложении ограничена, в том числе и поле html. Однако можно найти обходные пути для решения некоторых задач !) В данной статье я приведу небольшой обзор, работы со списком значений, даты и времени и небольшой пример создания документа из html интерфейса.
К статье прикреплен файл выгрузки .dt
В мобильном приложении (На текущий момент) невозможно сохранить текстовый макет где можно сохранять текст Html поля, поэтому пришлось выкручиваться. Весь текст html я сохранил в табличном макете, разбив код по областям ячеек.
В примерах использованы базовые стили оформления .css (При желании можно добавить картинки и более изящные эффекты, в зависимости от поставленных задач и воображения ).
Так же в мобильном приложении, событие Html поля (ПриНажатии) срабатывает только при переходе по ссылкам. В связи с этим, пришлось немного выкручиваться, а именно - к каждому действию привязал ссылки и специальные символы для определения выполняемой функции\процедуры .
Список задач html.
После открытия формы, полю html документа необходимо некоторое время для формирования, в связи с этим- некоторые функции JavaScript недоступны. Пришлось подключить обработчик ожидания для выполнение одной процедуры заполнения.
- В поле "Ссылка" отобразится выбранное значение (Из списка 1С и Html списка)
- Поле "Список" - Список значений 1С, заполен тестовыми значениями из справочника.
- Html список заполняется из "Списка 1С"
Кнопки "Добавить тесты" - пример добавления элемента в список (Добавляет пустое текстовое значение "Тест +Индекс")
Кнопка "Перезаполнить" - очищает список и перезаполняет из списка 1С.
Следующая страница содержит пример работы с датой и временем.
Данный пример показывает как можно взаимодействовать с реквизитом "Дата и время" из Html поля в 1С и наоборот. Ограничился простыми реквизитами выбора даты и времени. Поле даты можно преобразить в виде календарика , или переделать под свои определенные задачи. (В зависимости от знания html и css)
- "Установить время в html поле" - по заголовку всё понятно )). Изменяет дату и время из поля 1с.
- Html дата и время
- Полученная дата строкой - заполняется в зависимости от выбранной даты из html поля и поля 1С.
- Поле Даты и времени 1С
Следующая страница - создание документа.
Пример создания документа из html. Для примера был создан тестовый документ с несколькими реквизитами и ссылкой на справочник.
Добавлена кнопка для выбора справочника из html и кнопка очистки (Можно сделать намного проще и эффектнее, всё зависит от знаний html и воображения автора).
Ну тут всего одна кнопка "Создать документ" - открывает форму нового документа 1С.
И html поле - с готовой формой для заполнения.
Ну и последний пример - форма авторизации (статья будет дополняться . )
Форма авторизации из html поля, для наглядности "Логин" и "Пароль" выведены на форме. При формировании html документа, данные берутся из из полей "Логин" и "Пароль" и идет проверка на совпадение (Функции JS). При успешной авторизации выводится окно 1С, иначе выводится предупреждение с текстом предупреждения ( Не правильный пароль, логин и тд)
На этом все. К статье прикреплен файл выгрузки .dt со всеми примерами на скриншотах. Статья и файлы будут дополняться в будущем. (Вместе с изменениями в платформах мобильного приложения).
При работе с клиентами возникла задача: использовать форматированный документ. Итак, существует справочник, в нем табличная часть. Для каждой строки требуется ввести описание, причем описание имеет тип форматированный документ. Потребовалось организовать печать табличной части справочника с описанием для каждой строки. Тип данных "Форматированный документ" не может выводится в табличный документ, поэтому пришлось организовывать печать через Microsoft Word.
Постановка задачи
При работе с клиентами возникла задача: использовать форматированный документ. Итак, существует справочник, в нем табличная часть. Для каждой строки требуется ввести описание, причем описание имеет тип форматированный документ. Потребовалось организовать печать табличной части справочника с описанием для каждой строки. Тип данных "Форматированный документ" не может выводится в табличный документ, поэтому пришлось организовывать печать через Microsoft Word. Для этого требуется:
- Сформировать html-файл. Сохранить его во временные файлы, создать временный каталог и выгрузить туда картинки и прочие файлы.
- Открыть html с помощью Microsoft Word и сохранить в pdf.
Все это требуется сделать программно.
1. Формирование временного файла html.
Один из самых простых, но определяющих внешний вид печатной формы этап. Вот пример формирования простого файла html:
Из типа данных "Форматированный документ" легко получить html строку и вставить её в html файл. Причем это можно сделать и с учетом картинок. Вот пример кода:
В html-документ можно передавать данные с учетом форматирования. В Microsoft Word существуют свои особенности. Так например следующая конструкция формирует строку курсивом и шрифтом "Times New Roman":
2. Открытие html с помощью Microsoft Word и сохранение в pdf
Средствами Microsoft Word возможно сохранение файла html в другие форматы (в том числе в pdf). Для данной операции использовалась следующая конструкция:
В статье на примере будут описаны все этапы создания поля html документа. В 1с html поле позволяет представить данные, которые не требуется редактировать, в более эстетичном виде. Разработчик может применить возможности html для создания и настройки формы справочника или бизнес-процесса (как делается в конфигурации Документооборот).
Рассмотрим пример. Разработаем обработку, которая будет представлять элемент справочника Пользователи в виде поля html документа. Для разработки примера я использовал демо БСП 3.1 (управляемое приложение).
Выведем в документ следующие поля справочника:
- Наименование и Комментарий в виде текста;
- ФизическоеЛицо и Подразделение в виде ссылок;
- Фотографию пользователя;
- Контактную информацию в виде таблицы.
Размещение реквизитов на форме
Для начала создадим внешнюю обработку и добавим форму. На форме создадим два реквизита Пользователь (тип СправочникСсылка.Пользователи) и ПредставлениеHTML (тип Строка неограниченной длины). Перетащим реквизиты в дерево элементов. Для элемента ПредставлениеHTML выберем вид Поле HTML документа и отключим отображение заголовка. Должно получится так:
Теперь поработаем над программной частью формы:
- Заполнять html поле данными будем при изменении пользователя. Поэтому создадим для него обработчик события ПриИзменении;
- Работа же с самим полем потребует перехода на сервер, так как нам необходимо выполнять запрос и получать данные из хранилища значений. Поэтому для заполнения данных html создадим функцию ЗаполнитьHTMLПредставление с директивой НаСервереБезКонтекста. В качестве параметра передадим в нее ссылку на пользователя;
В итоге должно получиться следующее:
Получение данных
Во входные параметры функции ЗаполнитьHTMLПредставление мы передаем только ссылку на пользователя, поэтому для начала надо собрать все данные, необходимые для вывода в html документ. Для этого воспользуемся запросом, который вынесем в отдельную процедуру. Приводить текст процедуры здесь я не буду, чтобы не занимать много места. Ознакомиться с ним можно во внешней обработке, ссылка на которую находится внизу статьи.
Функция возвращает структуру, в которой содержится две выборки. Первая, ВыборкаДанных — содержит одну строку с основными данными пользователя. Вторая, ВыборкаКонтактов — содержит контактную информацию пользователя, в разрезе двух полей: Вид и Представление. Вызов функции получения данных выглядит так:
Заполнение стилей 1с html поля
Теперь в функции ЗаполнитьHTMLПредставление будем описывать html документ. Начнем с обязательных тегов и . После чего перейдем к заполнению стилей (тег ), которые будут применяться во всем документе, а также в отдельных его блоках.
Рассмотрим заполнение стилей более подробно:
Создание тела html документа в 1с 8
После описания стилей займемся формированием тела документа. Для этого используем тег .
Вывод изображения в html
Начнем с вывода фотографии пользователя. В элементе справочника она хранится в реквизите Фотография, в виде хранилища значения. Его мы получили вместе с остальными данными пользователя, при помощи запроса.
Разберем представленный код:
- Хранилище содержит двоичные данные изображения, их необходимо получить. Используем для этого метод Получить(), который распаковывает данные хранилища;
- В html мы можем вывести изображение либо указав ссылку на него, либо использовав его двоичные данные, в кодировке base64. Для этого используем метод Base64Строка;
- После подготовки данных, можно выводить их в документ.
- Используем тег , применяемый для вывода изображений;
- Атрибут src указывает адрес выводимого изображения или его данные. У нас это двоичные данные, поэтому в дополнение к ним необходимо использовать префикс data:image/ и указание типа данных base64.
Для того чтобы отделить изображение от следующей информации, используем тег
. Он означает начало нового абзаца. При описании стилей мы указали, что перед началом нового абзаца устанавливается отступ в 10 пикселей.
Вывод текстового реквизита в html
После фотографии выведем основные данные пользователя в следующем формате:
Начнем с имени пользователя:
Разберем представленный код:
- Для того, чтобы имя реквизита не сливалось с его содержанием, выделим его другим цветом. Для этого используем свойство , позволяющее изменять характеристики текста. В нашем случае это цвет color.
- После вывода данных используем тег
. Он предназначен для перехода на следующую строку.
Вывод ссылки в html
Теперь выведем в документ физлицо пользователя. Так как оно представлено ссылочным типом, оформим его в виде ссылки.
Разберем представленный код:
Далее нам необходимо будет вывести еще один текстовый реквизит и еще один ссылочный. Для того чтобы не дублировать код вынесем добавление реквизита в html в отдельную, универсальную процедуру.
Вывод всех реквизитов будет выглядеть следующим образом:
Вывод таблицы в html 1с
Осталось вывести таблицу контактной информации пользователя. Это делается довольно просто.
На этом формирование поля html документа в 1с завершено. Осталось только закрыть теги и вернуть сформированный текст.
В итоге у нас получается html поле, заполненное следующим образом:
Обработка нажатия на ссылку
В обработчике мы анализируем текст ссылки, на которую произошло нажатие. Если это навигационная ссылка, обрабатываем ее по отдельному алгоритму. Получаем текст и осуществляем переход. Таким образом при нажатии на ссылку, у нас произойдет переход на форму элемента справочника.
Сегодня рассмотрим такой элемент форм 1С как Поле HTML документа.
Просмотр веб страницы через поле HTML документа
Остальное делается практически одной строчкой кода, которую мы вставим в обработчик события ПриИзменении адресной строки сайта:
Метатег X-UA-Compatible
которая говорит браузеру Internet Explorer, что он должен работать в режиме совместимости с самой последней его версией. В которой нам конечно же доступны CSS3 и HTML5.
Пишем свой код для поля HTML документа
А теперь создадим свою мини веб страничку и отобразим ее в другом поле HTML документа. По аналогии с предыдущим примером создадим реквизит СтилиCSS и разместим его в отдельной закладке на форме.
Далее перейдем к написанию кода html. Минимально необходимый код, так сказать заготовка нашей странички выглядит следующим образом:
Внутри тега обычно прописывают различные метатеги, а также мы поместим в него тег в котором пропишем стили css. Как правило стили css размещают в отдельном файле, но поскольку у нас нет такой возможности воспользуемся тегом style. Содержимое же самой страницы размещают внутри тега . В качестве примера нарисуем внутри нашего поля html квадрат, а с помощью стилей css заставим его при наведении курсора мыши растягиваться на всю ширину.
Итоговый код html будет выглядеть следующим образом:
Теперь вставим этот код в процедуру ПриСозданииНаСервере:
Проверяем как это выглядит в режиме 1С:Предприятия
Наводим курсор на квадрат и наблюдаем как он в течение 5 секун плавно растягивается на всю ширину нашего поля:Как добавить планировщик 1с в html поле
При попытке программно вывести поле HTML-документа на управляемую форму по аналогии, как это делалось в обычном интерфейсе, будет ожидать неудача. Т.к. управляемое приложение подразумевает другие методы и другую реализацию исполняемого кода.
Смотрим, как все было относительно просто в простом интерфейсе — на форме в режиме обычного приложения на форме создавали элемент вида поле HTML-документа
Нажатие на изображении увеличит его
При открытии формы с таким элементом в режиме редактирования автоматически появлялась командная панель с соответствующими кнопками для управления форматирования html-текста.
Нажатие на изображении увеличит его
Так же на обычных формах 1С 8 программно вывести подобное редактируемое HTM-поле с последующим сохранением данных в текстовый реквизит не составляло больших трудов.
ПолеHTML = Элементы . Добавить ( Тип ( "ПолеHTMLДокумента" ), "ПолеHTML" , Истина, ОсновнаяПанель );
ДопОписаниеПолеHTML . УстановитьРежим ( РежимПоляHTMLДокумента . Редактирование );
ПолеHTML . УстановитьТекст ( ТекстHTML );На управляемых формах
В формах, работающих в режиме управляемого приложения есть отличия, которые нужно учитывать, чтобы достичь желаемого результата.
Элемент формы вида "Поле HTML документа" можно разместить на форме как интерактивно, так и программно, но такой элемент будет доступен только для просмотра и отображения содержимого выводимого HTML-текста. И только так.
Если реализовать код по привычке, как в случае для обычного приложения, используя в качестве второго параметра Тип("ПолеHTMLДокумента") метода "Добавить()" элементов формы, то получим ошибку:
Нажатие на изображении увеличит его
А для попытки указать в качестве типа создаваемого программно элемента управляемой формы Тип("ПолеHTMLДокументаФормы") так же будет получена ошибка, но другая:
Нажатие на изображении увеличит его
Чтобы вывести что-то наподобие редактируемого HTML-поля на управляемой форме, которое по своему смыслу соответствует тому, что было ранее рассмотрено на примере обычной формы, нужно использовать "форматированный документ". Рассмотрим сначала на примре интерактивного добавления.
Нажатие на изображении увеличит его
Таким образом возможно и программно вывести поле форматированного документа. Но для начала нужно программно создать реквизит формы типа "ФорматированныйДокумент, чтобы можно было с помощью метода "УстановитьHTML()" добавленного реквизита выводить в поле формы текстовое содержимое в виде HTML-кода. Как программно создавать реквизиты управляемой формы в 1С 8 можно изучить по этой ссылке.
Потом уже с помощью метода "ПолучитьHTML()" добавленного реквизита формы можно сохранить в реквизит объекта конфигурации. Наиболее подробно по работе с форматированным документом в 1С можно ознакомиться по ссылке "Форматированный документ в 1С 8"
Таким образом будет выведено только поле формы. Но без командной панели это будет немного неполноценно, т.к. без кнопок форматирования текста будет неудобно, хотя и возможно.
Но нужно выводить программно и командную панель. Но это невозможно. Точнее программно разместить группу формы вида "Командная панель" возможно, но не получиться указать в качестве источника команд такой группы ранее созданное поле формы. По крайней мере на релизе 8.3.18 это остается невозможным. Код программного добавления командной панели следующий.
Но, так как установка "источника команд" возможна пока только интерактивно, то нужно принимать решение о том что, либо все обсуждаемые элементы размещать интерактивно, либо выводить программно только одно поле форматированного документа. Невозможность установки программно определена из обсуждения на форуме forum.infostart. Как не было возможности в релизе платформы 1С 8.3.10, так до сих пор не появилась и в релизе 8.3.18. Будем надеяться на появлении в ближайших последующих релизах.
Нажатие на изображении увеличит его
Планировщик
Во многих конфигурациях возникает необходимость в отображении данных в виде календаря, расписания. Задачи визуального планирования, например, часто возникают при автоматизации салонов красоты, стоматологических и ветеринарных клиник, фитнес-центров и т.д. При большом желании такие задачи можно было частично автоматизировать, используя существующие в платформе инструменты: табличный документ или диаграмму Ганта. Однако реализация подобных решений всегда была очень трудоёмкой, а их функциональность — недостаточной. К тому же они плохо переносились из одной конфигурации в другую, и не гарантировали одинаковую работоспособность в разных клиентских приложениях и разных операционных системах.
По этим причинам мы реализовали в платформе новый инструмент — Планировщик. Он предназначен для того, чтобы автоматизировать планирование задач, событий, встреч, составление календарей, расписаний и тому подобных задач.
Архитектура
По большому счёту весь инструмент представляет собой совокупность двух новых сущностей: объекта встроенного языка Планировщик и поля формы, имеющего вид Поле планировщика. Реквизит формы типа Планировщик отображается в поле формы, благодаря чему становится возможным визуализация данных в удобном для планирования виде и их интерактивное изменение.
Планировщик не является объектом конфигурации, поэтому никакой собственной структуры для хранения данных в СУБД он не имеет. Однако с помощью встроенного языка вы можете загрузить в него данные практически любого объекта конфигурации, лишь бы этот объект обладал двумя реквизитами типа Дата. Один из них будет указывать на начало элемента на оси времени, а другой — на конец этого элемента.
После того, как пользователь изменил в форме какой-либо элемент планировщика, платформа генерирует событие ПриОкончанииРедактирования. В этом событии вы можете изменить соответствующие данные того объекта конфигурации, из которого они загружались, и сохранить их в СУБД.
Каждый элемент планировщика имеет начало и конец (тип Дата), текст, картинку и значение. Значение не отображается в форме, а служит для связи элемента с конкретным объектом данных. Например, это может быть ссылка на элемент справочника, если планировщик отображает данные этого справочника. Естественно, цвет фона и шрифт каждого элемента также можно настроить индивидуально.
Кроме элементов планировщик обладает ещё одной важной коллекцией — это измерения. Каждое измерение позволяет группировать элементы планировщика по отношению к каждому значению этого измерения. Например, в качестве измерения может выступать учебная группа. Тогда элементы планировщика (события) вы можете анализировать по их отношению к каждой из имеющихся у вас учебных групп: 961 группа, 962 группа и 963 группа.
Представление данных
Планировщик имеет три важных свойства, с помощью которых вы можете создавать различные представления данных. Это свойства ЕдиницаПериодическогоВарианта, КратностьПериодическогоВарианта и ПоложениеШкалыВремени. С помощью этих свойств можно создавать такие знакомые вам представления как «День», «Неделя» или «Месяц».
Проще всего понять работу этих свойств на примерах.
Например, чтобы показать один день, вы можете задать единицу — час, кратность — 24 и расположить шкалу слева:
Чтобы показать рабочую неделю вертикально, вы можете задать единицу — день, кратность — 5 и расположить шкалу слева:
Чтобы показать полную неделю горизонтально, вы можете задать единицу — день, кратность — 7 и расположить шкалу вверху:
На этом же примере удобно показать ещё одно интересное свойство планировщика — отображаемый интервал. Если задать отображаемый интервал больше, чем «кратность единиц», то есть в данном случае больше, чем 7 дней, то планировщик начнёт переносить временную шкалу. В данном случае вниз. Это позволяет показать все даты из отображаемого интервала:
Таким образом вы можете показать полный месяц или другой произвольный интервал дат.
Интересным является то, что отображаемый интервал — это на самом деле коллекция элементов. Коллекция отображаемых интервалов. В этом примере мы задали один такой интервал, но их можно задать несколько. И совсем не обязательно, что эти интервалы должны следовать друг за другом непрерывно.
Например, задав три отображаемых интервала (7 февраля, 14 февраля и 21 февраля) вы можете одновременно показать три пятницы, чтобы сравнить состав дел в эти дни и, возможно, перенести невыполненные дела на следующую пятницу:
Отображение шкалы времени и элементов
Планировщик может содержать не одну, а несколько шкал времени, каждая со своей периодичностью. Это удобно в тех случаях, когда отображаемые данные нужно идентифицировать, например, с точностью до дня и часа:
Вы можете выравнивать элементы по шкале времени, или наоборот, отображать реальный промежуток времени:
Саму шкалу времени вы можете показать полностью, либо скрыть её начало и/или конец. Это удобно, например, для отображения только рабочих часов:
Если все элементы, которые нужно отобразить, не помещаются в одну ячейку, вместо них Планировщик выводит надпись «+ Ещё» и количество элементов, которые скрыты. Нажав на эту надпись вы можете увидеть список всех скрытых элементов и открыть любой из них:
По желанию в планировщике можно включить или выключить отображение текущего времени:
Элементы планировщика могут отображать время начала и окончания, только время начала или не отображать время вообще:
Вы можете раскрасить интервалы фона чтобы, например, выделить другим цветом нерабочие часы или выходные дни:
Редактирование данных
Добавление данных в планировщик осуществляется простым щелчком мыши. При этом открывается окно быстрого редактирования элемента планировщика:
В этом окне вы можете задать текст элемента (события). Если нужно изменить другие свойства элемента, по кнопке Редактировать в этом окне открывается стандартная форма для редактирования элемента планировщика:
В ней уже можно задать начало, конец элемента, указать значения измерений, если они используются, а также задать расписание для элемента, если это событие повторяющееся.
Переопределить эти формы можно в событиях ПередНачаломБыстрогоРедактирования и ПередНачаломРедактирования.
Редактирование существующих элементов вы можете выполнять как через эти формы, так и перетаскиванием элементов и изменением их границ с помощью мыши:
Планировщик поддерживает групповые операции редактирования. То есть вы можете выделить сразу несколько элементов и переместить, скопировать, изменить или удалить их:
Планировщик обеспечивает перетаскивание не только в пределах «себя самого», но и в/из других элементов формы. Эта возможность может быть полезна, например, для того, чтобы из общего списка дел, показанного в форме в виде таблицы, можно было перетащить в планировщик отдельные события.
Расписание
Для любого элемента вы можете задать расписание — периодичность, с которой будет повторяться это событие:
При этом можно ограничить интервал, в течение которого событие будет повторяться:
При необходимости можно изменить не только отдельное из повторяющихся событий, но и все события одновременно. Для этого в форме редактирования нужно установить флажок Применить редактирование ко всем повторам:
Читайте также: