Перейти к содержимому

Как открыть 1с в браузере

  • автор:

Windows: подключение через браузер

Для работы в «облаке» вы можете использовать любой современный браузер: Microsoft Internet Explorer, Mozilla Firefox, Apple Safari, Google Chrome.

Доступ к базам 1С можно получить в трех вариантах:

Через кнопку «Запуск» в личном кабинете

Зайдите в личный кабинет в раздел «Базы данных». Рядом с нужной вам базой, найдите кнопку «Запуск» и нажмите на ней левой кнопкой мыши.

кнопка "запуск" в разделе базы данных

Начнется автоматический запуск базы в новом окне браузера.

По ссылке в письме

После создания базы в личном кабинете, вы получаете от нас письмо на электронную почту. В нем содержится ссылка на созданную вами базу. Нажмите на ней левой кнопкой мыши, после этого 1С автоматически запустится.

ссылка на базу в облачной бухгалтерии

По ссылке в личном кабинете

Зайдите в личный кабинет в раздел «Базы данных».

настройка базы данных 1С

Выберете необходимую базу и нажмите кнопку «Настроить». В новом окне вы увидите адрес ссылки на вашу базу и рядом с ней кнопку «Копировать». Нажмите на нее и сочетанием клавиш Ctrl+V вставьте адрес базы в новом окне.

сохранить настройки

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

логин и пароль в 1С

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

Записки IT специалиста

Настраиваем веб-доступ для 1С:Предприятия в файловом режиме

  • Автор: Уваров А.С.
  • 19.05.2015

1cv83-file-web-access-000.jpg

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Традиционная схема работы с 1С:Предприятием в файловом режиме подразумевает общий доступ к файлам информационной базы посредством протокола SMB (сети Microsoft). При этом один из компьютеров выступает в качестве файлового сервера, а другие работают с размещенной в общем доступе информационной базой.

1cv83-file-web-access-001.jpg

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

Также остро стоит вопрос с удаленным доступом, если для удаленных компьютеров еще можно организовать удаленный доступ посредством RDP, что, кстати, не всегда доступно для небольших фирм, не имеющих выделенного сервера, то с мобильными устройствами все довольно печально.

Вместе с тем управляемое приложение предоставляет новые возможности, такие как веб-доступ к информационной базе, в том числе работающей в файловом режиме. Это позволяет качественным образом изменить работу с информационной системой практически без дополнительных затрат.

1cv83-file-web-access-002.jpg

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

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

Ну и, конечно, появляются практически неограниченные возможности удаленного доступа к базе: из любого места, с любого устройства, был бы браузер.

Ниже мы рассмотрим возможные конфигурации для организации веб-доступа к небольшим базам, работающим в файловом режиме на базе клиентских операционных систем.

На настоящий момент поддерживаются два основных веб-сервера Apache и IIS, также на машине с веб-сервером должна быть обязательно установлена платформа и модули расширения веб-сервера. Их всегда можно установить дополнительно, просто запустив еще раз программу установки платформы:

1cv83-file-web-access-003.jpg

Windows и IIS

Internet Information Services (IIS) по непонятным причинам не пользуется популярностью у администраторов и 1С-ников. А зря, игнорировать штатное решение в пользу некоторого стороннего ПО, пусть даже и неплохого, выглядит по крайней мере странно.

Для установки IIS на клиентской ОС, в нашем случае Windows 7 x64, перейдите в Панель управления — Программы и компоненты — Включение и отключение компонентов Windows.

1cv83-file-web-access-004.jpg

В открывшемся окне выберите Службы IIS, затем, развернув список, перейдите в Службы интернета — Компоненты разработки приложений и установите флажок напротив Расширения ISAPI, остальные параметры можно оставить по умолчанию.

1cv83-file-web-access-005.jpg

После установки IIS перейдем к его настройке, для этого откройте Панель управления — Администрирование — Диспетчер служб IIS.

1cv83-file-web-access-006.jpg

