http сервер для 1С



Свой сервер для 1С
Был заказ сделать в 1С регистрацию входа/выхода сотрудников, чтобы руководство знало, кто когда приходит и уходит. Особых проблем с реализацией в 1С не было, база и пара отчетов была реализована в течение 4-5 часов. Проблема была в том, что необходимо 1С ставить охраннику, что делать не очень хотелось, хотел сделать веб сервис и написать на htmp+JS обмен с веб сервисом, но сервер, где крутится 1С был и так очень загружен, и разворачивать там apach или IIS не очень хотелось. Решено было сделать свой сервер на delphi, который подключается к 1С через COM соединение и вызывает глобальные процедуры. Так родился «http сервер 1С».

В прилагаемых файлах сам сервер и страница регистрации сотрудников через браузер.
1. Необходимо распаковать архив с базой 1С, положить его куда нибудь.
2. Распаковать архив с сервером, в файле настроек options.ini указать путь к этой базе 1С и запустить сервер.
3. В браузере набрать адрес http://127.0.0.1:20265
4. В поле ввода можно либо вводить, либо сканировать клавиатурным сканером код карты сотрудника (в базе есть коды с 1 по 4, 0000000000001), при этом в 1С будет зарегистрирован вход или выход сотрудника.
5. В 1С под пользователем «Директор» можно увидеть графики работы сотрудников.

http://127.0.0.1:20265 — возвращает файл index.html который лежит в папке files в каталоге с программой, также там должны лежать файлы стилей или скриптов JS, например библиотека JQUERY

http://127.0.0.1:20265/1C?method=test¶m1=testparam¶m2=testparam2 — вызов глобального метода test с параметрами testparam и testparam2

http://127.0.0.1:20265/logs — просмотр файла логов

В 1С необходимо сделать один общий модуль (лучше английскими буквами), например (oleObmen). Он должен быть глобальным и в нем определить экспортные функции, которые будут видны снаружи, например (test(param1, param2)). Также желательно в этом модуле предусмотреть функции преобразования в JSON и обратно.

Настройки программы находятся в ini файле, там указывается имя OLE объектам для соединения, порт и данные для подключения к базе.

8 Comments

  1. Re:аниматор
    Проблема была в том, что необходимо 1С ставить охраннику

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

    Через компоненту мы полностью управляем и администрируем БС по сетке (в том числе установленные в других городах), с прямой загрузкой данных в 1С из БС

    Reply ↓
  2. apxi

    (1) Re:аниматор, не сомневаюсь, может кому и проще, а мне было так проще и удобней.

    Reply ↓
  3. DrAku1a

    Исходники прилагаются?

    Reply ↓
  4. apxi

    (3) Нет, исходники не прилагаются. Прилагается сервер с одним подключением к 1С и готовое решение по регистрации сотрудников, которое можно неограниченно расширять. Кроме того есть также решение с этим же сервером для просмотра остатков товаров из УТ 10.3, которое можно легко переделать под любую конфу.

    (4) Спасибо!

    Reply ↓
  5. DAnry

    Очень даже симпатичное решение задачи. Мне, например, более по душе такое решение, по сравнении с «биометрическим сканером». Плюсую…

    Reply ↓
  6. vtools

    (0) Есть аналогичный HTTP-сервер: http://infostart.ru/public/80503

    Reply ↓
  7. vtools
  8. Hrundeel

    Данный сервер дает возможность подключиться только к файловой версии 1С… А как насчет возможности подключения к SQL-версии?

    Reply ↓

Leave a Comment

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