8.х Форматированный документ (html)

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем pattt!, 12 фев 2013.

  1. TopicStarter Overlay
    pattt!
    Offline

    pattt!

    Регистрация:
    12 фев 2013
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Не знал, как назвать тему, но думаю не столь важно.
    Задача: из 2х полей типа "форматированный документ", надо по нажатию кнопки вставлять в третье поле такого же типа.
    Когда мы вставляем картинки в форматированный документ, они получают имя "image001", "..002" и т.д. Когда вставляем в третий форматированный документ по нажатию кнопки - они совпадают, поэтому вставляется только одна картинка, но дважды.
    Этот момент не получается исправить.
    Вот код:

    &НаСервере
    Функция ПолучитьИнформацию()

    Вложение1 = Новый Структура;
    Вложение2 = Новый Структура;
    ТекстХТМЛ1 = "";
    ТекстХТМЛ2 = "";

    ТекстДоговора1.ПолучитьHTML(ТекстХТМЛ1, Вложение1);
    ТекстДоговора2.ПолучитьHTML(ТекстХТМЛ2, Вложение2);

    п11 = Найти(ТекстХТМЛ1, "<body>");
    п12 = Найти(ТекстХТМЛ1, "</body>");
    п21 = Найти(ТекстХТМЛ2, "<body>");
    п22 = Найти(ТекстХТМЛ2, "</body>");

    HTMLТекст =
    "<html>
    |<head>
    |<meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" />
    |<meta http-equiv=""X-UA-Compatible"" content=""IE=EmulateIE7"" />
    |<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>
    |</head>
    |<body>";

    HTMLТекст = HTMLТекст + Символы.ПС + СтрЗаменить(Сред(ТекстХТМЛ1, п11, п12 - п11), "<body>", "");
    HTMLТекст = HTMLТекст + Символы.ПС + СтрЗаменить(Сред(ТекстХТМЛ2, п21, п22 - п21), "<body>", "");

    HTMLТекст = HTMLТекст +
    "</body>
    |</html>";

    Вложения = Новый Структура;

    Для каждого КлючИЗначение Из Вложение1 Цикл
    Вложения.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение);
    КонецЦикла;

    Для каждого КлючИЗначение Из Вложение2 Цикл

    Если Вложение2.Свойство(КлючИЗначение.Ключ) = Истина Тогда

    Вложение2.Вставить("abc" + КлючИЗначение.Ключ, КлючИЗначение.Значение);
    //ТекстХТМЛ2 = СтрЗаменить(ТекстХТМЛ2, КлючИЗначение.Ключ, "abc" + КлючИЗначение.Ключ);

    HTMLТекст = СтрЗаменить(HTMLТекст, КлючИЗначение.Ключ, "abc" + КлючИЗначение.Ключ);
    Иначе
    Вложения.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение);
    КонецЕсли;
    КонецЦикла;

    ТекстДоговора.УстановитьHTML(HTMLТекст, Вложения);
    КонецФункции


    Сомневаюсь в этой части кода, не знаю, как оформить правильно.
    "Для каждого КлючИЗначение Из Вложение2 Цикл ...
    КонецЦикла;"

    Буду благодарен любому совету!
  2. TopicStarter Overlay
    pattt!
    Offline

    pattt!

    Регистрация:
    12 фев 2013
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Возможно кому-нибудь пригодится либо просто будет интересно.

    В приложении дтшник.

    Вложения:

Поделиться этой страницей