Важно! Следующую настройку следует производить только в том случае, если вы будете использовать 32-разрядную платформу 1С:Предприятие.

В дереве слева выбираем Пулы приложений, щелкаем правой кнопкой мыши на DefaultAppPool — Дополнительные параметры и разрешаем 32-разрядные приложения, установив соответствующую опцию в True.

1cv83-file-web-access-007.jpg

Теперь выставим необходимые права для групп IUSR и IIS_IUSRS. На папку с информационной базой выдаем права Изменение и Чтение и выполнение:

1cv83-file-web-access-008.jpg

На папку bin платформы — Чтение и выполнение:

1cv83-file-web-access-009.jpg

Затем запускаем 1С:Предприятие от имени администратора и загружаем нужную информационную базу в режим конфигуратора.

1cv83-file-web-access-010.jpg

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

1cv83-file-web-access-011.jpg

После чего нажимаем Опубликоватьи утвердительно отвечаем на предложение перезапустить веб-сервер.

Готово! Для доступа к базе можем использовать адрес вида http://имя(адрес)_хоста/имя_публикации, в нашем случае http://192.168.3.109/Acc30, запускаем браузер и проверяем работу.

1cv83-file-web-access-012.jpg

Также можно настроить базу для работы с ней посредством платформы, для этого в диалоге добавления новой информационной базы указываете размещение на веб-сервере:

1cv83-file-web-access-013.jpg

Следующим шагом вводите адрес подключения:

1cv83-file-web-access-014.jpg

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

1cv83-file-web-access-015.jpg

Windows и Apache 2.2

Если вы по каким-либо причинам не хотите использовать IIS, можно настроить работу 1С с другим популярным веб-сервером Apache. К сожалению разработчики Apache перестали публиковать бинарные сборки для Windows, предлагая обратиться к своим партнерам, поэтому перейдем на сайт Apache Haus и скачаем сборку 2.2.х той же архитектуры, что и используемая вами платформа 1С:Предприятия, вне зависимости от разрядности операционной системы.

1cv83-file-web-access-016.jpg

Внимание! Для получения сборки Apache следует пользоваться только надежными источниками, которые указаны на сайте проекта. От этого зависит безопасность вашего веб-сервера и ваших данных!

Также вам потребуется установить Распространяемый пакет Microsoft Visual C++ 2008, который нужен для нормальной работы сборки Apache.

Затем распакуем скачанный архив Apache в произвольную директорию, например, C:\Apache22, из всего множества папок нас интересуют папки bin и htdocs, в первой расположены исполняемые файлы веб-сервера, во второй следует располагать веб-содержимое.

Откроем командную строку с правами администратора и перейдем в директорию bin веб-сервера:

Теперь установим Apache как службу:

На предупреждения не обращаем внимания, для целей использования с 1С подойдет конфигурация Apache по умолчанию.

1cv83-file-web-access-018.jpg

Так как служба работает от имени системной учетной записи выставлять права на папки с базой и платформой не надо.

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

1cv83-file-web-access-019.jpg

В нашем случае это C:\Apache22\htdocs\Acc30\, кстати, создать нужный каталог можно прямо в диалоге выбора папки. После чего публикуем информационную базу.

Следующий момент, 1С не умеет перезапускать данную сборку Apache, поэтому сделаем это вручную через оснастку Службы:

1cv83-file-web-access-020.jpg

После перезапуска веб-сервера опубликованная база станет доступна по тому же самому, как и в случае с IIS, адресу, точно также ничем не будет отличаться и работа с ней.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал

Про веб-клиент 1С

Одной из приятных особенностей технологии 1С:Предприятие является то, что прикладное решение, разработанное по технологии управляемых форм, может запускаться как в тонком (исполняемом) клиенте под Windows, Linux, MacOS X, так и как веб-клиент под 5 браузеров – Chrome, Internet Explorer, Firefox, Safari, Edge, и все это – без изменения исходного кода приложения. Более того – внешне приложение в тонком клиенте и в браузере функционирует и выглядит практически идентично.
Найдите 10 отличий (под катом 2 картинки):

