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

27.01.16

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

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

Файлы

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

Наименование Скачано Купить файл
HTML5-1С-min.epf
.epf 64,15Kb
137 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С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

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

36000 руб.

03.08.2020    21766    31    24    

24

SALE! 15%

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

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

17280 14688 руб.

20.12.2024    3997    20    2    

21

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки. Основные преимущества: 1. Документация API создаётся автоматически. Удобна для программной обработки. 2. Изменить API столь же просто как настроить отчёт. Можно опубликовать существующий вариант отчёта. 3. Отчёты в API поддерживают параметры (Период, ДатаНачала и др.) 4. При создании простых методов не требуется изменять конфигурацию. 5. Поддерживается работа с планами обмена.<br/> 6. Возможно настроить отправку из 1С данных корреспондирующей системе, для случаев когда 1С сама "знает" какие данные нужно отправить. 7. После записи в 1С Ле Мурр может возвращать соответствие полученных идентификаторов созданным в 1С объектам данных.

36000 руб.

27.09.2024    8646    7    5    

9

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

Обмен данными с "Порталом поставщиков" zakupki.mos.ru Москвы и Московской области с целью создания оферт для закупок государственными учреждениями. Модуль устраняет рутину, минимизирует ошибки и помогает выигрывать больше закупок. Работает строго по требованиям 44-ФЗ.

14400 руб.

13.12.2016    41289    54    39    

37

Обмен с ГосИС 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

5196 руб.

28.04.2016    98211    111    218    

359
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 Сейчас в теме
Использование данного метода позволит решить и более сложные задачи. Связанные с построение сложных объектов через примитивы.
Для отправки сообщения требуется регистрация/авторизация