Карманный fresh, отладчик по http, и все, все, все

07.03.17

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

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

Когда –то давно, лет 7-8 назад, веб-разработчики, работающие с Битриксом, использовали простую быстро разворачиваемую веб-среду Денвер (http://www.denwer.ru/ ) для отладки своих сайтов. Эта среда включала в себя программу, которая автоматически разворачивала и настраивала связку необходимых для работы сайта на Битриксе компонентов Php (язык программирования), Apach (веб сервер), MySQL (база данных), также входящих в состав Денвера. Вещь, в общем-то, полезная и для человека, не сильно разбирающегося в администрировании, Денвер экономил кучу сил и времени. Нынче Битрикс заматерел и поставляет для тех, кто пользуется его продуктами, бесплатно целую 1С-Битрикс: Виртуальную машину (http://www.1c-bitrix.ru/products/vmbitrix/index.php), которую можно развернуть на сервере и использовать как для отладки сайтов, так и для работы в боевом режиме. Эта виртуальная машина включает в себя не только привычную связку Php, Apach, MySQL, но и уже полностью сконфигурированную под работу сайта ОС Linux, почтовый сервер и много других полезных для web компонент. 

Карманный Fresh

На последнем партнерском семинаре 1С разработчики Fresh объявили, что у них теперь тоже есть свой карманный Fresh – тестовая среда для разработчиков конфигураций, отчетов, обработок, расширений под Fresh. И это здорово, так как Fresh, по сути, родня сайтам и веб-приложениям и, конечно же, кроме обычной платформы требует настройки и разворачивания большого количества дополнительного программного обеспечения. Реализован карманный Fresh также, как и у Битрикса, в виде шаблона виртуальной машины, которую можно развернуть на сервере. Шаблон виртуальной машины можно создать при помощи скриптов, входящих в поставку карманного Fresh. В принципе под Линукс в поставке карманного Fresh есть уже готовый шаблон, включающий в себя:

  • Системные компоненты

- Операционная система GNU/Linux Ubuntu 14.04 LTS

- СУБД PostgreSQL 9.4

- Веб-серверы Apache 2.2, Apache TomCat 7, nginx

- Платформа «1С:Предприятие» версии 8.3.8

  • Компоненты Технологии Fresh

- «Менеджер Сервиса», «Управление Службой поддержки»

- Демонстрационная база «Библиотеки Технологий сервиса»

- Типовой сайт 1cFresh

Рекомендуемые аппаратные требования к работе виртуальной машины, развернутой по этому шаблону: 4 ядра CPU, 4 Gb RAM, 10+ Gb HDD.

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

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

Как работает карманный Fresh

Услышав этот доклад, я загорелась идеей посмотреть на вернисаже, как все это работает. В основном хотелось понять, что представляет из себя настройка, установка и сам Fresh изнутри, тем более, что обещали это показать всего за 10 минут.

На вернисаже выяснилось, что заявленной виртуальной машины под Windows на самом деле не существует, так как положить внутрь все необходимые компоненты от Microsoft не представляется возможным вследствие лицензионных ограничений. Поэтому все необходимые компоненты нужно установить на компьютер заранее. Надо сказать, что под Linux на машине, на которой производили демонстрацию карманного Fresh, все необходимое было уже установлено: сервер базы данных, веб сервер. Как объяснил системный архитектор фирмы 1С Никита Зайцев, для ускорения показа.

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

Чтобы развеять набежавшие сомнения, я попросила Зайцева доказать, что все это не специально подготовленный монтаж, а действительно работает. Он сначала обиделся, и сказал, что я тут вообще не одна, а потом подумал, зашел в свою линуксовую консоль и показал мне как выглядит запись о том, что работает агент сервера, и потом эту запись убил. Конфигуратор, в котором шел процесс отладки, моментально выдал ошибку, мираж развеялся.

Значительно позже после этой демонстрации я наткнулась на сообщение, что в платформе еще в версии 8.3.7 появился новый вид отладки: отладка по протоколу http (https://wonderland.v8.1c.ru/blog/novyy-mekhanizm-otladki/ ). Зайцеву не нужно было ронять сервер, надо было просто объяснить мне как эта отладка работает.

Изобретена отладка по http была, в основном, как раз для разработчиков Fresh и мобильных приложений. Потому что без этих средств они отлаживаться вообще никак не могут.

Отладка 1С по протоколу http

Отладка по http в 1С сообществе для обычных разработчиков горячо обсуждается. Дело в том, что конфигуратор с отладчиком не подключается напрямую к отлаживаемой базе, а они взаимодействуют друг с другом через специальный отладочный сервер по протоколу http. Кто-то говорит, что http – это надстройка над тем же самым протоколом TCP, по которому работает обычный отладчик, поэтому никаких преимуществ для подключения у него нет, а дополнительный сервер только замедляет работу отладчика.

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

Настройка работы отладчика по протоколу http в 1С оказалась несложной. В файловом варианте сделала это минут за 5.

Чтобы настроить отладку по протоколу http в 1С в конфигураторе нужно выбрать соответствующий протокол и указать, что используется локальный сервер отладки. После этого конфигуратор надо перезапустить, в момент перезапуска конфигуратора стартует и сервер отладки, что немного необычно. Далее надо выяснить адрес этого вновь запущенного сервера отладки и прописать этот адрес в настройках окна клиентского сеанса.

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

Для клиент серверного варианта чуть сложнее, нужно перезапустить сервер предприятия с ключом

ragent.exe -debug –http

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

Интересная фича нового способа отладки – окошко «Локальные переменные», куда автоматически выводятся все значения переменных, объявленные в параметрах и в теле исполняемой под отладчиком процедуры. 

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

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

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

#Битрикс24 #APACHE #WEB #LINUX #HTTP-сервисы #PHP #MySql #Fresh #PostgreSQL

См. также

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

Функциональное решение для торговли на всех популярных маркетплейсах. Работает со схемами FBO и FBS. Простое в использовании и установке, не вносит изменения в код программы. Существенно упрощает работу с товарным ассортиментом, обработку заказов с площадок, работу с поставками, а также ведение аналитики по продажам и остаткам.

72000 руб.

19.07.2024    1321    52    0    

3

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

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    17718    49    50    

29

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    14118    40    8    

16

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

Универсальное расширение конфигурации для автоматической загрузки и заполнения реквизитов контрагентов (партнеров) из ОГРН для 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.4), 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.2), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.5), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.4), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.3), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.4), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.0) и 1С:Бухгалтерия 8 (Бухгалтерия предприятия, редакция 3.0).