Окно тонкого клиента на Linux:

image

То же окно в веб клиенте (в браузере Chrome):

image

Зачем мы сделали веб-клиент? Говоря несколько пафосно, такую задачу перед нами поставило время. Уже давно работа через Интернет стала необходимым условием для бизнес-приложений. Вначале мы добавили возможность работы через Интернет для нашего тонкого клиента (некоторые наши конкуренты, кстати, на этом и остановились; другие, напротив, отказались от тонкого клиента и ограничились реализацией веб-клиента). Мы же решили дать нашим пользователям возможность выбрать тот вариант клиента, который им подходит больше.

image

Добавление возможности работы через Интернет для тонкого клиента было большим проектом с полной сменой архитектуры клиент-серверного взаимодействия. Создание же веб-клиента — и вовсе новый проект, начинавшийся с нуля.

Постановка задачи

Итак, требования к проекту: веб-клиент должен делать то же самое, что и тонкий клиент, а именно:

  1. Отображать пользовательский интерфейс
  2. Исполнять клиентский код, написанный на языке 1С

Клиентский код на языке 1С может содержать в себе серверные вызовы, работу с локальными ресурсами (файлами и т.п.), печать и многое другое.

И тонкий клиент (при работе через веб), и веб-клиент пользуются одним и тем же набором веб-сервисов для общения с сервером приложений 1С. Реализация у клиентов, конечно, разная – тонкий клиент написан на С++, веб-клиент – на JavaScript.

Немного истории

Проект создания веб-клиента стартовал в 2006 году, в нем (в среднем) участвовала команда из 5 человек. На отдельных этапах проекта привлекались разработчики для реализации специфической функциональности (табличного документа, диаграмм и т.д.); как правило, это были те же разработчики, что делали эту функциональность в тонком клиенте. Т.е. разработчики заново писали на JavaScript компоненты, ранее созданные ими на C++.

С самого начала мы отвергли идею какой-либо автоматической (хотя бы частичной) конверсии C++ кода тонкого клиента в JavaScript веб-клиента ввиду сильных концептуальных различий этих двух языков; веб-клиент писался на JavaScript с чистого листа.

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

Первая версия платформы 1С:Предприятие с поддержкой веб-клиента вышла в 2009 году. Веб-клиент на тот момент поддерживал 2 браузера – Internet Explorer и Firefox. В первоначальных планах была поддержка Opera, но из-за непреодолимых на тот момент проблем с обработчиками закрытия приложения в Opera (не удавалось со 100%-ной уверенностью отследить, что приложение закрывается, и в этот момент произвести процедуру отключения от сервера приложений 1С) от этих планов пришлось отказаться.

Структура проекта

Всего в платформе 1С:Предприятие есть 4 проекта, написанных на JavaScript:

  1. WebTools – общие библиотеки, используемые остальными проектами (сюда же мы включаем Google Closure Library).
  2. Элемент управления ФорматированныйДокумент (реализован на JavaScript и в тонком клиенте, и в веб-клиенте)
  3. Элемент управления Планировщик (реализован на JavaScript и в тонком клиенте, и в веб-клиенте)
  4. Веб-клиент

