Форматированный документ в 1С

02.09.10

Разработка - Работа с интерфейсом

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

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

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

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

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




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

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

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

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

 

 

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

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

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

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


 

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

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

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

Во-вторых. Попытаемся закрыть форму и сохранить введенные данные. Заново открыв сохраненный договор, видим что текст введенный в форму договора отсутствует. Почему так происходит?

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

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

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


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

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

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

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

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

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

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


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

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

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

 

upd

Полезные ссылки указаны товарищем Evg-Lylyk

http://www.1c-pro.ru/index.php?showtopic=21524&st=0&p=92729&#entry92729
http://v8.1c.ru/overview/Term_000000785.htm
 

См. также

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Богатый редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    62986    44    59    

82

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    18855    26    6    

41

Работа с интерфейсом Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

1500 руб.

06.10.2020    10227    7    7    

10

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    16810    mrXoxot    43    

121

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    7357    smielka    37    

100

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    14789    913    elcoan    47    

117

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

10.04.2023    11914    162    acces969    31    

124
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ish_2 1112 02.09.10 07:59 Сейчас в теме
Не проверял , но написано хорошо !
user830833; alexhummer; +2 Ответить
2. Арчибальд 2709 02.09.10 08:01 Сейчас в теме
Уважаю популяризаторов :)
user830833; creatermc; alexhummer; +3 Ответить
4. Red_Devil 181 02.09.10 09:32 Сейчас в теме
ИМХО плагиат ...
пересказ с видео курсов "Профессиональное программирование" ?)
9. SirYozha 224 02.09.10 13:38 Сейчас в теме
(4) Red_Devil, скажем так, о "форматированном документе" действительно узнал из курса "Профессиональное программирование в 1С 8.2" от двух замечательных авторов Евгения Гилева и Фарита Насипова. Но не вижу ничего страшного в том, чтобы поделиться знаниями с другими людьми.

(5) Программная обработка форматированного документа реализована слабо, согласен...

(8) Ну это врядли! ;)
Dunda; w-divin; +2 Ответить
59. its_valera 15.09.19 15:41 Сейчас в теме
(4) (9) Подскажите хотя бы в каком разделе курса? Оч. нужны подробности, на вскидку по содержанию не нашел, а видосов там просто вагон. Спасибо!
5. Reaper_1C 122 02.09.10 10:26 Сейчас в теме
И ни один из популяризаторов не говорит о том, что изменение содержания и форматирования содержания на уровне встроенного языка не реализовано. Хотите управлять программно - разгадывайте формат хранения документа в HTML и собирайте документ тегами вручную...
wolfsoft; zfirstprog; Hexed; creatermc; Serega-artem; nano1c; SirYozha; Evg-Lylyk; +8 Ответить
6. DanilaDru 262 02.09.10 10:29 Сейчас в теме
Да..... а когда этого не было приходилось tinymce крутить. Надо будет попробовать. Спасибо.
pbahushevich; w-divin; +2 Ответить
7. Armando 1401 02.09.10 10:41 Сейчас в теме
Сделали бы они человеческий макет с типа ФорматированныйДокумент...
8. tango 545 02.09.10 11:09 Сейчас в теме
10. detec 136 02.09.10 14:22 Сейчас в теме
А нельзя ли ссылки на картинки дать не с ЖЖ, а с самого инфостарта или более-менее благонадёжного сайта? У меня на работе порезан ЖЖ, в частности.
11. Robbi 57 02.09.10 15:47 Сейчас в теме
Спасибо. Полезная статья.
Замечена некорректная работа с текстом, вставленным из Word - вот пример если его попробовать залить:

