Hello world на metadata.js
Про браузерные offline-first приложения можно написать миллионы слов. Сэкономлю своё и ваше время и перейду сразу к делу. В статье не будет рекламы и агитации за новые технологии, не будет критики традиционных или попсовых решений. Рассмотрим по шагам разработку простейшей программы на metadata.js. Постараюсь сделать акцент не на том «как это сделано», а «почему сделано именно так»
- Описание
- Подробнее
Описание
Демо-задача
Автономное веб-приложения для учета движения наличных денег:
- Два справочника:
- Кассы (считаем, что кошельки, контрагенты, подотчетники и т.д. – это просто разные кассы)
- Статьи ДДС – для простейшей аналитики
- Один документ: Перемещение денег (куда, откуда, статья, сумма)
- Один отчет: Ведомость по денежным средствам
Приложение должно обеспечивать возможность ввода и редактирования документов как из веб-интерфейса, так и средствами 1С и сохранять работоспособность при недоступности сервера или поломках доступа в Интернет.
Чтобы не усложнять пример, ограничение прав на уровне записей не рассматриваем. Пользователь веб-приложения увидит и сможет изменять документы по всем кассам. В реальных задачах используется фильтрованная репликация, когда документы передаются в браузер с учетом RLS.
Результат
Живое демо доступно по ссылке: https://light.oknosoft.ru/helloworld/
- Движок легко справляется с тысячами одновременных сеансов
- Сервер 1С для обслуживания веб-клиентов не используется
- Публикации SOAP и HTTP сервисов не требуется
Содержание
- Подготовка базы 1С. Готовая dt-шка есть в прикрепленных файлах. Опишу, что именно делалось со стороны конфигуратора
- Подготовка инфраструктуры. Для отладки и публикации, нужны установленный локально NodeJS, а так же серверы CouchDB и Nginx. CouchDB и Nginx могут располагаться как на локальном компьютере, так и удаленно на любом компьютере в Интернет
- Настройка состава метаданных, а так же, синонимов и начальное заполнение, выполняются в режиме 1С:Предприятие
- Подготовка веб-приложения. Структуру каталогов и необходимые файлы развернём в любой удобной папке на локальном компьютере с помощью npm
- Публикация веб-приложения. Рассмотрим необходимые и достаточные шаги для публикации приложения в Интернет
Одно без другого недостаточно информативно.


