Ваша вэб страничка может отправлять и получать данные опубликованной базы 1С, используя HTTP сервис.
Используем для отправки и получения ajax запрос.
Ajax запрос реализован в файле: testajax.html
В примере ajax отправляет GET или POST запрос в базу 1С.
После отправки запроса в 1С, ajax ждет ответ от 1С, при выполнении ajax запроса, на стороне 1С происходит чтение входящих параметров, формируется и отправляется ответ, ajax запрос получает ответ, в примере ответ от 1С это просто текстовая строка, после получения ответа ajax покажет на страничке строку ответа 1С.
Реализация примера сделана на пустой конфигурации, по аналогии вы сможете сделать свои ajax запросы к своим 1С базам.
Делайте все по шагам, и все заработает.
Тестирование производилось на релизе: 8.3.25.1374
Описание разворачивания примера только для Apache!
- Разверните у себя базу из dt файла, база может быть файловая или клиент-серверная, это неважно.
- Опубликуйте HTTP сервис базы.
- Далее перезапустите Apache, убедитесь, что публикация выполнена правильно. Т.е. HTTP сервис работает. В браузере вводим адрес публикации, в примере это: http://localhost/ZuPCorp/hs/teaj (у вас адрес может быть другой). Параметров пока нет, ответ 1С HTTP сервиса будет такой.
Пользователей в базе нет, поэтому вэб сервис 1С не будет запрашивать авторизацию. Пример работы с пользователями рассмотрим позже. - Переходим к html файлу. Откройте файл testajax.html для редактирования, проверьте, совпадает ли адрес вашей публикации из предыдущего пункта, с тем что в файле.
Если не совпадает, отредактируйте, сохраните, закройте файл. Для работы ajax скрипт должен работать в одном пространстве с публикацией 1С (это очень важно! в нашем примере это пространство http://localhost). Для этого необходимо открыть файл через этот же вэб сервис. Копируем файл testajax.html в директорию по умолчанию Apache, у меня это "c:\Apache24\htdocs\", у вас может быть другая.
Проверяем, в браузере по адресу http://localhost/testajax.html должен быть такой результат:
- Все готово для работы ajax, пробуем магию ajax: нажимаем кнопку "Отправить GET в 1С". Скрипт отправит GET запрос в публикацию 1С, пока запрос выполняется и скрипт ждет ответ от 1С, пользователь видит динамическое колесико.
В журнале регистраций 1С выполняется запись входящего запроса.
В ответ 1С отправляет строковый ответ. Результат ответа будет показан:
Аналогично работает и POST запрос. В 1С запись журнала регистраций будет выглядеть так:
Результат ответа 1С:
Если есть в базе 1С пользователи.
Для проверки работоспособности, в конфигурации добавляем пользователя. Для этого добавляем роль с правами Администратора (не забываем поставить галки на использование нашего HTTP сервиса), сохраняем конфигурацию. Создаем пользователя Админ, пароль 1
Предлагаю 2 решения:
- Прописываем пользователя и пароль в файле настройки публикации. Файл находится в каталоге публикации базы, в нашем случае это каталог C:\1C_Web\ZuP_Corp\
Открываем файл default.vrd для редактирования и добавляем пользователя и пароль.
Слева до изменения, справа добавлена строка с пользователем и паролем.
usr="Админ";pwd="1";
- Второй способ: Прописываем пользователя и пароль в ajax скрипт, в метод open
request.open("GET", Publication1С, '', "Админ", "1");
request.open("POST", Publication1С, '', "Админ", "1");