Skip to content

Шаблон пустого проекта

License

Notifications You must be signed in to change notification settings

oknosoft/helloworld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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, компания Окнософт (info@oknosoft.ru)

Releases

No releases published

Packages

No packages published