Автоматическая генерация Web-интерфейса с использованием http-сервисов

03.01.16

Интеграция - WEB-интеграция

Пример автоматической генерации Web-интерфейса с использованием http-сервисов.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
uni
.zip 323,60Kb ver:1.0
77 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Вводная

Данная публикация является своеобразным proof-of-concept, т.е. доказательством осуществимости того, что можно полностью генерировать веб-интерфейс сопоставимый по качеству с современными вэб-сайтами, а не тем стандартным интерфейсом, который предоставляет нам 1С из коробки в виде вэб-клиента.

Это не полнофункциональный интерфейс. Демонстрируется только возможность перехода по спискам, открытия ссылочных объектов и записи. Следует рассматривать данную публикацию именно с позиции "демонстрации возможностей", т.е. если возможно это, то можно реализовать и все остальное.

Зачем мне это, если есть стандартный 1С веб-интерфейс? 

Немного хочу пояснить для тех, кто в комментариях задает подобные вопросы. Данная публикация своего рода мое виденье того, каким должен быть интерфейс 1С именно в Web. И хотя до практического применения его далеко, этой публикацией я скорее хотел бы подтолкнуть сообщество на обсуждение того, какой мы видим веб-интерфейс 1С в будущем.

Некоторый говорят про мифический «user-experience». Так вот, у каждой платформы – свой user-experience. Если вы работаете в веб – вы ожидаете видеть интерфейсы примерно похожие на те, что есть в веб. В качестве примера можно показать мобильное приложение от того же 1С. Оно как минимум напоминает мобильные приложения. Стандартное же веб приложение от 1С напоминает 1С засунутое в браузер включая заголовок и все его меню "файл..." и прочее, чего никогда не увидишь в интернете.

Принцип работы

Поскольку 1С не дает нам возможности получить состав командного интерфейса программным образом, то мы просто бежим по корневым подсистемам и берем только те, у которых стоит «Включать в командный интерфейс». Далее бежим по составу данных подсистем рекурсивно и выбираем те объекты, у которых стоит «Использовать стандартные команды». Таким образом получаем стартовое меню.

Реквизиты объектов собираются обходом по списку Метаданные.<Менеджер>.Реквизиты

Можно, конечно, и по хорошему нужно выгружать метаданные в файлы и анализировать уже их, но это тема отдельной статьи.

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

Ограничения

Http-сервисы появились только в 8.3.4. Так что требуется платформа не ниже 8.3.4.

В разработке используется функция «СтрШаблон», которая доступны только в версии 8.3.5. Если нужно запустить на более ранней версии 1С, в модуле «UNI_Глобальный», следует переименовать функцию СтрШаблон_8_3_5() в СтрШаблон() – она полностью эмулирует действие функции из 8.3.5.

Состав

  • uni.cf: собственно подсистема.
  • Каталоги «css», «js», «fonts» - взяты из последней версии bootstrap фреймворка.

Свои стили и скрипты находятся в custom.css и custom.js файлах соответственно.

Установка

1. 1C: загружаете подсистему «UNI» в вашу конфигурацию.

2. Публикация:

    2.1. Если публикуете на IIS: публикуем базу. Размещаем каталоги «css», «js», «fonts» в каталоге публикации (внутри каталогов уже лежат файлы настроек web.config, чтобы IIS корректно понимал static-файлы).

    2.2. Если публикуете на Apache: публикуем базу. Например в каталог «C:\web\demo». Далее создаете каталог «demo_static» - сюда складываете каталоги «css», «js» и «fonts». Теперь надо в файле настроек apache указать пути к данным каталогам. Получим следующее:

Alias "/demo/fonts" "C:/Web/demo_static/fonts/"
<Directory "C:/Web/demo_static/fonts/">
    Order allow,deny
    Allow from all
</Directory>

Alias "/demo/js" "C:/Web/demo_static/js/"
<Directory "C:/Web/demo_static/js/">
    Order allow,deny
    Allow from all
</Directory>

Alias "/demo/css" "C:/Web/demo_static/css/"
<Directory "C:/Web/demo_static/css/">
    Order allow,deny
    Allow from all
</Directory>