Ошибка преобразования данных XDTO:... НачалоСвойства: fmtd Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине: ...
Ошибка отображения типов:...
Отображение типа 'РасширенноеИмяXML' в тип '{http://v8.1c.ru/8.1/data/ui}Color'
12. Robbi 57 02.09.10 15:58 Сейчас в теме
(11) И в web-клиенте использование проблематично... :( а в толстом пока вообще не понял как сделать
13. coach 102 03.09.10 07:09 Сейчас в теме
(13) В чем проблемы? Управляемые формы в толстом клиенте доступны.
14. Robbi 57 03.09.10 09:23 Сейчас в теме
(14) Я понадеялся что и в обычную форму можно запихать. Нельзя - но это и не столь важно.
Важнее то, что скопированный и вставленный текст невозможно корректно править! Это очень плохо, т.к. была цель сохранять некую информацию с документов word и просто с браузера копипастом. Сегодня ещё поэкспериментирую.
15. sound 536 05.09.10 00:13 Сейчас в теме
Прошу учесть, что это моя первая публикация.


Побольше бы таких первых публикаций :)
Hexed; alexdarh; adhocprog; +3 Ответить
16. RomDron 07.09.10 10:21 Сейчас в теме
На данный момент обьект работает не стабильно и ОЧЕНЬ медленно. Попробуйте вставить туда 5 фото и проверить время открытия в тонком клиенте. При большом количесте инфы часть ее теряется при сохранении. Форматирование тоже иногда слетает. Сам пользуюсь, но только от того, что не хочу использовать внешние компоненты.
vaskomain; iZhenius; Robbi; +3 Ответить
17. pau74 85 08.09.10 03:51 Сейчас в теме
Пользуюсь форматированным документом как шаблоном печатной формы договора
Спасибо за публикацию
18. pau74 85 08.09.10 04:12 Сейчас в теме
Вопрос:
Поддерживает ли форматированный документ многомерные списки?
В процессе редактирования не получилось.
Увеличение уровня отступа выполняется, а дальнейшее уменьшение уровня отступа начинает нумерацию сначала.
gkv16; SiAl; +2 Ответить
19. e.kogan 1895 08.09.10 10:10 Сейчас в теме
Я вот одного не понимаю: а что, в 8.1 с полем HTML документа никто не работал? По описанию - практически ничем не отличается. Разве что картинку можно теперь вставить без геморроя.
DanilaDru; +1 Ответить
20. DanilaDru 262 24.02.11 12:59 Сейчас в теме
Докрутил форматированный документ у себя. http://danila.org.ua/?p=619

Что было замечено при программном переносе данных с сайта в форматированный документ.
Получаю html документ с сайта, выбираю нужный кусок. В html-коде присутствует следующее:
"font-size: 10pt; color: black; line-height: 150%; font-family: Arial" Патент №
"font-size: 10pt; color: black; line-height: 150%; font-family: Arial" Дата регистрации

После выполнения у форматированного документа УстановитьHTML()
"line-height: 150%" заменяется на "line-height: 150" (съедается процент) и следовательно очень большие интервалы у меня между строк

Так что лучше использовать "line-height: 1.5".
21. TbSasha 02.03.11 01:27 Сейчас в теме
А у меня почему то «Командная панель» не активная и не получается форматировать текст? «Источник команд» реквизита формы «ТекстДоговора» с типом ФорматированныйДокумент я указал.
Да и текст введенный в «ТекстДоговора» не сохраняется. Процедуры в модуль формы добавил. Что может быть не так?
51. VZhulanov 5 01.09.18 15:31 Сейчас в теме
(21) Несколько часов потратил на поиск решения подобной проблемы - поле форматированного документа было доступно только на просмотр. Эта же конфигурация на другом компьютере работала нормально.
Нашел - было отключено выполнение активных сриптов в настройках безопасности Internet Explorer

Но при включении скриптов в другой форме с HTML документом начинают выскакивать ошибки выполнения сценариев

А показывать HTML страницы в форматированном документе не получается по нормальному - вообще корявит всю страницу до жути.

Т.е. 1Ска опять жутко косячит.
И что делать не могу сообразить, в одном случае мне нужен форматированный документ, так как надо дать пользователю возможность создавать форматированный текст, а в другом случае мне нужен нормальный просмотр веб-страниц с возможностью перехода по ссылкам и без всяких ошибок выполнения скрипта
Bespechnii_kot; +1 Ответить
22. adapter 418 09.09.11 12:26 Сейчас в теме
Если использовать ПолеформатированногоДокумента в управляемой форме, запущенной в обычном режиме, то картинки не отображаются. Сохраняешь стр на диск как html, а они там есть.
45. Nicholas 902 26.10.15 11:53 Сейчас в теме
(22) adapter, столкнулся с подобной ситуацией.
Но дело оказалось немного в другом.
Если получать данные на клиенте, то картинки не отображаются, если на сервере - все ок.

Например, вот так не работает:

&НаКлиенте
Процедура СписокПриАктивацииСтроки(Элемент)
    ФорматированныеДокумент = Элемент.ТекущаяСтрока.ДетальноеОписание.Получить();
КонецПроцедуры


И даже так не работает:

&НаСервере
Функция ПолучитьДетальноеОписаниеНаСервере(Код)
    Возврат Справочники.Справочник.НайтиПоКоду(Код).ДетальноеОписание.Получить();
