Пример вывода нескольких ФорматированныхДокументов в HTML поле в виде последовательных комментариев с вложениями

20.09.13

Разработка - Инструментарий разработчика

Пример вывода списка Форматированных документов в виде комментариев с вложениями в HTML поле.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Пример конфигурация
.cf 10,26Kb
24
24 Скачать (1 SM) Купить за 1 850 руб.

В ходе работы над 1 из проектов столкнулся с написанной еще до меня системой обращений к ИТ, которая представляла собой Бизнесс-процесс (далее БП) с рядом этапов реализации, возможностью добавления комментариев пользователем и исполнителем в ходе работы в поля типа "ФорматированныйДокумент" (далее ФД).

Но так как система была написана давно и имела свои недоработки мне поручили ее тюнинг и улучшение.

Изначально в системе был реализован БП в котором на этапе инициализации пользователь описывал свое обращение к отделу ИТ в поле типа "ФД" УФ (Управляемая форма), далее это обращение сохранялось вместе с сохранением и стартом БП.

 В результате появлялась первая задача в которой начальник отдела ИТ определял исполнителя, ориентировочные сроки реализации, важность задачи и прочее, а так же вводил свой ккомментарий в поле типа "ФД".

И так далее на каждом этапе работы (отдельная задача БП).

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

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

Суть проблемы была в следующем: "ФД" разбирался на HTML текст и вложения (метод объект "ФД" - ПолучитьHTML), после разбора текст шел в состав общего HTML документа (списка комментариев), но всвязи с тем, что ссылки в формате 1С на вложения "ФД" выгруженые в структуру получить невозможно, а значит нельзя и вставить в тело HTML документа ссылки на вложения были мертвыми (объект "Структура" физически хранится лишь в памяти до окончания работы алгоритма формирования HTML документа).

 В результате изысканий мной было (к сожалению) придумано лишь 1 решение :

HTML текст поддерживает возможность вставки элементов вложений в виде Base64 кодировки и т.к.ФД позволяет вставлять в виде вложений лишь картинки был написан следующий код, который позволяет получить чистый код HTML вставки "ФД" с вложениями в виде кодировки Base64 (в демо-конфигурации это функция общего модуля).

Код общего модуля 

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

Собственно код УФ обработки выглядел так:

КодМодуляФормыОбработки

На форме обработки находится HTML поле куда компануются комментарии и 2 поля типа "ФД" в которые можно забить данные для теста.

Смотрите скрин или пример конфигурации.

Форма обработки и тестовых полей до вывода комментариев

Результат выполнения алгоритма вывода списка комментариев из 2 ФД:

 

Результат работы алгоритма


P.S: Статьи пишу редко Sealed так что просьба за оформление текста сильно не гневаться и ногами не пинать.

P.S.S: Код 1С пришлось заменить картинками, т.к. некоторые части содержали HTML теги и в результате залива статьи текст кода становился кривым и неверным. Все реальные коды можно получить из приложенной конфы или методом перенабора со скринов Innocent

ФорматированныйДокумент HTMLПоле

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    169330    937    403    

905

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    12632    99    42    

101

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

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

9360 руб.

17.05.2024    26546    90    48    

134

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    16837    41    15    

75

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

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

15000 руб.

10.11.2023    11402    40    27    

66

SALE! %

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

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

4800 3840 руб.

14.01.2013    190558    1150    0    

918

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    793    2    0    

4

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

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    55306    17    23    

43
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sirus Virus 110 20.09.13 10:47 Сейчас в теме
При желании можно формировать упорядоченный "СписокЗначений" (значения типа "ФД") и написать алгоритм их вывода в виде ленты.
2. kapustinag 20.09.13 20:26 Сейчас в теме
Может быть, лучше для хранения картинок и файлов иного формата выделить файловый ресурс?
Тогда в тексте HTML можно использовать тэги типа IMG SRC=..., или ссылки на эти файлы.
При этом инф.база не будет засоряться двоичными данными.
3. Sirus Virus 110 21.09.13 00:12 Сейчас в теме
В компании где это используется жесткая политика безопасности и вариантов доступа к файловым ресурсам нет.
Изначально пытался сделать сохранение рисунков во временные файлы из тела ФД при парсе и обработке, но увы не взлетело и поэтому был изобретен такой вот велосипед :)

Да решение может и не совсем удобное, но пример выложен лишь как вариант на случай "а может кому пригодится" :)
4. Поручик 4661 21.09.13 01:03 Сейчас в теме
(0) Спасибо, я-то голову ломал, как же картинки в тексте письма отправлять. И главное дело, знал про вставку изображений в виде кодированных по base64.
Пошёл убиваться об стенку, Акела лоханулся. Теперь попробую ваш метод.
5. Steelvan 307 25.02.15 22:24 Сейчас в теме
Оформление кода такое, как будто делал тупой американец.

А, понял почему звездочки раздражают, они же на их флаге :)
6. Steelvan 307 25.02.15 22:26 Сейчас в теме
Два слеша + текст более чем достаточно для описания блока небольшого блока строк.
7. Sirus Virus 110 26.02.15 12:42 Сейчас в теме
(6) Ну извини :) привык подробно комментировать свой код да и тем кто приходит работать после проще разобраться и в целом он становится читабельней.
Оставьте свое сообщение