Git Product home page Git Product logo

helloworld's Introduction

helloworld

Шаблон пустого проекта на metadata.js По мотивам http://infostart.ru/public/540168/ для v2

Назначение и возможности

  • Ввод и редактирование докумнтов поступления - выбытия - перемещения денег
  • Формирование отчета о движении денег
  • Автономная работа при отсутствии доступа к Интернет
  • Фоновая синхронизация с ИБ 1С

Демо онлайн

Живое демо доступно по ссылке https://hello.oknosoft.ru/

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

Серверная часть

  • CouchDB, NoSQL база данных с поддержкой master-master репликации
  • Nginx, высокопроизводительный HTTP-сервер
  • NodeJS, JavaScript runtime built on Chrome's V8 JavaScript engine

Управление данными в памяти браузера

  • Metadata-core, движок ссылочной типизации для браузера и Node.js
  • PouchDB, клиентская NoSQL база данных с поддержкой автономной работы и репликации с CouchDB
  • AlaSQL, SQL-интерфейс к массивам javascript в памяти браузера и Node.js
  • Aes, библиотека шифрования/дешифрования строк
  • Redux, диспетчер состояния веб-приложения
  • Xlsx, библиотека для чтения и записи XLSX / XLSM / XLSB / XLS / ODS

UI библиотеки и компоненты интерфейса

  • Material-ui, компоненты React UI в стиле Google's material design
  • React virtualized, компоненты React для динамических списков
  • React data grid, React компонент табличной части
  • Filesaver.js, HTML5 реализация метода saveAs
  • Moment.js, библиотека форматирования интервалов и дат
  • Rubles.js, библиотека форматирования чисел - сумма прописью

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

.
├─ build    # Сюда компилируются файлы для публикации на вебсервере
├─ config   # Файлы настроек приложения
├─ scripts  # Скрипты для сборки и тестирования
└─ src      # Исходный код приложения

Дополнительное описание файлов проекта см. в readme вложенных папок

Первый запуск

Установить зависимости

После клонироввния репозитория, выполняем npm i
По этой команде, пакетный менеджер установит нужные библиотеки в папку node_modules

Подготовить данные и выгрузить их в CouchDB

Конфигурацию 1С можно взять здесь
Дистрибутив CouchDB опубликован здесь

Для настройки CouchDB в режиме единичного узла или кластера необходимо выбрать соответствующую опцию в fauxton или проделать тоже самое вручную:

  • создать пользователя с правами администратора
  • чтобы разрешить доступ к серверу по ip адресу, отличному от localhost необходимо установить bind_address равный 0.0.0.0
  • включить CORS, перейдя в Config/CORS
  • установить reduce_limit = false в Config/query_server_config

Следуя этой инструкции загрузить конфигурацию 1С.

Далее необходимо открыть форму интеграция:настройка

  • на вкладке Адреса сервисов указать адрес CouchDB вместе с префиксом базы данных в поле HTTP, имя администратора Couchdb User name и его пароль Password. После установки значений на этой вкладке, необходимо нажать кнопку Записать URLS
  • для инициализации CouchDB, нажимаем кнопку Создать базы и пользователей на вкладке Регистрация
  • кнопка Настроить CouchDB на закладке Регистрация, создаёт индексы и служебные объекты CouchDB, необходимые для работы вебприложения
  • последовательное нажатие кнопок Заполнить и Регистрация, позволяет выгрузить в CouchDB содержимое документов и справочников 1С
  • если хотите пересобрать метаданные, выгрузить их описание в CouchDB можно командой Записать meta на вкладках Метаданные или Синонимы

Указать расположение CouchDB относительно корня приложения

Путем модификации файла config/app.settings.js

Пересобрать файл описания метаданных

Этот шаг нужен только в том случае, если изменены метаданные приложения (добавлены поля, документы, справочники, синонимы и т.д.). Для пересборки необходимо запустить скрипт npm run prebuild:meta. В результате будет обновлен файл src/metadata/init.js

Лицензия

MIT

Данная лицензия распространяется на все содержимое репозитория, но не заменяет существующие лицензии для продуктов, используемых библиотекой metadata.js

(c) 2014-2017, компания Окнософт ([email protected])

helloworld's People

Contributors

unpete avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.