КонецФункции

&НаКлиенте
Процедура СписокПриАктивацииСтроки(Элемент)
    ФорматированныеДокумент = ПолучитьДетальноеОписаниеНаСервере(Элемент.ТекущиеДанные.Код);
КонецПроцедуры
Показать


Работает только так:

&НаСервере
Процедура ПолучитьДетальноеОписаниеНаСервере(Код)
    ФорматированныеДокумент = Справочники.Справочник.НайтиПоКоду(Код).ДетальноеОписание.Получить();
КонецПроцедуры

&НаКлиенте
Процедура СписокПриАктивацииСтроки(Элемент)
    ПолучитьДетальноеОписаниеНаСервере(Элемент.ТекущиеДанные.Код);
КонецПроцедуры
Показать

sandr13; 7OH; +2 Ответить
23. rodygin 3 10.12.11 11:41 Сейчас в теме
Ок. Ну допустим, сделали в форматированном документе шаблон, например, договора. А как его на печать вывести?
24. alexvbard 21 22.06.12 22:19 Сейчас в теме
И есть ли возможность подставлять значения в форматированный документ?
25. adapter 418 25.06.12 12:17 Сейчас в теме
Начиная с 15 релиза платформы форматированный документ в тексте HTML теперь еще содержит и определение стилей CSS по умолчанию, причем с ошибками - убирает полосы прокрутки. Пожелание по исправлению 1С приняли, возможно даже сделают содержании таблицы стилей отдельным реквизитом. Пока следует таблицу править программно при открытии.
29. sergbsv 75 31.01.13 10:56 Сейчас в теме
(25) adapter, Как можно вставлять (использовать) таблицы ?
26. PiccaHut001 12.09.12 19:05 Сейчас в теме
есть ошибки, пока пользоваться нет смысла
27. Requiem 36 18.10.12 12:31 Сейчас в теме
А картинки я как понимаю тоже в том же реквизите с типом "ХранилищеЗначения" хранятся?
28. Ctrl P 193 21.11.12 13:53 Сейчас в теме
Публикации 2 года, а где же обещанные:

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

идея сначала понравилась, но за 2 года так этот объект и не получил развития...
30. adapter 418 01.02.13 20:36 Сейчас в теме
таблицу стилей CSS?

//на сервере
 ФормДок.ПолучитьHTML(HTML, Структура);

//на клиенте
	ТекстПоиска = "
	|<style type=""text/css"">
	|body{margin:0px;padding:8px;overflow:hidden;width:100%;height:100%;}
	|p{line-height:1.15;margin:0px;}
	|ol,ul{margin-top:0px;margin-bottom:0px;}
	|img{border: none;}
	|</style>";
	HTML = СтрЗаменить(HTML,ТекстПоиска,"");
	
	ЭтаФорма.текст_хтмл = HTML;

Показать


Вместо "" можете вставить свое определение стилей
34. axxell 1055 12.02.14 13:53 Сейчас в теме
(30) adapter,
Тут даже не нужна своя таблица стилей и достаточно добавить 1 строку, например, при открытии формы с объектом html
ТекстHTML = СтрЗаменить(ТекстHTML, "overflow:hidden", "overflow:auto");
35. PiccaHut001 14.10.14 17:53 Сейчас в теме
(34) axxell, сколько извращений, спасибо 1С
31. oks-nt 45 01.04.13 12:50 Сейчас в теме
При сохранении/восстановлении значения через форматированный документ терялись переносы строк. Абзацы сохранялись, а если в тексте были символы переноса строки, они терялись.

Оказалось, что после вставки из Word символы переноса строк в HTML превращались в тэг </br>. При открытии этот тэг удалялся. Очевидно, как закрывающий тэг без открывающего считался ошибочным.

Вылечивается например ПередЗаписью примерно так:

