|
1c и HTML | ☑ | ||
---|---|---|---|---|
0
iceman2112
19.07.12
✎
08:19
|
В конфигурации есть статья, хочется, чтобы она выглядела красиво. Можно ли использовать как средства html в 1с? Если да то какими средствами?
|
|||
1
iceman2112
19.07.12
✎
08:21
|
(0) + как то*
|
|||
2
Рэйв
19.07.12
✎
08:22
|
ПолеHTMLДокумента (HTMLDocumentField)
Свойства: Документ (Document) Рамка (Border) ЦветРамки (BorderColor) Методы: Вперед (GoForward) Назад (GoBack) Перейти (Navigate) ПолучитьURL (GetURL) ПолучитьТекст (GetText) УстановитьРежим (SetMode) УстановитьТекст (SetText) События: ДокументСформирован (DocumentComplete) Описание: Элемент управления предоставляет возможность показа HTML-документа, навигации и редактирования. Элементу управления также доступны события HTML-документа. Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. См. также: ОболочкаHTMLДокумента |
|||
3
iceman2112
19.07.12
✎
08:25
|
хм, хорошо html документ. Получается для редакции статьи нужно отредактировать html документы, которые будет лежать в каком то хранилище?
|
|||
4
izekia
19.07.12
✎
08:27
|
хтмл документ - это строка
|
|||
5
vde69
19.07.12
✎
08:30
|
с хтмл документом - траблы есть нужно на диске хранить картинки.
1с сделало спец объект в котором и форматированый текст и картинки, только скрипты в нем не работают |
|||
6
vde69
19.07.12
✎
08:32
|
(5)+
Поле форматированного документа |
|||
7
iceman2112
19.07.12
✎
08:46
|
(5) так и что это за объект?
|
|||
8
Рэйв
19.07.12
✎
08:47
|
(0)Да сделай ее красиво в макете и выводи.Чего мучаться то.
|
|||
9
iceman2112
19.07.12
✎
08:56
|
да не. Мучение это каждый раз макет рисовать, толи на html добавил пару тегов и вот тебе красота + картинки
|
|||
10
vde69
19.07.12
✎
09:43
|
(9) кури (6)
|
|||
11
Юрий Лазаренко
19.07.12
✎
10:07
|
(5) Нинада на диске. Формируешь HTML с картинками, открываешь в IE, сохраняешь в формате .mht, там картинки уже в него зашиты, получается в итоге один файл. Открыть его потом в 1С - как два байта переслать.
|
|||
12
Юрий Лазаренко
19.07.12
✎
10:08
|
Во всяком случае у меня это работает уже с 2008 года, сбоев не было. PDF в таком варианте тоже открывается. Правда проверял только на УФ.
|
|||
13
izekia
19.07.12
✎
10:12
|
(11) ну перешли два байта из 1С в произвольный порт?
|
|||
14
Юрий Лазаренко
19.07.12
✎
10:14
|
(13) "Это системная проблема, программисты этим не занимаются" (с)
|
|||
15
Юрий Лазаренко
19.07.12
✎
10:14
|
Код для mht для УФ:
&НаКлиенте Процедура ПоказатьДокумент() // Если путь к файлу не указан, то поместим туда информационную надпись, чтобы обеспечить видимость гиперссылки Если Объект.ПутьКФайлуСИнструкцией = "" Тогда Объект.ПутьКФайлуСИнструкцией = "файл не выбран"; КонецЕсли; Если Объект.ИнструкцияИсходныйКод = "" Тогда // Если исходный код еще не задан, то просто очистить поле HTMLТекст = ""; Возврат; Иначе // Исходный код задан - активизируем поле ТекущийЭлемент = Элементы.HTMLТекст; КонецЕсли; // Поместим исходный код во временный файл и отобразим его в поле ТД = Новый ТекстовыйДокумент; ТД.УстановитьТекст(Объект.ИнструкцияИсходныйКод); //ТД.УстановитьТекст("<html><body>Проверка распечатки документа</body></html>"); //ТекстДокумента = ТД.ПолучитьТекст(); //ТекстДокумента = СтрЗаменить(ТекстДокумента, "</body>", "<center><a href='javascript:window.print()'>распечатать документ</a></center></body>"); //ТД.УстановитьТекст(ТекстДокумента); ИмяВременногоФайла = ПолучитьИмяВременногоФайла(".mht"); //ИмяВременногоФайла = ПолучитьИмяВременногоФайла(".html"); ТД.Записать(ИмяВременногоФайла); HTMLТекст = ИмяВременногоФайла; //ПоместитьВоВременноеХранилище(Объект.ИнструкцияИсходныйКод, "ТекстДока"); //HTMLТекст = ПолучитьИзВременногоХранилища("ТекстДока"); //HTMLТекст = ПолучитьНавигационнуюСсылку(Объект, "ИнструкцияИсходныйКод"); КонецПроцедуры |
|||
16
Юрий Лазаренко
19.07.12
✎
10:15
|
&НаКлиенте
Процедура ЗагрузитьФайлВыполнить() Перем флНеобходимаЗапись; // Флаг необходимости записи элемента флНеобходимаЗапись = Ложь; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.ПолноеИмяФайла = ?(Найти(Объект.ПутьКФайлуСИнструкцией, ".mht") = 0, "", Объект.ПутьКФайлуСИнструкцией); ДиалогОткрытияФайла.Фильтр = "Веб-архив(*.mht)|*.mht"; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; ДиалогОткрытияФайла.Заголовок = "Выберите файл с инструкцией"; Если ДиалогОткрытияФайла.Выбрать() Тогда Если Объект.ПутьКФайлуСИнструкцией <> ДиалогОткрытияФайла.ПолноеИмяФайла Тогда флНеобходимаЗапись = Истина; КонецЕсли; Объект.ПутьКФайлуСИнструкцией = ДиалогОткрытияФайла.ПолноеИмяФайла; Иначе Предупреждение("Файл не выбран, загрузка прервана"); Возврат; КонецЕсли; // Прочитаем файл и поместим в справочник ТД = Новый ТекстовыйДокумент; ТД.Прочитать(Объект.ПутьКФайлуСИнструкцией); Если Объект.ИнструкцияИсходныйКод <> ТД.ПолучитьТекст() Тогда флНеобходимаЗапись = Истина; КонецЕсли; Объект.ИнструкцияИсходныйКод = ТД.ПолучитьТекст(); Если флНеобходимаЗапись Тогда // Принудительно установим признак модифицированности формы, чтобы не потерять изменения ЭтаФорма.Модифицированность = Истина; // Отображение документа HTMLТекст = Объект.ПутьКФайлуСИнструкцией; Иначе Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "Текст документа не изменился, перезапись не требуется"; //Сообщение.КлючДанных = Объект.Ссылка; //Сообщение.ПутьКДанным = "ЕдиницаПоКлассификатору"; //Сообщение.Поле = "ЕдиницаПоКлассификатору"; //Сообщение.УстановитьДанные(); Сообщение.Сообщить(); КонецЕсли; КонецПроцедуры |
|||
17
Юрий Лазаренко
19.07.12
✎
10:16
|
Принцип там понятен, я думаю
|
|||
18
iceman2112
19.07.12
✎
10:16
|
это хорошо, но не удобно, создавать где то, потом сохранять. Я думаю форматированные документ, то что надо.
|
|||
19
iceman2112
19.07.12
✎
10:17
|
+ в том что с картинками заморочек не будет, как я понял в случае mht
|
|||
20
Юрий Лазаренко
19.07.12
✎
10:18
|
(18) Зависит от сложности твоего html-источника. Поле форматированного документа иногда это самое форматирование корежит, а в моем варианте отображение 100% будет соответствовать оригиналу.
(19) Не только с картинками, но и с форматированием в некоторых случаях. |
|||
21
Юрий Лазаренко
19.07.12
✎
10:19
|
В обсчем вот тебе вариант, выбирай там уже дальше в зависимости от твоих бизнес-процессов и требований к степени соответствия оригиналу.
|
|||
22
iceman2112
19.07.12
✎
10:22
|
Спасибо.
|
|||
23
Юрий Лазаренко
19.07.12
✎
10:22
|
Еще вариант - прикрутить ВК для редактирования и отображения HTML, таковых в инете выложено великое множество.
|
|||
24
Юрий Лазаренко
19.07.12
✎
10:23
|
Сам к нему присматриваюсь, ибо форматированный документ иногда своими выкрутасами вымораживает просто.
|
|||
25
iceman2112
19.07.12
✎
10:31
|
Видишь еще хочется полнотекстовый поиск, как я понимаю ни одном ни другом варианту у меня его сделать не получиться.
|
|||
26
Юрий Лазаренко
20.07.12
✎
13:45
|
(25) Храни исходник html в базе, тогда и полнотекстовый поиск его схавает. У меня хавает )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |