Удаленное управление 1С



Удаленное управление 1С через браузер c использованием всего трех файлов php. Работает с компьютера, планшета, смартфона. Все сделано в минимальном варианте, так чтобы можно было самим программистам все добавить, изменить.

  Хочу поделиться самым простым удаленным управлением 1С через браузер. Все работает с компьютера, планшета, смартфона. В браузере это выглядит так как на первой картинке.

  Идея пришла на конференции Infostart. Позвонил клиент и попросил добавить в эталонную базу один элемент справочника, всего то код и наименование добавить. Сами как всегда добавлять боятся, работа стоит. А я на легке, у меня только телефон на Android. Сижу слушаю выступление и думаю, ну как же так! На дворе 2013 год, неужели нет ничего простого, Взять сотовый, ввести два-три слова и чтобы где-то что-то добавилось.

  После конференции поискал решение в интернете, что-то простого ничего не нашел. В общем, предлагаю свой вариант решения проблемы. Теперь я могу управлять 1С удаленно даже через 2G на самой медленной скорости.

 Список необходимых файлов (в приложенном архиве):

rm1c.epf — обработка для 1С 8.1 (для 8.2 и 8.3 просто один раз открыть в конфигураторе)
index.html — стартовая страница html
rm1c.php — скрипт php для стартовой страницы, обрабатывает ввод вопроса
rm1c-wait.php — скрипт php, ждет появление ответа от 1С
rm1c-unload.php — скрипт php, нужен для загрузки ответа от 1С на web-сервер.

 Настройка со стороны web-сервера:

Web-сервер должен поддерживать работу php. В наше время это не проблема. Через ftp заходим в корневую папку вашего сайта: public_html или www. Создаем в ней папку, например rm1c-2013-11-16-10-11-13. В эту папку копируем наши 4 файлы (кроме обработки для 1С). Все. Теперь по адресу www.ваш-сайт.ru/rm1c-2013-11-16-10-11-13 должен открыться диалог с вопросом. После того как все будет настроено в 1С, можно начинать задавать вопрос с любого устройства, у которого есть доступ в интернет.

 Настройка со стороны 1С:

В 1С надо запустить обработку rm1c.epf. Затем перейти на закладку ‘Настройка’.
Здесь важно задать ‘Адрес в интернете для управления’, например: www.ваш-сайт.ru/rm1c-2013-11-16-10-11-13 и завести возможные логины пользователей. Все готово для работы, остается только нажать кнопку ‘Пуск’. Все. Переходим в браузер и задаем ваши вопросы к 1С.
Я специально выложил минимальный вариант обработки (никаких созданий справочников, документов). На одном из рисунков к публикации можно посмотреть список рабочих команд. Все остальное может настроить программист 1С для себя сам.

 Безопасность:

Обязательно используйте длинный и сложный ‘Адрес в интернете для управления’.
Также поменяйте внутри обработки переменнную ‘КодДляВыгрузкиНаСайт’. Если Вы ее поменяли, то придеться и подредактировать строку в файле: rm1c-unload.php. Там, где идет проверка «if (md5($addcode)…», надо проставить свой md5 для значения переменной ‘КодДляВыгрузкиНаСайт’.

 Рабочий пример:

 Как это все выглядит, можно посмотреть по адресу http://moolex.ru/rm1c-2013-11-16-10-11-13/index.html . Рабочие логины: Директор, Бухгалтер, Менеджер, Кладовщик. Только просьба, без фанатизма, а то упадет мой сайт:)  И работу данной ссылки в режиме 24/7 я не гарантирую. Самый простой вариант спросить: «сколько денег в кассе». Очень интересный вопрос. Особенно для тех программистов, которые хотят сделать подарок своему руководству на новый год. Уедет ваш Директор на море, и всегда сможет посмотреть сколько денег в кассе:)

Надеюсь обработка поможет программистам 1С в наших рутинных делах. 🙂

P.S. Пример по выгрузке файлов на сайт через http средствами 1С взял здесь: //infostart.ru/public/20017/

P.S.S. Php начал изучать две недели назад, просьба не ругать 🙂

33 Comments

  1. OVladius

    У меня появилась необходимость удаленно получать данные с 1с например как у вас остаток на счете но так же была необходимость добавлять в справочник элементы. Я написал своего рода API в 1с используя Web-сервисы. И теперь с любого устройства у меня есть доступ к 1с.

    Зачем этот весь гемор с php? Или я чего то не догоняю?

    Reply
  2. moolex

    (1) OVladius, а можно пример или ссылку? В самой конфигурации надо что-то настраивать? на телефон надо что-то устанавливать? В данном решении ни на телефон не надо ничего ставить, ни в конфигурации ничего не надо менять.

    Reply
  3. pfihr

    На вэб-сервере делается примитивная страничка с полями запрос-ответ, javascript-ом коннектится на вэб-сервис 1с. Просто, быстро, и не нужно изобретать велосипед 🙂

    Пример js смотри тут http://stackoverflow.com/questions/124269/simplest-soap-example-using-javascript

    Reply
  4. moolex

    (3) pfihr, «вэб-сервис 1с» — вот это ключевое слово в вашем комментарии. «Обязательным условием для публикации является наличие установленного веб-сервера и установленные модули расширения веб-сервера». В моем решении никакого веб-сервиса 1С не нужно, никакого модуля расширения не нужно. И тут еще можно поспорить, кто изобрел велосипед? я или 1С 🙂 Надо быть проще в конечных решениях. Особенно если клиент(владелец бизнеса) просит простой ответ на простой вопрос.

    Конечно можно все по другому сделать, устроить бурную деятельность, главное, чтобы владелец бизнеса видел, что идет непомерно тяжелая работа, требуется куча лицензионного софта, а как же еще отбить бюджет. Знаем мы все это 🙂

    Я не спорю, что есть проекты где без веб-сервера и модулей расширения веб-сервера не обойтись. Но есть и задачи, когда все можно решить проще, и легче.

    Reply
  5. Aleksey.Bochkov
    В моем решении никакого веб-сервиса 1С не нужно, никакого модуля расширения не нужно. И тут еще можно поспорить, кто изобрел велосипед? я или 1С 🙂 Надо быть проще в конечных решениях.

    но в вашем решении есть PHP, и тут уже можно поспорить — что легче: установить на веб-сервер php и правильно его настроить, или одним кликом опубликовать веб-сервисы 1С на веб-сервере.

    Особенно если клиент(владелец бизнеса) просит простой ответ на простой вопрос.

    А простой ли он? Вы знаете как работать с PHP, другие, например, нет. Во сколько встанет сопровождение этого решения для владельца бизнеса, если вы уйдете?

    Конечно можно все по другому сделать, устроить бурную деятельность, главное, чтобы владелец бизнеса видел, что идет непомерно тяжелая работа,

    Веб-сервисы создавать не сложнее, чем писать подобный код на PHP.

    требуется куча лицензионного софта, а как же еще отбить бюджет.

    Схема с веб-сервисами не требует дополнительных лицензий.

    Reply
  6. DrAku1a

    Тут есть в магазине неплохая компонента:

    Библиотека ExpoServer – многопоточный кэширующий веб сервер.

    А по сути разработки — не удобно что надо вводить запросы вручную. Пишешь длинный текст, ошибся в одной букве — не получил результат. Можно же просто забыть формулировку вопроса — и как тогда?

    Reply
  7. Жолтокнижниг

    А можете пояснить как происходит связь php и 1с?

    Reply
  8. Franco

    Может быть, стоит обратить внимание на

    https://link.1c.ru/

    Позволяет подключаться к информационной базе через веб-браузер.

    Доступен для подписчиков ИТС-Техно и ИТС-Проф.

    С другой стороны, положительной стороной Вашего решения является система ‘вопрос-ответ’, что делает его гибким с точки зрения бизнеса — не нужно тратить времени на долгое подключение, выбор, установка параметров и отборов, формирование отчёта — например, по той же кассе всегда можно быстро получить остаток. Возможно, стоит сами вопросы вывести на странице гиперссылками — вначале пользователь авторизуется, затем видит варианты вопросов. Причём каждый — свои: у директора одни, у кладовщика — другие.

    Reply
  9. Franco

    (7) Жолтокнижниг, запуском 1С с обработкой (Путь_К_1С /Execute какой_то_путь
    m1c.epf). Параметры (‘вопрос’),наверное, пишутся в файл на диске, который обработка и читает.

    Reply
  10. AlX0id

    Тащемта, да. К публикации необходимо описание архитектуры решения.

    Reply
  11. webester

    Каждый 1Сник в своей жизни, должен написать либо конф по учету денегзадач либо что то вроде вот такого велосипеда. И он ни в коем случае! не должен обращать внимания на существующие решения. А то это же не 1Сник. Поздравляю со вступлением в ряды 🙂

    Reply
  12. Жолтокнижниг

    (9) Franco, Афигеть оригинал.

    наверное

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

    Reply
  13. OVladius

    (2) Опубликовываете базу на веб сервере, создаете веб сервис добавляете к нему метод пишите код в модуле и добавляете аргументы для метода. На инфостарте есть пример веб сервиса.

    Мне надо было что бы торговые представители у себя на планшете видели кое какие данные, для этого я писал андроид приложение на java.

    Reply
  14. AlX0id

    (13) OVladius, а базу-то зачем публиковать? Веб-сервисов достаточно ж..

    Reply
  15. moolex

    (5) Aleksey.Bochkov,

    установить на веб-сервер php

    — у многих хостеров он по умолчанию идет.

    Вы знаете как работать с PHP, другие, например, нет

    — в данном примере с php вообще работать не надо, надо только скопировать 4 файла. Все добавляем/изменяем в 1С, на языке программирования понятном многим на данном сайте.

    Конечно можно взять идею Franco и доработать ссылки, но это уже другая задача.

    Веб-сервисы создавать не сложнее

    — я купил коробку 1С 8.1 бух однопользовательскую, покажите мне пример организации удаленного доступа, который будет проще этого?

    Reply
  16. script

    Опишите пожалуйста методику применения вашей разработки для задачи обмена заказами и остаками с сайтом.

    Пытаюсь найти практическое применение.

    Reply
  17. a.podobin

    Уважаемые коллеги, автор данной темы не претендует на грандиозность и «мегапохлаву» от Вас.

    Считаю что данная идея имеет место быть как не у Вас, так у других начинающих!

    Данная идея очень не плохая и интересная, ИМХО, по крайней мере мысль есть, которая требует, естественно, допила как и любой типовой функционал, но тут уже дело каждого, кому-то и этого решения достаточно.

    Коллеги, показывая свою высокомерность и предвосхищение перед другими авторами, тем самым Вы убиваете желание выкладывать даже простые решения, которые в свою очередь, возможно, очень важны другим если не пользоваться так просто как идея для более сложного продукта!

    …проходите мимо или сделайте лучше ссылаясь на тему автора.

    Автору РЕСПЕКТ!

    Простите если кого обидел, но наболело!

    Reply
  18. poyson

    Оригинально 🙂 …

    Reply
  19. Franco

    (17) a.podobin, абсолютно согласен.

    Reply
  20. OVladius

    (14) AlX0id, ну, можно убрать галочку «Публиковать тонкий клиент и веб клиент» и будут тогда опубликованы только веб сервисы.

    Reply
  21. Franco

    А как решить вопрос безопасности — сумму остатка в кассе/расчётном счету предлагаете отсылать обычным http. Чтобы поднять https, нужно либо сертификат выкупать, либо пользоваться самоподписанным, либо тунель строить. А без шифрования конкуренты перехватят трафик ‘Директора на море’ и будут знать его финансовое состояние и сколько попросить за его возвращение.

    Reply
  22. wbazil

    когда то решал задачу с остатком для директора немного по другому и на Delphi, 2-3 раза в день остаток просто отправлялся директору, на почту, потом усложнили, и остаток отправлялся когда было изменение, а почту то он может проверить где угодно.

    Автору плюс, решение интересное

    Reply
  23. anchovy

    Согласен, что плюс решения в том, что не нужно доп лицензий и трафик минимальный. Конечно, для автоматизации взимоотношений с клиентами данное решение не годится, но для отправки команд серверу почему бы и нет.

    Reply
  24. Мать Тереза

    Для руководства неплохо-может само посмотреть остатки денег и долги.

    Reply
  25. nikaleks

    Если было бы можно поставил +10, а не +1. Идея отличная! МОЛОДЕЦ.

    За последнее время это лучшая идея, к сожалению появилась тенденция выставлять обработки за реальные деньги, хотя они даже и 100 рублей не стоят.

    (21) Franco, О какой безопасности идёт речь? Автор сразу написал, что выкладывается идея и пример её реализации. Вы можете использовать эту идею и доработать её для своих нужд так, как требуется это Вам. Скажите, а скольких Директоров Вы выкупили с моря?. Функционал обработки не ограничивается в остатке в по кассе, Вы же это понимаете?

    Reply
  26. Franco

    (25) nikaleks,

    Заметьте, я поставил +

    Своим вопросом я НЕ критикую, а просто спрашиваю — как?

    И ещё — ни одного не выкупал. Но если не буду заботится о безопасности — придётся…

    Reply
  27. nikaleks

    (26) Franco, Если рассуждать о безопасности, то от этой обработки вообще нужно будет отказаться, либо переписать модули на PHP, чтоб можно было поднять Https и так далее… на самом деле уже был ответ чуть выше (17) на все поставленные задачи.

    Если Вашей компании нужно защитить так данные, почему не развернуть 1С Web как вариант?

    Поймите, прелесть всего этого заключается в том, что обработка работает достаточно быстро. А если поднять Https, с сертификатами да и ещё можно генерировать СМС сообщения с одноразовыми паролями, то нужная информация будет доставляться курьером почтовой службы уже лично в руки, а не 5-10 секунд, как задумано автором.

    Reply
  28. Dmitrii D

    однозначно в избранное )

    Reply
  29. Stas_Gromov

    так, господа, остановите этот срач не по теме! кто там про безопасность? как ты собрался перехватывать пакеты от «директора на море»?! автор молодец, накидал компактное решение, к тому же быстрореализуемое! не нравится — не пользуйся! вариантов много — можно также запустить на сервере регзадание, которое каждые 30 мин будет генерить отчет по интересующим показателям и слать его на мыло диру, можно генерить такое письмо при каждом чихе юзеров в базе — в общем тут главный ограничитель — фантазия! так что не скулите, просто рассмотрите данный «велосипед» просто как пульт от телевизора, не обсуждая того, что телевизор не поддерживает 3Д, что у него криво работает wi-fi или что для 2х ядер маловато оперативки!

    Reply
  30. laf

    Здорово, +. Побольше бы таких авторов.

    Reply
  31. ogursoft

    Идея отличная, респект автору

    Reply
  32. soap

    Отличная идея простенько и со вкусом всяко +

    Reply
  33. master_yoda

    Автор жжет напалмом……однозначно плюс — молодца…..

    Reply

Leave a Comment

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