ТекстОригинал.ПолучитьHTML(ТекущийОбъект.ТекстОригинал, мСтруктураОригинал);
ТекущийОбъект.ТекстОригинал = СтрЗаменить(ТекущийОбъект.ТекстОригинал, "</br>", "
");
40. mc2 18 10.07.15 17:48 Сейчас в теме
(31) oks-nt,
Большое спасибо! Долго не мог понять в чем дело. Кстати, эту ошибку метода ПолучитьHTML исправили в 8.3.5.1068
В младших релизах вместо вызова

ФорматДок.ПолучитьHTML(Текст, Картинки);


надо использовать функцию:

Функция ПолучитьHTML(ФорматДок, Текст, Картинки) Экспорт
     ФорматДок.ПолучитьHTML(Текст, Картинки);
     Возврат СтрЗаменить(Текст, "</br>", "");
КонецФункции
32. dimetra2008 65 28.05.13 07:53 Сейчас в теме
В толстом клиенте не получается такое настроить...
33. Arvend 23 21.08.13 16:55 Сейчас в теме
36. zak555 09.02.15 13:02 Сейчас в теме
Как ФорматированныйДокумент сохранить, как excel файл или в pdf?
37. izabella_romanova 21.04.15 15:49 Сейчас в теме
спасибо большое за публикацию. оказалось полезной)
38. Rik30 14 29.05.15 10:33 Сейчас в теме
А можно пример получить? Не получается сделать
39. pyrkin_vanya 493 05.06.15 10:43 Сейчас в теме
41. Shaka13 27.08.15 20:55 Сейчас в теме
Спасибо, хороший материал, как раз в тему!
Попробовал на 8.3.6 все работает, жду обещанных продолжений по этой теме :)
42. Shaka13 27.08.15 21:06 Сейчас в теме
но вот тут http://v8.1c.ru/overview/Term_000000785.htm
написано:
Форматированный документ нельзя сохранить в виде файла, но поддерживается его экспорт в текстовый файл или файл HTML.

это нужно делать дополнительную обработку, т.к. я нигде не нашел такой возможности?
43. Shaka13 27.08.15 23:55 Сейчас в теме
и еще вопрос, а как сделать в печатную форму, данный объект не выводится в нее?
44. greystone 40 23.09.15 09:58 Сейчас в теме
таблицы не вставляются, например в конце договора надо вставить реквизиты
46. jaroslav.h 180 13.02.17 18:34 Сейчас в теме
А цвет фона, текста сохраняет у вас? У меня не сохраняет, все остальные выравнивание, наклонность шрифтов и т.д., сохраняет
47. Foxtrot1388 22.03.17 11:12 Сейчас в теме
Если вставить картинку в тонком клиенте, то в веб клиенте она не отобразится, и наоборот. Проблема возникает не во всех форматированных документах, лишь в некоторых формах. Картинка ссылается на несуществующую url в e1cib. Видимо это как то связано с параметром formUUID. Кто нибудь решал подобную проблему?
48. OFF 10.05.17 21:35 Сейчас в теме
Вовремя попалось
Как можно было забыть ФорматированныйДокумент, а тут еще на УФ!
49. o.shapoval 12.12.17 18:37 Сейчас в теме
Добрый день!
Поделитесь опытом, как в ФорматированныйДокумент вставить таблицу, например реквизиты контрагента.
Когда в макете вручную прописываю теги таблицы, то в просмотре отображается все отлично - http://prntscr.com/hmippf
Но как только запускаю из предприятия - ячейка второго столбца переносится на новую строчку.

На формах вычитал, что 1С работает по стандарту html 1.0 который и обрезает теги таблицы. Может можно как-то его изменить?
50. azhilichev 214 07.03.18 11:48 Сейчас в теме
Коллеги, ФорматированныйДокумент даже в релизе 8.3.11.3034 полная хрень. Если задумали использовать его для масштабных задач, одумайтесь. Придумайте альтернативу. Иначе наживете себе проблему, решать которую будет сложно.
d4rkmesa; ilya4; Yashazz; +3 Ответить
52. newvideo 22.12.18 21:03 Сейчас в теме
Подскажите пожалуйста, может кто сталкивался: 1С:Предприятие 8.3, учебная версия (8.3.8.1933)
На управляемой форме 3 поля: ФорматированныйДокумент и два ПолеВвода. Если активировать ПервоеПолеВвода (установить на нем курсор), и программно сменить фокус Этаформа.ТекущийЭлемент = Элементы.ВтороеПолеВвода;
то фокус меняется, обратно также со второго поля на первое, а вот если курсор в Документе то смена фокуса не происходит.

Это глюк элемента ФорматированныйДокумент или у меня что-то может блокировать смену фокуса?

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

Фокус не меняется независимо от того есть диалог или нет.

