HTML 5 Canvas в 1С или Google нам, может быть, поможет

27.01.16

Интеграция - WEB-интеграция

Продолжая статью Встроенный браузер в 1С. Кто здесь? (http://infostart.ru/public/171763) продолжаем копаться внутри интернет технологий 1С.

Файлы

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

Наименование Скачано Купить файл
(только для физ. лиц)
HTML5-1С-min.epf
.epf 64,15Kb
136 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Доброго времени суток!

Применим академический подход. Перейдем на http://www.w3schools.com/html/html5_canvas.asp и возьмем примеры оттуда и напишем небольшую обработку HTML5-1С-min.epf.

Результаты лучше наблюдать самим и проверить в своем любимом браузере.(см. картинки). Но вывод все тот-же. Не тонком клиенте Windows 1с, не в вэб IE не показывает ничего кроме рамки. Даже библиотека excanvas.js от Google не помогает, только удаляет показ ошибок скриптов. В 8.3.3.641 все аналогично на Windows,  а на Linux c webkit все показывает. Видно баузерный движок в тонком клиенте Windows очень хорошо отлажен для 1С, но ядро имеет древнее на IE7, но как-то урезанное.

Меня 1C научила никогда не отступать от решения задачи, насколько сложной она не казалась с первого раза. Для этого надо понять, а как работает библиотека excanvas. Посмотреть на пример в //infostart.ru/public/57648/. Да вспомнить, что до html5 Microsoft усиленно толкала свою систему VLM (http://msdn.microsoft.com/en-us/library/ee384217%28v=vs.85%29.aspx). Вот она и прекрасно работает со старыми версиями движков IE. И excanvas это эмуляция функций обрисовки графиков html5 через эту систему. Значит 1С надо немного помочь. Посмотрев как эта библиотека работает в старых IE, получилось решение что нужно добавить в для 1С.

В старых браузерах excanvas  может вызваться рекурсивно, а в движке браузера 1С нет. Для простых примеров поможем 1С заполнить html файл. Используем флаг excanvas_1c("Довесок для 1С") и макет с таким-же именем.

Если excanvas_1c Тогда
    Скрипт = ПолучитьМакет("excanvas_1c").ПолучитьТекст();   
    Страница = СтрЗаменить(Страница, "", Скрипт +"");
КонецЕсли;

Тестируем обработку HTML5-1С-min вложение к статье. Ура, заработало. Делаем 1С ближе к HTML5


Копаться внутри старой технологии достаточно утомительно. Второй способ научить внутри 1С понимать современные стандарты это принудительно установить поле HTML в режим совместимости с последней версией. В обработке надо поставить флаг на поле "Включить эмуляцию IE=Edge".Но данный способ тоже не идеалный и не спасает от всех ошибок в барузере, но рабочий. И дает результат показа тестовых примеров на w3schools.

 

И из маленьких мелочей которых очень хочется: 

Хочется вывести в тонком клиенте в HTMLПоле свою картинку. Посмотим внимательно в отладке 1С на навигационную ссылку и в браузере в инструментах разработчика:

  1. Навигационная ссылка - "e1cib/data/Справочник.Товары.ФайлКартинки?ref=99b380c16ef91aa211e27a59f49b6685"
  2. Код интернет страницы - < img style="position: relative; cursor: default; width: 350px; height: 288px; left: 488px; top: 19px;" title="" src="http://localhost/1c-test/ru_RU/e1cib/data/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA.%D0%A2%D0%BE%D0%B2%D0%B0%D1%80%D1%8B.%D0%A4%D0%B0%D0%B9%D0%BB%D0%9A%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8?ref=99b380c16ef91aa211e27a59f49b6685" alt="" / >

Это похоже одно и тоже. Значит простая идея заключается в создании ПолучитьНавигационнуюСсылку и прописании ее в HTMLПоле:

СтраницаНТML = "
|< html >
|< head >
|< /head >
|< body >
|< div > Тест страницы < /div >
|< div > < img src='"+СсылкаНаКартинку+"'/ > Тест картинки < / div >
|< / body >
|< / html > ";

Аналогично работает и функция ПоместитьВоВременноеХранилище.

Проверим работу. Тонкий клиент и web клиент работают замечательно. 

 

P.S. Сайт: sikuda.ru 

 

           

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    5019    4    3    

7

WEB-интеграция Программист Бизнес-аналитик 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    2653    14    2    

16

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    37727    72    45    

31

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

3000 руб.

28.04.2016    96421    109    218    

359

WEB-интеграция 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

В расширении реализован механизм интеграции между системой поставщика и Личным кабинетом СДТ. Реализован обмен заказами и реализациями (накладными), предусмотрено отслеживание статусов документов. Расширение предназначено для 1С:УТ 11.4.

35856 руб.

27.11.2024    1231    1    0    

1

WEB-интеграция Программист 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разработана для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

12000 руб.

02.02.2021    19938    57    52    

35
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Magister 134 22.02.13 01:11 Сейчас в теме
Что-то непонятно, как всё-таки использовать внутри 1С упомянутую библиотеку?
ПолучитьНавигационнуюСсылку ведь, насколько я помню, только для объектов внутри базы работает.
2. sikuda 679 22.02.13 09:47 Сейчас в теме
(1) Magister, добавил в прикрепленном файле обработку эксперимента с которой получал картинки.
3. Magister 134 22.02.13 16:03 Сейчас в теме
Спасибо, посмотрел.
Но это ведь не картинки, а построение средствами Javascript :)
Так что если политикой домена Javascript отключен - пользователь ничего не увидит.
Как и не увидит, скорее всего, если на компьютере IE 8 или ниже. Разве что там специфичные скрипты под него подключены.
4. sikuda 679 24.02.13 15:57 Сейчас в теме
(3) Нет дело похоже не в отключении скриптов. Точнее внешние скрипты 1С отключит, а внутренние нужны самой 1С. 1С вклинивается в процесс обработки и в первую очередь летят картинки(как внешние данные), а потом графики. Надо еще в этом покопаться...
5. Magister 134 25.02.13 00:44 Сейчас в теме
(4) Эм... картинки у меня вполне себе спокойно отображаются через
<img src="http://192.168.0.1/images/img.jpg">

Ничего не режется.
6. sikuda 679 25.02.13 11:02 Сейчас в теме
Это не обработчик от 1С. Это у вас какой-нибудь StaticFile(если IIS). Посмотрите внимательно настройку вэб-сервера. Да надо углублять тему и писать маленькие тесты...
7. Magister 134 26.02.13 00:14 Сейчас в теме
(6) Естественно, этот файл отдается внешним по отношению к 1С веб-сервером.
Наверное я не понял, в каком случае проблема таки возникает...
8. sikuda 679 06.03.13 17:41 Сейчас в теме
(7) с тонкой настройкой вэб-сервера не смогу помочь, а маленькие тесты на HTML5 написал. Заходите на сайт sikuda.ru
9. sikuda 679 24.04.13 14:51 Сейчас в теме
Нашел способ чтобы примеры html5 canvas заработали. Но это явно костыль. Работаю с графиками хотя интерес к ним маленький интерес http://www.forum.mista.ru/topic.php?id=662091
10. t955938 11.02.14 13:05 Сейчас в теме
Использование данного метода позволит решить и более сложные задачи. Связанные с построение сложных объектов через примитивы.
Оставьте свое сообщение