новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
 Приватное сообщение
 Персональный проект 
Внести в черный список

Игорь Яр

редактировать метку
редактировать метку
1с - javascript
  • 4
  • 1
  • 1
  • 1
муж.
Москва(Россия)
29.03.1971(53 года)
12 лет 7 мес. 1 день
2 октября 2021 в 00:14:19(3 года 7 недель 3 дня 12 часов 23 минуты назад)
1000
Яндекс-директ
Информация

"FireFox-Менеджер" - подсистема 1С 8.2/8.3. -  предназначена для двухстороннего обмена данными между 1С и Firefox в формате JSON.

При этом возможны два варианта взаимодействия:

  1. 1С работает в режиме веб-клиента внутри браузера Firefox;
  2. 1С работает в режиме толстого клиента, а Firefox (или несколько экземпляров одновременно запущенных Firefox) могут находиться либо на той же локальной машине, либо где-нибудь в сети, например на VPS.

Первый вариант проще в реализации, поэтому я и начну с его описания.
В любом случае нам понадобится установить расширение iMacros для Firefox.
Сразу дам пару ссылок:

  • ссылка для установки расширения с сайта Mozilla https://addons.mozilla.org/ru/firefox/addon/imacros-for-firefox/ ;
  • неплохой вводный 6-минутный видеоурок, дающий начальное представление об iMacros http://www.youtube.com/watch?v=-UfLbTUynOY

Расширение iMacros предоставляет две основные возможности:

  • записывать действия пользователя в браузере и представлять их в виде макроса. Этот режим чем-то напоминает запись макросов в Excel;
  • запускать на выполнение управляющий Javascript – текстовый файл с расширением «.js»

Mozilla Firefox не поддерживает технологию OLE Automation, поэтому для обмена используется другая технология, а именно управляющий Javascript (о том, что это такое будет написано ниже).

Управляющий Javascript (терминология iMacros) отличается от обычного джава скрипта расширенными возможностями:

  • во-первых, своей «глобальностью» - он не привязан к конкретной web-странице и может работать с несколькими окнами. Например, обмениваться данными между веб-клиентом 1С и каким-нибудь сайтом;
  • во-вторых, полным доступом к объектной модели Firefox (XPCOM). Получить некоторое впечатление обо всех возможностях XPCOM можно, перейдя по указанной выше ссылке – только названия доступных интерфейсов занимают 8 экранов. Конечно, всё это изучать не нужно, достаточно использовать только что-то необходимое для своего проекта. Так, например, если требуется получить доступ из скрипта к локальной файловой системе, то из указанного списка нужно выбрать интерфейс nsIFile и использовать его методы. По сути это тот самый Javascript, на котором пишутся расширения для Firefox и, я полагаю, набив руку на разработке управляющих JS, можно при желании легко перейти к созданию своих расширений, если в этом возникнет потребность;
  • и, в-третьих, из управляющего JS можно выполнять записанные в автоматическом режиме или созданные вручную макросы (наборы инструкций iMacros). При описываемом здесь подходе текст скрипта примерно состоит на 90-95% из собственно джава скрипта и на 5-10% из макросов. Макросы используются для эмуляции действий пользователя – кликов по кнопкам, заполнения сложных ajax форм и т.п. Они могут использоваться и для извлечения данных, но для этих целей мне кажется более приспособленным javascript от Firefox с его методами

Соображения о безопасности

Такие расширенные способности скриптов, как, например, работа с файловой системой не следует рассматривать как недокументированные или некорректные – это штатные возможности Firefox.

Важно:Если вы не доверяете автору скрипта, достаточно удостовериться простым анализом кода , что скрипт не отсылает пользовательские данные (куки, вводимый текст) на сторонние сервисы и не удаляет файлы на компьютере.

 

Почему JSON

Формат JSON является «родным» для Javascript – это функции JSON. stringify(obj) и JSON.parse(str) – преобразующие объект в строку и строку в объект соответственно.

В с 1С 8.3 появилась возможность платформы работать с JSON, но для совместимости с 1С 8.2 используются найденные в рунете функции ЗаполнитьСтруктуруИзОтветаJSON и СформироватьСтрокуJSON.

 

Немного практики. Установка iMacros. Проверка работоспособности связки 1С – Firefox.

Продолжение следует.

 

Примеры

Примеры находятся в стадии оформления публикации, ссылки будут выложены здесь.

 

 

Специализация
Отзывы (1)
Задания и вакансии
Cертификаты 1С
Разработки
Разработки, загруженные на сайт этим пользователем
Активность на сайте
Последние сообщения пользователя
Показать все(11)
На главную страницу заданий 1с