# 1c publication
Alias "/demo" "C:/Web/demo/"
<Directory "C:/Web/demo/">
    AllowOverride All
    Options None
    Order allow,deny
    Allow from all
    SetHandler 1c-application
    ManagedApplicationDescriptor "C:/Web/demo/default.vrd"
</Directory>

3. В модуле HTTP-сервиса «uni» необходимо указать имя публикации. Функция «ПолучитьБазовыйURL()», установите значение переменной «ИмяПубликации» - то, каким именем вы опубликовали базу.

4. Перезапускаем IIS/Apache.

5. Вводим в адресной строке «http://localhost/<Имя публикации>/hs/uni/». Важно, чтобы на конце был слеш «/»!

Вступайте в нашу телеграмм-группу Инфостарт

http-сервис web web-интерграция универсальный интерфейс

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    24214    37    24    

28

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    22908    68    52    

43

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    6167    27    4    

29

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    42968    76    45    

31

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять информацию о товарах в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически формирует файлы yml для дальнейшей загрузки в группы в ВК. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    2660    7    6    

8

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

5283 руб.

28.04.2016    100989    120    219    

368
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. a.baturskiy_2015 04.01.16 08:07 Сейчас в теме
Старик, а что тут остается от 1С? Для чего она? :)
(не риторический вопрос)
2. starik-2005 3268 04.01.16 12:17 Сейчас в теме
(1) a.baturskiy_2015, походу она тут типа как среда, содержащая бизнес-логику. Я бы, например, не стал делать интернет-магазин на 1С - дорого, тормозно, излишне пафосно. А вот битрикс для этого с горем пополам мог бы подойти. Но, конечно, лучше чего-нибудь более серьезное для этого использовать.
3. BurningChrome 211 04.01.16 12:55 Сейчас в теме
(1) a.baturskiy_2015, Вся логика пишется на 1С. Web - это только фасад.
maksa2005; +1 Ответить
4. Evil Beaver 8405 04.01.16 15:55 Сейчас в теме
При всем уважении, поделка получилась у вас, а не у 1С. Стандартный веб-интерфейс 1С решает ровно то, для чего он сделан - предоставляет вам веб-доступ к приложению, которое вы написали. Дает вам примерно одинаковый user-experience как на локальном доступе, так и через веб. Если вы хотите написать сайт на 1С и возмущаетесь, что интерфейс не гибкий, то, извините, вы где-то не там ищете решение и не теми инструментами пользуетесь.
maksa2005; suepifanov; hairman; sorb; Ali1976; Irwin; DrAku1a; CSiER; alest; JohnyDeath; cool.vlad4; PrinzOfMunchen; webester; orfos; nbelyaev; +15 Ответить
5. BurningChrome 211 04.01.16 21:12 Сейчас в теме
(4) Evil Beaver, а я и не говорил, что это законченный продукт. Более того, в самом первом абзаце сказано что это всего лишь "proof-of-concept", т.е. именно демонстрация возможностей.
1С дали нам http-сервисы и это одно из возможных их применений. На здешнем инфостарте есть примеры даже cms написанные на 1С. Или они тоже «не теми инструментами пользуются»?
6. cool.vlad4 2 06.01.16 05:30 Сейчас в теме
(5) а он не писал ничего про законченность вашего продукта. он придрался и по делу придрался к вашей необоснованной претензии к 1С в части
а не той поделкой, что дает нам 1С из коробки в виде вэб-клиента.

