Имя: Пароль:
1C
 
Сохранение табличного документа xhtml
, ,
0 val245
 
18.02.19
13:40
Здравствуйте

Есть ли возможность сохранять табличные документы в формате xhtml средствами 1С. Работает ли 1С с этим форматом? Не нашел никакую информацию по этому вопросу. Кто нибудь сталкивался с такой задачей? Нужно сохранить табличный документв формате xhtml
1 Yrii-ay
 
18.02.19
13:44
(0) Точно в xhtml?
2 val245
 
18.02.19
13:47
да. Точно
3 val245
 
18.02.19
13:48
XHTML — семейство языков разметки веб-страниц на основе XML, повторяющих и расширяющих возможности HTML 4
4 Yrii-ay
 
18.02.19
13:53
(0) Обычно в xml сохраняют, а потом уже хоть в pdf
5 Yrii-ay
 
18.02.19
13:55
Например:
/// Как записать данные в файл формата XML в 1с 8.3, 8.2

&НаКлиенте
Процедура ЗаписатьДанныеВФорматеXML(ПутьКФайлуДляЗаписи)

    // Предположим, что у нас есть данные о странах,
    // которые нужно записать во внешний файл в формате XML.    

    Страны = СоздатьДанныеДляЗаписиВXML();    

    // И эти данные хранятся во списке значений Страны,
    // который нам вернула внутренняя процедура (определена
    // ниже).

    ЗаписьXML = Новый ЗаписьXML;

    ЗаписьXML.ОткрытьФайл(ПутьКФайлуДляЗаписи);

    ЗаписьXML.ЗаписатьОбъявлениеXML();    

    ЗаписьXML.ЗаписатьНачалоЭлемента("Страны");

    Для Каждого Страна Из Страны Цикл
        ЗаписьXML.ЗаписатьНачалоЭлемента("Страна");
        ЗаписьXML.ЗаписатьАтрибут("Название", Страна.Значение.Название);
        ЗаписьXML.ЗаписатьАтрибут("Численность", Страна.Значение.Численность);
        ЗаписьXML.ЗаписатьАтрибут("Столица", Страна.Значение.Столица);

        ЗаписьXML.ЗаписатьНачалоЭлемента("ТрадиционныеБлюда");
        Для Каждого Блюдо Из Страна.Значение.ТрадиционныеБлюда Цикл
            ЗаписьXML.ЗаписатьНачалоЭлемента("Блюдо");
            ЗаписьXML.ЗаписатьАтрибут("Название", Блюдо.Значение.Название);
            ЗаписьXML.ЗаписатьКонецЭлемента(); // Блюдо
        КонецЦикла;
        ЗаписьXML.ЗаписатьКонецЭлемента(); // ТрадиционныеБлюда

        ЗаписьXML.ЗаписатьНачалоЭлемента("ОбщееОписание");
        ЗаписьXML.ЗаписатьТекст(Страна.Значение.ОбщееОписание);
        ЗаписьXML.ЗаписатьКонецЭлемента(); // ОбщееОписание

        ЗаписьXML.ЗаписатьКонецЭлемента(); // Страна
    КонецЦикла;

    ЗаписьXML.ЗаписатьКонецЭлемента(); // Страны

    ЗаписьXML.Закрыть();

КонецПроцедуры
6 trad
 
18.02.19
14:01
(0) xhtml
есть вариант: сохранить в html и прогнать через утилиту tidy
7 trad
 
18.02.19
14:01
(6) * в xhtml - не умеет
8 val245
 
18.02.19
14:03
(5) Да, но файл xhtml  - больше похож на таблицу в виде html, а не на xml
9 trad
 
18.02.19
14:04
10 Yrii-ay
 
18.02.19
14:06
(8) Ну можно к xml подключить xsl или css
11 val245
 
18.02.19
14:15
(9) через него можно сохранить в данном формате?
12 trad
 
18.02.19
14:27
(11) да
13 val245
 
18.02.19
14:39
Хорошо. Спасибо. Попробую
14 val245
 
21.02.19
16:25
(12)А можете показать фрагмент кода, как использовать данный объект для конвертации?
15 val245
 
21.02.19
16:37
Как использовать этот com объект для конвертации в 1С?
Пробовал так

TidyObj = Новый COMОбъект("TidyCOM.TidyObject");
TidyObj.Options.Doctype = "strict";
TidyObj.Options.DropFontTags = true;
TidyObj.Options.OutputXhtml = true;
TidyObj.Options.Indent = "AutoIndent";
TidyObj.Options.TabSize = 8;
TidyObj.TidyToFile (ИмяКаталога + "\" + ИмяДляСохранения + ".html",ИмяКаталога + "\" + ИмяДляСохранения + ".xhtml");

Но не выходит ничего
16 val245
 
22.02.19
09:17
вверх
17 val245
 
22.02.19
10:40
up
18 trad
 
22.02.19
10:42
что говорит TidyObj.TotalErrors, TidyObj.lError ?
19 sqr4
 
22.02.19
10:47
TidyObj = Новый COMОбъект("TidyCOM.TidyObject");
а такое работает во внешних обработках?
20 trad
 
22.02.19
10:53
(19) да, но надо учитывать что TidyCOM.dll это 32-битный ком-сервер
21 val245
 
22.02.19
11:04
Да. Работает. объект создается. Ошибки не выходит. просто файл не конвертируется. Ничего не происходит
22 trad
 
22.02.19
11:07
ошибки не должны сами выходить
что возвращает TidyObj.TotalErrors?
23 eklmn
 
гуру
22.02.19
11:16
How to Convert from HTML to XHTML
Add an XHTML <!DOCTYPE> to the first line of every page
Add an xmlns attribute to the html element of every page
Change all element names to lowercase
Close all empty elements
Change all attribute names to lowercase
Quote all attribute values

напиши уже функцию! тыжпрограммист!
24 val245
 
22.02.19
11:16
Получилось.Вот только со шрифтами проблема. Наврное нужно как-то юникод подключить
25 val245
 
22.02.19
11:17
Он оказывается просто имя не хотел принимать. Шрифт не понимал
26 val245
 
22.02.19
11:18
интересно, как теперь юникод включить..
27 trad
 
22.02.19
11:30
что значит включить юникод?
28 val245
 
22.02.19
11:34
Фал html воспринимает все символы, а вот конвертрируемый файл xhtml воспринимает только английскую латиницу
29 val245
 
22.02.19
11:35
К примеру, я написал в тестовом документе "Доброе утро", при конвертации он вывел кирилицу как "Доброе утро"
30 trad
 
22.02.19
11:38
в документации что про кодировки есть?
31 val245
 
22.02.19
11:42
ищю, но не нашел ничего.. TidyObj.Options.QuoteNbsp должна быть включена, а она и так включена..
32 trad
 
22.02.19
11:48
TidyObj.Options.CharEncoding = 4; //uf8
33 val245
 
22.02.19
11:52
Да. Спасибо. Теерь все получилось
AdBlock убивает бесплатный контент. 1Сергей