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
136 Скачать (1 SM) Купить за 1 850 руб.

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

Применим академический подход. Перейдем на 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С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    4250    5    0    

11

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

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

60000 руб.

07.05.2019    35808    71    45    

30

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

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

57600 руб.

26.11.2024    3279    3    3    

5

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    1376    9    2    

11

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

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    19642    24    24    

20

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    5490    5    2    

6

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

Решение осуществляет синхронизацию задач Битрикс24 и 1С, что позволяет в одной системе ставить задачи, контролировать выполнение всего пула задач с группировкой по ответственным и проектам, формировать управленческие отчеты по работе сотрудников (загрузка, просроченные задачи), уведомлять сотрудников о ходе выполнения задач посредством чат-бот Telegram

7200 руб.

04.05.2021    21293    14    19    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Magister 134 22.02.13 01:11 Сейчас в теме
Что-то непонятно, как всё-таки использовать внутри 1С упомянутую библиотеку?
ПолучитьНавигационнуюСсылку ведь, насколько я помню, только для объектов внутри базы работает.
2. sikuda 678 22.02.13 09:47 Сейчас в теме
(1) Magister, добавил в прикрепленном файле обработку эксперимента с которой получал картинки.
3. Magister 134 22.02.13 16:03 Сейчас в теме
Спасибо, посмотрел.
Но это ведь не картинки, а построение средствами Javascript :)
Так что если политикой домена Javascript отключен - пользователь ничего не увидит.
Как и не увидит, скорее всего, если на компьютере IE 8 или ниже. Разве что там специфичные скрипты под него подключены.
4. sikuda 678 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 678 25.02.13 11:02 Сейчас в теме
Это не обработчик от 1С. Это у вас какой-нибудь StaticFile(если IIS). Посмотрите внимательно настройку вэб-сервера. Да надо углублять тему и писать маленькие тесты...
7. Magister 134 26.02.13 00:14 Сейчас в теме
(6) Естественно, этот файл отдается внешним по отношению к 1С веб-сервером.
Наверное я не понял, в каком случае проблема таки возникает...
8. sikuda 678 06.03.13 17:41 Сейчас в теме
(7) с тонкой настройкой вэб-сервера не смогу помочь, а маленькие тесты на HTML5 написал. Заходите на сайт sikuda.ru
9. sikuda 678 24.04.13 14:51 Сейчас в теме
Нашел способ чтобы примеры html5 canvas заработали. Но это явно костыль. Работаю с графиками хотя интерес к ним маленький интерес http://www.forum.mista.ru/topic.php?id=662091
10. t955938 11.02.14 13:05 Сейчас в теме
Использование данного метода позволит решить и более сложные задачи. Связанные с построение сложных объектов через примитивы.
Оставьте свое сообщение