Разработка CMS на платформе 1С 8 (Демо-база доступна для скачивания)

25.09.14

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

О возможностях и способах интеграции 1С с CMS системами написано много. На практике используется даже автоматическая генерация частей или целых html-старниц для интеграции с сайтами. В данном примере описывается возможность создания CMS на базе платформы 1С.

Скачать файлы

Наименование Файл Версия Размер
site_cms_test.dt
.dt 447,73Kb
59
.dt 1.0 447,73Kb 59 Скачать

Причем в данном виде система может использоваться как самостоятельная CMS для сайта-визитки со статичными html-страницами, так и в виде подсистемы в составе некой конфигурации для реализации публикации данных в веб опять же либо в виде самостоятельного сайта, либо в составе более крупного решения. В статье приведен демо-пример работы CMS, а так же доступна демо-база(под платформу 8.3.5).

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

 

UPD. Демо-база доступна для скачивания. Конфигурация доработана под платформу 8.3.5 с использованием HTTP-сервисов. Вся логика работы остается аналогична использованию Web-сервисов, но упрощается использование - отпадает необходимость в использовании дополнительных костылей/точек входа/внешних сайтов. Для управления контентом "сайта" используем режим предприятия для входа в базу. Для входа на "сайт" достаточно просто опубликовать HTTP-сервис "engineHTTP" демо-базы, и выполнить вызов вида http://myserver/site_cms_test/hs/engineHTTP/, где myserver - имя вашего веб-сервера; site_cms_test - имя публикации; hs/engineHTTP - собственно вызов самого опубликованного HTTP-сервиса.


Ниже приводится общая схема работы системы (в демо базе реализовано через использования HTTP-сервисов).

Схема

Браузер отправляет запрос на опубликованный в IIS HTTP-сервис, который возвращает содержимое необходимого ресурса- html-страницы, CSS, скрипта или картинки. Получив запрос HTTP-сервис анализирует его и возвращает содержимое запрашиваемого контента.

В самой CMS реализованы объекты, описывающие структуру сайта, а так же отдельные его элементы: страницы, картинки, скрипты, стили.

Дерево сайта

Дерево сайта описывает структуру каталогов и элементов сайта. Каждый элемент дерева сайта содержит ссылку на целевой объект - страницу, картинку, скрипт или стиль. Все ссылки отображаемого сайта интерпретируются относительно корневого элемента.

При ответе CMS возвращает "содержимое" объекта из элемента дерева сайта в зависимости от типа. Н-ер: для типа "Страница" будет возвращен html-код страницы.

Описание страницы сайта

Объекты "Страницы" содержат полный текст целевой html-страницы. При желании можно реализовать механизм некой генерации страниц, когда она будет "собираться" из header'а, foot'ера и тела самой страницы. В данном случае исследовалась общая технология разработки подобной системы, поэтому код страницы задается целиком и жестко, но в рамках интеграции с конкретной учетной конфигурацией можно реализовать констуркторы динамической генерации контента. Релизованы несколько обязательных страниц: default - главная страница сайта; error 404 - страница с ошибкой. Технология использования точно такая же как у прочих объектов: создается элемент дерева сайта со ссылкой на нужный объект "Страница", а затем в коде html-страницы указывается ссылка на элемент дерева относительно корневого элемента.

 

Описание картинки

"Картинки" представляют собой отдельные объекты системы, в которые собственно внешние картинки и загружаются. Технология использования точно такая же как у прочих объектов: создается элемент дерева сайта со ссылкой на нужный объект "Картинка", а затем в коде html-страницы указывается ссылка на элемент дерева относительно корневого элемента.

 

Описание скриптов

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

 

Описание стилей

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

 

Что же мы получаем в итоге? Вполне работающий сайт с активными ссылками и возможностью управлять его структурой и содержанием. На перспективу можно обдумать механизмы скачивания данных с сайта и публикацию видео. Размечтался, да? :)

Главная страница

 

Страница новостей 

Страница не найдена

 

Небольшая демка по работе системы

демо

content management system cms site web веб 1c http http-сервис

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

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

36000 руб.

03.08.2020    15745    10    17    

11

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17548    6    15    

13

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16359    42    49    

23

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25741    9    0    

7

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 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

2400 руб.

28.04.2016    88579    160    215    

318
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. DitriX 2091 28.04.14 14:12 Сейчас в теме
Чето не понял - это вы типо интерфейс клиента 1С изменили, или просто передаете стили на левый сайт?
2. Lars Ulrich 614 28.04.14 16:49 Сейчас в теме
(1) это не публикация веб-клиента с измененным интерфейсом, а сайт, весь контент которого (структура, страницы, стили, картинки, скрипты) хранится в базе 1С.
3. AllexSoft 28.04.14 16:53 Сейчас в теме
а где скачать конфу? вообще идея мне нравится...
10. Lars Ulrich 614 30.04.14 12:11 Сейчас в теме
(3)(8)(7)(9)коллеги, ни раздача конфигурации, ни ее публикация для тестирования пока, к сожалению, не предполагается. На данный момент могу предоставить только информацию "описательного" характера. Прошу изучить небольшую схему и gif-демку работы системы, которые дополнительно прикрепил к публикации.

(4) база 1С - это по сути CSM, в которой весь контент и редактируется, хоть пока и достаточно "плоско". В gif-демке работы системы, которую дополнительно прикрепил к публикации есть пример.
4. bashinsky 133 29.04.14 10:09 Сейчас в теме
А весь этот контент извлекается из 1с или же 1с является только редактором?
5. rhtr 90 30.04.14 07:27 Сейчас в теме
Давно думаю об этом. Спасибо, за статью.
6. amon_ra 54 30.04.14 09:20 Сейчас в теме
А если бы еще встроенный редактор, то вообще цены бы не было сей системе! :) Но все-таки скуднова-то статья изложена, хочется подробностей побольше.
7. soap 65 30.04.14 09:30 Сейчас в теме
Если это конфигурация для работы с сайтами то в студию, а так малоинформативно.
borman; amon_ra; +2 Ответить
8. amon_ra 54 30.04.14 09:31 Сейчас в теме
Еще хотелось бы адрес сайта где все это тестировалось, если он, конечно, публичный, а не поднят денвером. :)
9. Zhilyakovdr 142 30.04.14 09:53 Сейчас в теме
Хотелось бы больше технической информации и наличие БД с примером изложенным в статье.
11. Aleksey.Bochkov 3660 30.04.14 23:13 Сейчас в теме
Браузер отправляет запрос на опубликованный в IIS сайт-пустышку (точка входа/выхода). Сам по себе сай-пустышка не делает практически ничего, являясь неким буфером между браузером и веб-сервисом 1С. Он нужен для перенаправления всех запросов браузера на опубликованный из базы 1С веб-сервис, а так же отправки ответа в обратную сторону. В точке входа выпоняется минимальный анализ запросов браузера для разделения их на запросы страниц, изображений, стилей и скриптов, и вызова соответствующих методов веб-сервиса 1С.

Реализуемые платформой 1С веб-сервис не выдают браузеру "чистый" html-код страницы, т.к. ответ выдается в виде SOAP-пакета. Опубликованный на IIS сайт-пустышка выделяет это самое "полезного" содержимого из ответа сервиса.

Получив запрос веб-сервис анализирует его и возвращает содержимое запрашиваемого контента. Весь конткент возвращается браузеру в строковом представлении: страницы, скрипты, стили в виде кода, изображения в виде строки base64.


Было бы неплохо технологию описать в нормальном виде.
Мне, например, не совсем очевидно как без прослоек отдавать браузеру HTML через web-сервис. При этом надо ведь выдавать правильные ссылки на доп.ресурсы, которые, судя по схеме, хранятся только в базе.
Без этого статья похожа на предварительную рекламу продукта :).
19. Lars Ulrich 614 05.05.14 10:30 Сейчас в теме
(11)(12) на рекламу не претендуем, а просто обозначаем направление, которое кому-то может пригодиться :) хотя, чего скрывать, было бы интересно узнать востребованность подобного решения.

(13)(14) на Инфостарте можно найти достаточное количество публикаций, к которым применим вопрос "зачем?", тем не менее идеи используются.

(16) как верно уже отмечено в (18) лицензия съедается только в момент отработки запроса сервисом, а затем освобождается, так что количество лицензий потребуется рассчитывать исходя из потенциального одномоментного количества обращений. в любом случае, безусловно, это не решение для большого публичного сайта. скорее, как опять же верно заметил majmyl, для корпоративных нужд.

