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:20245
4. В поле ввода можно либо вводить, либо сканировать клавиатурным сканером код карты сотрудника (в базе есть коды с 1 по 4, 0000000000001), при этом в 1С будет зарегистрирован вход или выход сотрудника.
5. В 1С под пользователем «Директор» можно увидеть графики работы сотрудников.

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

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

http://127.0.0.1:20245/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 не будет опубликован. Обязательные поля помечены *