3900 руб.

08.11.2017    62872    403    295    

72

ККМ WEB-интеграция Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Универсальный драйвер для фискализации чеков для сервиса Бизнес.РУ. Чеки (https://online-check.business.ru/). Работает с любой кассой, подключенной к сервису, в том числе и без физической кассы (Аренда облачной ККТ в датацентре). Принцип работы аналогичен наличию физической кассы, подключенной к рабочему месту 1С. Фискализация выполняется с любого рабочего места через интернет. Нет ограничений на количество рабочих мест, касс, компьютеров. Поддерживает печать с нескольких рабочих мест на одну кассу. Работает в любой операционной системе (Windows, Linux) и в любом клиенте (Тонкий, Толстый, Web, Мобильный клиент).

6000 руб.

03.06.2021    13813    12    0    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kao_andi 20 08.03.17 09:18 Сейчас в теме
Создав тестовый стенд для фреша, я даже думаю 1С сделала хуже, потому чтобы понять как работает фреш его нужно развернуть и запустить самому. А про отладчик, то Ольга открою Вам еще один секрет, а может и не только Вам: есть такой сайт Зазеркалье(https://wonderland.v8.1c.ru), там можно много чего нового узнать еще даже до выхода платформ.
2. DrAku1a 1739 09.03.17 03:03 Сейчас в теме
Поясните "для тех, кто в танке" - что такое Fresh? Думаю, это надо сделать небольшим отступлением в начале статьи + ссылку.
4. kao_andi 20 09.03.17 08:07 Сейчас в теме
(2)
что такое Fresh?

В среде 1С есть два разных фреша:
1. Это технология разработки, развертывания и т.п. + фреймворк. Если посмотреть в типовых конфигурациях, которые построены на основе БСП, это то что там называется "Работа в модели сервиса".
2. И есть сама реализация данной технологии компанией 1С http://1cfresh.com, но Вам никто не мешает организовать свой бизнес и развернуть свою версию фреша и продавать доступ клиентам.

Также очень удобно использовать такую вещь для компаний занимающихся бух. аутсорсом, стоимость владения такой инфраструктурой в разы меньше.
5. lustin 09.03.17 17:08 Сейчас в теме
Почему в статье нет упоминания Vagrant ?
Оставьте свое сообщение