Пока не могу понять как сценарии могут влиять на фокус элемента формы 1С. Сможете протестировать как у вас дела с фокусом?))
53. acanta 07.03.19 14:57 Сейчас в теме
В такси нет функции драг-энд-дроп. Можно как обещали на презенации 1с 8? Сделать одно окно список сотрудников, другое карточку текущего сотрудника а третью - сам форматированный документ. И перетаскивать мышкой поля из карточки сотрудника в договор ( и из связанных с ним регистров сведений - адрес, данные паспорта) ? Или надо копипастить? А как скопипастить адрес из нескольких полей 1с в одну строку? Это на каждую ячейку надо нажимать?
И доп.реквизиты-сведения тоже нужны.
А нельзя сделать универсальную печать к каждому справочнику или документу с выводом всех полей и связанных реквизитов в читабельном виде (с галочками что выводить а что нет)?

Или все это уже есть в 1С Документооборот? А мне в БП 3 надо..

И чтоб шаблон моего договора сохранить отдельно куда нибудь, а результат - в справочник или документ (чтобы спросило куда это прицепить или сохранить в файл?)

Колонтитулы с нумерацией строк - нашла, в просмотре печати. А можно в колонтитулы добавить имя пользователя/компьютера/базы данных?
А изменить текст в колонтитуле всего страниц на "Листов: 3" вместо 3 (это не по ГОСТ).
54. acanta 07.03.19 15:30 Сейчас в теме
Я понимаю какая радость от возможности вставить сюда картинку, но вот гиперссылка, без возможности использовать никакие объекты базы для вставки это уже печалька.
Почему его нельзя вызвать из меню создать новый?
Почему в PDF оно сохраняет без картинок и в word не сохраняет совсем.
Почему рисунки показываются на предварительном просмотре но не печатаются (потому что галочка в настройках печатать фон и рисунки не установлена). Предварительный просмотр должен соответствовать распечатке.
Куда-то колонтитулы пропадают при изменении режимов страниц и масштаба.
И пока все.
Огромное спасибо автору за статью.
57. Yashazz 4790 03.06.19 20:32 Сейчас в теме
(54) На тему вставки гиперссылки набросал вариант решения: https://infostart.ru/public/1071558/
55. acanta 07.03.19 17:27 Сейчас в теме
+ как сохранить это во внешний файл и открыть из файла. Тот же pdf, Html или собственный формат.
56. Yashazz 4790 02.06.19 16:59 Сейчас в теме
Что-то мне подсказывает, что в пдф сохранять придётся через COM ворда или какой-нибудь PDFCreator. А насчёт вставки ссылок - да, недоделано явно. Вставка скудная, отлова события клика нет ваще, действительно печалька.
58. bercut0077 3 06.06.19 10:36 Сейчас в теме
60. user1415940 29.05.20 16:48 Сейчас в теме
Не работает. Не отрабатывает Процедуру:
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ТекущийОбъект.Описан_Изд = Новый ХранилищеЗначения(ТекстОписание);
КонецПроцедуры
61. qazaz2 17 25.06.20 09:39 Сейчас в теме
Для своих нужд тупо содрал с УНФ запихивание картинки в ФорматированныйДокумент (из док.Событие).
Но сцуко если картинку копипастить то при сохранении и последующем открытии она не отрисовывается.
А если добавлять через Еще/ВставитьКартинку то отрисовывается.
Проверил на КА - та же фигня.

Нет ли у кого идей как это поправить?
62. seroga777 23.12.20 12:46 Сейчас в теме
Как можно сделать гиперссылку в форматированном документе кликабельной? Кто сталкивался с проблемой?
64. Yashazz 4790 16.12.21 20:52 Сейчас в теме
63. dctvghbdtn 10.10.21 18:56 Сейчас в теме
Как получить выделенный фрагмент форматированного текста?
65. MaCCapAkIII 27.10.22 16:25 Сейчас в теме
Подскажите пожалуйста правильно ли я понимаю, что ограничение на 255 символов вводимой гиперссылки стандартными средствами платформы никак не изменить и надо писать свой обработчик со своей формой ввода? Столкнулся со стандартной командой форматированного документа и необходимо добавлять очень длинные гиперссылки. Соответственно ни отладить, ни поменять алгоритм работы стандартной команды возможности нет. 8.3.20.1789.
66. sandr13 35 11.10.23 12:52 Сейчас в теме
67. MaCCapAkIII 11.10.23 13:51 Сейчас в теме
(66) нет. Вернее, наполовину. Укороченные ссылки работают только при наличии интернета и доступа к серверам Яндекса, чтобы их расшифровать. А интернета у нас нет.
68. sandr13 35 11.10.23 17:45 Сейчас в теме
(67)может быть создать регистр ссылок с короткими(генерировать) и длинными?
Оставьте свое сообщение