2ALL FYI приведенный в публикации демо-пример работает на следующей инфраструктуре: IIS точки входа и рабочая станция, с которой выполняется обращение к сайту, в одной локальной сети в Москве; IIS сервиса 1С + сервер 1С, сервер SQL - в ЦОДе в Германии (все сервера боевые, под рабочей нагрузкой); время загрузки страницы при серфинге по сайту около секунды.
adhocprog; +1 Ответить
12. webester 26 01.05.14 09:44 Сейчас в теме
Смотрите как я умею. Подробностей не будет, кода тоже... просто хвастаюсь.
Strannik777; cleaner_it; inesik; shalimski; qwinter; +5 Ответить
13. ksuman 17 01.05.14 13:07 Сейчас в теме
Как демонстрационный наглядный пример - показательно. Но на практике, в сайтах должна присутствовать автономность. И вообще не представляю как тормозная, начиная с версии 8.3, платформа реально может быть движком сайта. Есть много отлаженных и оптимизированных по производительности движков сайтов. Стоит ли тратить время на бесполезную работу.
Советую вам на данном этапе остановиться и переключиться на практические задачи.
DrAku1a; bovka; omut; +3 Ответить
14. SourceMan 01.05.14 22:16 Сейчас в теме
Это жестоко! Зачем делать из 1С то, для чего она совсем не предназначена? Что будет с таким сайтом - когда в онлайне будет 100 посетителей?
15. orefkov 1152 02.05.14 22:15 Сейчас в теме
При желании, конечно, можно и зайчика научить курить, но будет ли от этого ему польза или удовольствие?
DrAku1a; Steelvan; Aleksey.Bochkov; +3 Ответить
17. AlexandrIII 03.05.14 09:01 Сейчас в теме
(15) orefkov, А это будет в последней серии "Ну погоди!" :)
16. ivanov660 4330 02.05.14 22:51 Сейчас в теме
Не вижу смысла создавать веб сайты на 1С. Учтем, что при использовании 1С через веб на одно соединение требуется 1 лицензия. Теперь прикинем нагрузку среднего сайта, то получим большое число соединений и соответственно лицензий.
18. majmyl 255 04.05.14 21:41 Сейчас в теме
(16) ivanov660, это очень интересная метода. Во первых при ws соединениях клиент потребляет лицензию только при получении данных, а потом сразу отваливается. Во вторых, возможно создавать веб сайты на 1С не очень разумно (во всяком случае пока), но зато можно на корпоративном сайте сделать страничку, который будет получать прайс лист из 1С в онлайне или любую другую информацию.
Puk2; adhocprog; +2 Ответить
20. Makushimo 160 07.05.14 12:44 Сейчас в теме
Круто.
жаль. нечего скачать и поковыряться.
21. vano-ekt 123 30.05.14 09:44 Сейчас в теме
да нечего таv ковырятся... а с выходом http-сервисов в платформе и вэбсервер - лишнее звено :)
генератор аштиэмэль какой-то) где пользователи? где управление модулями и правами? какая это cms?)
22. kotlovD 87 03.06.14 09:48 Сейчас в теме
Нормальная тема! Зрите в корень - можно автоматом генерить html-страницы на основе данных из 1С-ки, пусть и статичные, но для описания карточки товара этого вполне достаточно. И про какую нагрузку на сайт Вы говорите??? Это же тупо html. Схема работы такая: сгенерил страницы - выгрузил по ftp на сайт и никаких обменов. Плюсую...
23. erus88 50 05.07.14 07:38 Сейчас в теме
Крутая идея, особенно если если на основе сделать интернет магазин. тогда все конкуренты будут курить в сторонке.
так как все учет будет вестись в Ске.
24. koka 87 03.09.14 15:20 Сейчас в теме
Поддерживаю идею. Это будет круто для небольших интернет-магазинов.
25. bashinsky 133 26.09.14 10:40 Сейчас в теме
А где имя пользователя, пароль? Базу дал, а список пользователей при запуске скрыт.
26. Lars Ulrich 614 26.09.14 11:11 Сейчас в теме
(25) Упс, пардон. Базу в публикацию перезалил.
27. serge_focus 4 07.12.14 12:35 Сейчас в теме
CSM на базе 1С - идея конечно прекрасная. И рынок у подобной CSM за счет интернет-магазинов огромнейший.
Но есть масса НО...
Главное но это производительность Web-сервисов 1С. Поэтому коммерческий охват этого рынка будет возможен только кардинальной переработки работы с Web-сервисами платформы 1С.
Конечно в платформе 8.3.5 в этом направлении сделано много. Но пока еще недостаточно.
28. CagoBHuK 32 28.12.19 14:16 Сейчас в теме
Статические данные хранить бессмысленно. А как насчет хранения динамических данных в базе: новостей, форума и так далее?
29. Lars Ulrich 614 30.12.19 10:03 Сейчас в теме
(28) Может я не понял вопроса, но выглядит, что нет ограничений на динамический контент. Конечно не все форматы будет удобно или вообще возможно реализовать, но при желании можно и SSR сделать.

п.с. прям коммент из прошлого :) в хорошем смысле. с наступающим!
Оставьте свое сообщение