Имя: Пароль:
1C
1С v8
ФорматированныйДокумент неожиданное поведение
0 Kookish
 
29.08.11
10:14
Добрый день. Ковыряю "Технологии интеграции", и споткнулся на работе с форматированным документом. Такой код из демо конфигурации:
&НаСервереБезКонтекста
Функция ЗаписатьНоменклатуруНаСервере()
   ФД = Новый  ФорматированныйДокумент;
   
   ФД.Добавить(СформироватьЗаголовок("ООО Быстрее, выше, сильнее"), ТипЭлементаФорматированногоДокумента.Текст);
   ФД.Добавить(, ТипЭлементаФорматированногоДокумента.ПереводСтроки);
   
   Выборка = Справочники.Номенклатура.Выбрать();
   Пока Выборка.Следующий() Цикл
       
       // Выгрузить только элементы справочника
       Если Не Выборка.ЭтоГруппа Тогда
           ФД.Добавить(ЭлементВСтроку(Выборка), ТипЭлементаФорматированногоДокумента.Текст);
           
           Картинка = Выборка.Картинка.Получить();
           Если Картинка <> Неопределено Тогда
               ФД.Добавить(Картинка, ТипЭлементаФорматированногоДокумента.Картинка);
           КонецЕсли;    
           
           ФД.Добавить(, ТипЭлементаФорматированногоДокумента.ПереводСтроки);
       КонецЕсли;    
   КонецЦикла;    
   
   Возврат ФД;
   
КонецФункции

дает в результате такую вот фигню:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
</head>
<body>
<p>ООО Быстрее, выше, сильнее             29.08.2011"000000004","Посудомоечная машина","20 000","шт"<br>
"000000003","Стиральная машина","15 000",""<br>
<img src='result2_files\image001.png'>"000000007","Фен","1 800","шт"<br>
"000000002","Холодильник","25 000","шт"<br>
<img src='result2_files\image002.png'>"000000006","Чайник","2 000",""<br>
<br>
</p>

</body>
</html>

В результате их же процедура

&НаСервере
Процедура ПрочитатьНоменклатуруНаСервере()
   
   // Необходимо установить реальный путь
   Путь = "c:\";
   ПолеФД.Удалить();
   
   Текст = Новый ЧтениеТекста(Путь + "result2.htm", КодировкаТекста.UTF8);
   
   // Считать первую строку
   ПрочитаннаяСтрока = Текст.ПрочитатьСтроку();
   
   // Цикл выполняется пока не будет достигнут конец файла
   
   Пока ПрочитаннаяСтрока <> Неопределено Цикл
       ПрочитаннаяСтрока = Текст.ПрочитатьСтроку();
       
       РисунокНачало = Найти(ПрочитаннаяСтрока, "<img src");
       Если РисунокНачало > 0 Тогда
           ТекстНоменклатуры = Лев(ПрочитаннаяСтрока, РисунокНачало - 1);
           ПолеФД.Добавить(ТекстНоменклатуры, ТипЭлементаФорматированногоДокумента.Текст);
           
           РисунокКонец = Найти(ПрочитаннаяСтрока, "<br>");
           РисунокНоменклатуры = Путь + Сред(ПрочитаннаяСтрока, РисунокНачало + 10, РисунокКонец - 2 - РисунокНачало - 10);
           ПолеФД.Добавить(Новый Картинка(РисунокНоменклатуры), ТипЭлементаФорматированногоДокумента.Картинка);
       Иначе
            ПолеФД.Добавить(ПрочитаннаяСтрока, ТипЭлементаФорматированногоДокумента.Текст);
        КонецЕсли;
       
       ПолеФД.Добавить(, ТипЭлементаФорматированногоДокумента.ПереводСтроки);
   КонецЦикла;    

КонецПроцедуры

вылетает с ошибкой при попытке вывести картинку. Платформа 8.2.14, крайняя. На 8.2.13 работает как заявлено и дает такой текст:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
</head>
<body>
<p>ООО Быстрее, выше, сильнее             29.08.2011<br>
"000000004","Посудомоечная машина","20 000","шт"<br>
"000000003","Стиральная машина","15 000",""<img src='result2_files\image001.png'><br>
"000000007","Фен","1 800","шт"<br>
"000000002","Холодильник","25 000","шт"<img src='result2_files\image002.png'><br>
"000000006","Чайник","2 000",""<br>
</p>

</body>
</html>

Я что-то не понимаю в жизни или где?
Или все уже по-другому.
1 Kookish
 
29.08.11
11:33
Скажите, я правда неудачнег? Постоянно упираюсь в такие вещи, вроде бы и не сложные, и в литературе для чайников не описанные...