довольно неумная фраза. (во всем остальном норм. ) с какого 1С должна что-то из коробки предоставлять, чтобы это не было поделкой для каких-то задач BurningChrome?
Evil Beaver; DrAku1a; +2 Ответить
13. kiruha 389 11.01.16 11:39 Сейчас в теме
(4) Evil Beaver, прошу прощения - но судя по Вашим публикациям - все + и - стандартного интерфейса хорошо знаете.
Автор далеко не первый и не последний , кто начала использовать js и Http-сервисы, и данное направление набирает достаточно большую аудиторию (судя по этим публикациям ).
Поэтому удивительны вопросы к автору типа - чем не устраивает стандартный веб интерфейс и т.п. да еще по 10 "плюсов". Автору большое спасибо !
15. Evil Beaver 8405 12.01.16 01:42 Сейчас в теме
(13) kiruha, я не про плюсы и минусы, я про презрительно брошенное: "поделка, которую 1С нам подсовывает"
17. kiruha 389 12.01.16 10:03 Сейчас в теме
(15)
Да, спасибо - сразу не понял, согласен - вообще разные задачи.
Я http сервисы хочу для клиентов и удаленщиков сделать - посмотреть конкретный заказ или договор, без доступа в базу.
7. baloo 06.01.16 08:55 Сейчас в теме
Логичнее выглядело бы если бы вы открыли Odata интерфейс и использовали бэк 1С строго как модель в терминах MVC, а всё остальное решали уже на js, возможно с какой то прослойкой.
8. BurningChrome 211 06.01.16 12:01 Сейчас в теме
(7) baloo, я не знаю js. Преимущество данного подхода как раз и заключается что нужно минимум знаний в html, все можно написать на 1С. Вам не нужно содержать дополнительного веб-разработчика если у вас есть программисты 1С. А js+прослойка получится "переписать 1C". Цель не в этом.
9. Vladimir_Konyrev 267 06.01.16 16:17 Сейчас в теме
Когда данный метод можно и нужно использовать? Что он дает, быстродействие, красоту, совместимость или еще что-то?

Непонятно зачем мне это, если сейчас я и так пишу конфигурации на УФ и они полностью работают через браузер.
Думаю автору стоило бы больше уделить внимание раскрытию применимости своего решения/метода, пояснить плюсы.
ixijixi; cleaner_it; +2 Ответить
10. BurningChrome 211 07.01.16 12:00 Сейчас в теме
(9) Vladimir_Konyrev, Если вас устраивает веб-интерфейс от 1С, то действительно, вам это не зачем.
12. DrAku1a 1795 11.01.16 05:55 Сейчас в теме
(10) А чем конкретно Вас не устраивает веб-интерфейс 1С?
Mortiferus; +1 Ответить
19. user1011815 7 26.09.20 19:55 Сейчас в теме
(12) Самый главный недостаток - он не адаптивный. Для БП и ЗУП это не важно, а вот для логистики и торговли с зоопарком мобильных девайсов - это большая проблема. Ну и с точки зрения дизайна, он ужасен, однозначно.
11. Vladimir_Konyrev 267 09.01.16 23:47 Сейчас в теме
Думаю ответы на ранее заданные мною вопросы: "Когда данный метод можно и нужно использовать? Что он дает, быстродействие, красоту, совместимость или еще что-то?" дадут большее представление о том, что Вы предлагаете.
14. BurningChrome 211 11.01.16 21:01 Сейчас в теме
Добавил блок "Зачем мне это, если есть стандартный 1С веб-интерфейс?". Это для всех, кто задает подобные вопросы.
16. DrAku1a 1795 12.01.16 02:29 Сейчас в теме
(14) BurningChrome, поймите правильно: я не критикую саму работу - она отличная и уверен - нужная!

Но в контексте претензий к 1С - считаю, Вы не правы. С точки зрения пользователя - гораздо удобнее видеть примерно одинаковый интерфейс в веб-клиенте и тонком/толстом клиенте. Что и обеспечивает платформа 1С.
В остальном - повторю Evil Beaver:
Если вы хотите написать сайт на 1С и возмущаетесь, что интерфейс не гибкий, то, извините, вы где-то не там ищете решение и не теми инструментами пользуетесь.


И ещё раз о самой работе: лично я - файл скачал, обязательно буду его изучать и скорее всего, почерпну для себя что-то новое.
18. serko8547 114 26.08.16 17:08 Сейчас в теме
Ув. Автор, прошу Вас поделиться опытом:
Я начал использовать http-сервисами недавно, и напоролся на такую проблему: Если в 1с завести пользователя - то мне ответ на любой Get или post запрос приходит Ошибка 401 (не авторизован). Как быть?
Был бы Вам очень благодарен, если Вы подскажете, как решить сию проблему )
20. 1cembreg 25 18.06.21 17:59 Сейчас в теме
Добрый день. Несколько лет прошло, идея получила какое-нибудь развитие? Ищу как раз сейчас прослойку, которая создаст нужные формы с привычными контролами, но на 1С будет совсем не похожа (в основном, рассчитана на иностранного пользователя), но так как у меня у самого знаний js и т.д. околонулевый, ваш вариант меня заинтересовал
Для отправки сообщения требуется регистрация/авторизация