Структурно веб-клиент по-крупному разделяется на следующие подсистемы:

  • Управляемый интерфейс клиентского приложения
    • Общий интерфейс приложения (системные меню, панели)
    • Интерфейс управляемых форм, включающий, в том числе, около 30 элементов управления (кнопки, различные типы полей ввода – текстовые, цифровые, дата/время и пр., таблицы, списки, графики и т.д.)
    • Работа с криптографией
    • Работа с файлами
    • Технология внешних компонент, позволяющая их использовать как в тонком, так и веб-клиенте

    Особенности разработки

    Реализация всего вышеописанного на JavaScript – дело непростое. Возможно, веб-клиент 1С – одно из самых больших client-side приложений, написанных на JavaScript – около 450.000 строк. Мы активно используем в коде веб-клиента объектно-ориентированный подход, упрощающий работу с таким большим проектом.

    Для минимизации размера клиентского кода мы вначале использовали свой собственный обфускатор, а начиная с версии платформы 8.3.6 (октябрь 2014) стали использовать Google Closure Compiler. Эффект использования в цифрах – размер фреймворка веб-клиента после обфускации:

    • Собственный обфускатор – 1556 кб
    • Google Closure Compiler – 1073 кб

    Google Closure Compiler очень хорошо работает с объектно-ориентированным кодом, поэтому его эффективность именно для веб-клиента максимально высокая. Closure Compiler делает для нас несколько хороших вещей:

    • Статическая проверка типов на этапе сборки проекта (обеспечивается тем, что мы покрываем код аннотациями JSDoc). В итоге получается статическая типизация, очень близкая по уровню к типизации в С++. Это помогает отловить достаточно большой процент ошибок на стадии компиляции проекта.
    • Уменьшение размера кода через обфускацию
    • Ряд оптимизаций выполняемого кода, например, такие как:

    • inline-подстановки функций. Вызов функции в JavaScript – достаточно дорогая операция, и inline-подстановки часто используемых небольших методов существенно ускоряют работу кода.
    • Подсчет констант на этапе компиляции. Если выражение зависит от константы, в него будет подставлено фактическое значение константы

    Для анализа кода мы используем SonarQube, куда интегрируем статические анализаторы кода. С помощью анализаторов мы отслеживаем деградацию качества исходного кода на JavaScript и стараемся ее не допускать.

    Какие задачи решали/решаем

    В ходе реализации проекта мы столкнулись с рядом интересных задач, которые нам пришлось решать.

    Обмен данными с сервером и между окнами

    Существуют ситуации, когда обфускирование исходного кода может помешать работе системы. Код, внешний по отношению к исполняемому коду веб-клиента, вследствие обфускации может иметь имена функций и параметров, отличающиеся от тех, которые наш исполняемый код ожидает. Внешним кодом для нас является:

    • Код, приходящий с сервера в виде структур данных
    • Код другого окна приложения

    А чтобы избежать обфускации при взаимодействии с другими окнами мы используем так называемые экспортируемые интерфейсы (интерфейсы, у которых все методы являются экспортируемыми).

    We used Virtual DOM before it became mainstream)

    Как и все разработчики, имеющие дело со сложным Веб UI, мы быстро поняли, что DOM плохо подходит для работы с динамическим пользовательским интерфейсом. Практически сразу был реализован аналог Virtual DOM для оптимизации работы с UI. В процессе обработки события все изменения DOM запоминаются в памяти и, только при завершении всех операций, накопленные изменения применяются к DOM-дереву.

    Оптимизация работы веб-клиента

    Чтобы наш веб-клиент работал быстрее, мы по максимуму стараемся задействовать штатные возможности браузера (CSS и т.п.). Так, командная панель формы (расположенная практически на каждой форме приложения) отрисовывается исключительно средствами браузера, динамической версткой на базе CSS.

    image

    Тестирование

    Для функционального тестирования и тестирования производительности мы используем инструмент собственного производства (написанный на Java и C++), а также набор тестов, построенных на базе Selenium.

    Наш инструмент универсален – он позволяет тестировать практически любые оконные программы, а потому подходит для тестирования как тонкого клиента, так и веб-клиента. Инструмент записывает действия пользователя, запустившего прикладное решение «1С», в файл-сценарий. В это же время происходит запись изображений рабочей области экрана — эталонов. При контроле новых версий веб-клиента сценарии проигрываются без пользовательского участия. В случаях несовпадения скриншота с эталонным на каком-либо шаге тест считается провалившимся, после чего специалист по качеству проводит расследование – ошибка это или запланированное изменение поведения системы. В случае запланированного поведения эталоны автоматически подменяются на новые.

    Инструмент также проводит замеры производительности приложений с точностью до 25 миллисекунд. В ряде случаев мы закольцовываем части сценария (например, несколько раз повторяем ввод заказа) для анализа деградации времени выполнения со временем. Результаты всех замеров записываются в лог для анализа.

    image
    Наш инструмент тестирования и тестируемое приложение

    Наш инструмент и Selenium дополняют друг друга; например, если какая-то кнопка на одном из экранов поменяла свое местоположение – Selenium это может не отследить, но наш инструмент заметит, т.к. делает попиксельное сравнение скриншота с эталоном. Также инструмент в состоянии отследить проблемы с обработкой ввода с клавиатуры или мыши, так как именно их он и воспроизводит.

    Тесты на обоих инструментах (нашем и Selenium) запускают типовые сценарии работы из наших прикладных решений. Тесты автоматически запускаются после ежедневной сборки платформы «1С:Предприятие». В случае замедления работы сценариев (по сравнению с предыдущей сборкой) мы проводим расследование и устраняем причину замедления. Критерий у нас простой – новая сборка должна работать не медленнее предыдущей.

    Для расследования инцидентов замедления работы разработчики используют разные инструменты; в основном используется Dynatrace AJAX Edition производства компании DynaTrace. Проводится запись логов выполнения проблемной операции на предыдущей и на новой сборке, затем логи анализируются. При этом время выполнения единичных операций (в миллисекундах) может не быть решающим фактором – в браузере периодически запускаются служебные процессы типа уборки мусора, они могут наложиться на время выполнения функций и исказить картину. Более релевантными параметрами в этом случае будет количество выполненных инструкций JavaScript, количество атомарных операций над DOM и т.п. Если количество инструкций/операций в одном и том же сценарии в новой версии увеличилось – это почти всегда означает падение быстродействия, которое нужно исправлять.

    Также одной из причин падения производительности может быть то, что Google Closure Compiler по какой-то причине не смог сделать inline-подстановку функции (например, потому что функция рекурсивная или виртуальная). В этом случае мы стараемся исправить ситуацию, переписав исходный код.

    Расширения браузеров

    В случае, когда прикладному решению нужна функциональность, которой нет в JavaScript, мы используем расширения браузеров:

    • для работы с файлами
    • для работы с криптографией
    • работа с внешними компонентами

    При работе в Safari наши расширения используют NPAPI, при работе в Internet Explorer — технологию ActiveX. Microsoft Edge пока не поддерживает расширения, поэтому веб-клиент в нем работает с ограничениями.

    Дальнейшее развитие

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

    Другие задачи — развитие архитектуры, рефакторинг, повышение производительности и надежности. Например, одно из направлений – дальнейшее движение в сторону асинхронной модели работы. Часть функциональности веб-клиента на настоящий момент построена на синхронной модели взаимодействия с сервером. Асинхронная модель сейчас становится в браузерах (и не только в браузерах) более актуальной, и это заставляет нас модифицировать веб-клиент путем замены синхронных вызовов на асинхронные (и соответствующего рефакторинга кода). Постепенный переход к асинхронной модели объясняется необходимостью поддержки выпущенных решений и постепенной их адаптации.

    Открытие web страницы в браузере и не только средствами 1С

    В информационной базе 1С довольно часто приходится хранить адреса web страниц. Например, адреса сайтов компаний партнёров.

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

    Начиная с 1С 7.7 (самое позднее), в технологической платформе поддерживается процедура ЗапуститьПриложение.

    Этой процедуре в простейшем случае достаточно одного параметра – имени файла или папки или адреса web страницы, которые необходимо открыть.

    Допустим, у некоторого справочника есть строковый реквизит с адресом некоторой web страницы. Как открыть эту страницу в браузере не копируя этот адрес в его адресную строку?

    Достаточно просто передать этот адрес в процедуру ЗапуститьПриложение и она откроется в браузере.

    Ниже приведён пример обработчика команды формы элемента справочника, которая реализует данный функционал.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *