Web клиент к 7.7

Опубликовал gildebrand (gildebrand) в раздел Программирование - Работа с интерфейсом

В качестве примера возможности использования API J1C предлагается демонстрация реализации web-клиента к 7.7

Ссылка на демо-пример: 

В качестве примера возможности использования J1C предлагается демонстрация реализации web-клиента.
Ссылка на демо-пример: http://89.169.100.50/WebJ1C/Login.faces

При реализации были использованы следующие технологии:
J1C
JSF 1.2
RechFaces 3.3 от JBoss
MyFaces 2.0 от Appache
Tomcat 6.0
Демонстрационная база 1С: Комплексная конфигурация (468 релиз)

Реализованный функционал:
Просмотр справочников: Контрагенты, Номенклатура.
Ввод и проведение документа "Поступление ТМЦ".
Просмотр общего журнала.
Просмотр журнала по поставщикам.
Дополнительные справочники, необходимые, для заполнения документа "Поступление ТМЦ" (Единицы, валюты и т.п.).

Из особенности реализации стоит отметить следующее.
Реализация "фейса" и бизнес-логики (например проведение)  и использованием J1C в итоге по количеству кода менее затратно, чем тоже самое в 1С. Это достигается главным образом за счет полиморфизма и наследования. Например, в демонстрации справочник "Номенклатура" и "Контрагенты" - это один и тот же класс. Отличия проявляются только на форме в jsp - какие атрибуты показывать пользователю.
В отличии от существующих решений альтернативного доступа к данным 1С - данное решение отличается тем, что предоставляет возможность проведения документа. При этом разработчику J1C предоставляет необходимый, для этого инструментарий.

См. также

Комментарии
1. dushelov (Душелов) 14.09.10 00:43 Сейчас в теме
2. Misha ⁠ (Magister) 131 14.09.10 01:18 Сейчас в теме
В опере интерфейс практически не работает.
3. Роман Осадченко (cleaner_it) 209 14.09.10 04:46 Сейчас в теме
Супер! Благодаря таким разработкам 1С 7.7 будет на плаву даже после прекращения поддержки 8.2:)
4. Александр Пономарев (Abris9) 22 14.09.10 06:24 Сейчас в теме
5. Антон (anton.fly7) 134 14.09.10 07:57 Сейчас в теме
красиво :) только в хроме тоже не хочет работать ((
6. gavril (gavril) 43 14.09.10 08:10 Сейчас в теме
В IE тоже не особо.
Точнее не особо поработаешь :(
Но как концепт - порадовало.
7. Доржи Цыденов (support) 4405 14.09.10 08:42 Сейчас в теме
Круто! Развивайте проект! Какие сейчас есть сложности в реализации?
8. vek (vek) 66 14.09.10 09:04 Сейчас в теме
Плюс однозначно! Успехов в продолжении!
9. Александр Рытов (Арчибальд) 2655 14.09.10 09:17 Сейчас в теме
С нетерпением жду продолжения ;)
10. Влад Кацманевич (cool.clo) 14.09.10 10:23 Сейчас в теме
11. GSoft. (GSoft) 2765 14.09.10 10:34 Сейчас в теме
12. Oberonm (oberonm) 9 14.09.10 11:22 Сейчас в теме
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.IllegalStateException: duplicate Id for a component j_id_jsp_1894617443_2:j_id_jsp_1894617443_22:header
org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:68)
org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:92)
org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:92)
org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:92)
org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:92)
org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:92)
org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:92)
org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:92)
org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:92)
org.ajax4jsf.application.AjaxStateManager.getTreeStructureToSave(AjaxStateManager.java:189)
org.ajax4jsf.application.AjaxStateManager.buildViewState(AjaxStateManager.java:514)
org.ajax4jsf.application.AjaxStateManager.saveView(AjaxStateManager.java:478)
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:396)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:178)
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:341)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

13. Павел Кучеренко (NCCSOFT) 100 14.09.10 13:04 Сейчас в теме
Веб-клиент подходит для любой конфигурации? Всё же есть плюсы и у веб-клиента, по сравнению с RDP, Cytrix...
14. dushelov (Душелов) 14.09.10 13:31 Сейчас в теме
У меня в опере нормально работает.
15. ValeriTim (ValeriTim) 20 14.09.10 14:03 Сейчас в теме
То, что сделал автор, конечно достойно уважения, но не вижу смысла развивать такой проект далее. В 8.2 уже есть возможность работы через веб интерфейс и ничего особого дописывать для его реализации не надо. Все работает и в файловом варианте и настраивается не сложно.
16. Андрей Лихоманов (lihomanov) 83 14.09.10 14:19 Сейчас в теме
Прикольно! не думал что можно такое реализовать! :D
17. Андрей (Свой) 165 14.09.10 15:21 Сейчас в теме
вот бы еще на ДБФ работало
18. Михаил (ILM) 231 14.09.10 18:57 Сейчас в теме
Может стоить уже сказать 7-ке Rip. Зачем же её мучить-то бедную.
Она напоминает мне больную бабушку в коме, лежит, проводки подведены, что-то в мозгу колышется, а вот встанет или нет, это уже зависит от того дедушки, который рядом с ней. :cry:
19. gildebrand (gildebrand) 144 14.09.10 21:30 Сейчас в теме
(15) Это только пример использования апи J1C. Сама по себе задача делать тонкого клиента не стоит. Если кто захочет его делать - может использовать J1C.
А перед J1C ставится задача сделать полноценное апи, с помощью которого и тонкого клиента можно сделать и различную интеграцию, да мало что еще. Вообщем задача в том, что бы сделать из 7-ки более открытую систему.
20. gildebrand (gildebrand) 144 14.09.10 21:34 Сейчас в теме
(7) Сложности в отсутствии рук ибо задач много. Например надо бы апи под dbf адаптировать, да много еще идей. Так что кто желает присоединиться к проекту - буду рад.
21. gildebrand (gildebrand) 144 15.09.10 03:17 Сейчас в теме
(13) Данный клиент подходит только к комплексной конфе. Но если говорить про само АПИ - то к любой.
22. gildebrand (gildebrand) 144 15.09.10 03:29 Сейчас в теме
(18) Я не хочу вступать в достаточно бесполезный спор на тему что лучше 7 или 8. Но вам отвечу в таком ключе: спасибо, конечно, 1С - подсадила многих на себя, но надо сказать что сделала она это не бескорыстно, проявив на редкость коммерческую прозорливость. Но при этом она перестаралась и сделала "тюремной" жизнь "программистов 1С".
Кто понял о чем говорю молодцы, а кто не понял - забудьте что написал.
23. gildebrand (gildebrand) 144 15.09.10 03:36 Сейчас в теме
(12) Дублирования идентификаторов пока не могу отловить - дело видимо где то в коре JSF. Может есть кто с опытом на JSF тут?
24. gildebrand (gildebrand) 144 15.09.10 03:38 Сейчас в теме
(6) Да, тестилось все под лисой. В других не смотрел. Так что смотрите под "правильным" браузером.
25. ValeriTim (ValeriTim) 20 15.09.10 09:57 Сейчас в теме
(19) бесполезная трата времени ... :(
26. Роман Осадченко (cleaner_it) 209 15.09.10 10:43 Сейчас в теме
(25) Думаю, что ты не прав. OpenConf, 1С++, FormEx и др. - все это направлено на улучшение нашей жизни (программистов). В этом направлении не может быть бесполезной траты времени

PS: Кстати - для 1С 8.2 начал появляться OpenConf:) Читаем Закрытые библиотеки 1С v8. Пока ничего нет... но первый шаг сделан!
27. gildebrand (gildebrand) 144 19.09.10 01:15 Сейчас в теме
(17) Основная "проблема" с дбф версией - пока не нашел подходящего бесплатного драйвера дбф для явы. Драйверов много, но те что приличные - платные, а те что бесплатные имеют свои минусы. По крайней мере, те что бесплатные не поддерживают в явном виде нотацию tsql, так что бы не сильно переделывать встроенный парсер в апи.
28. АНДРЕЙ Фамилия (MegaMouse) 370 19.09.10 13:51 Сейчас в теме
У Меня браузер глючит и я немогу ни один документ(справочник) просмотреть? в смысле редактировать.
Однозначно плюс. Могу присоединится.
29. fastwriter (fastwriter) 6 20.09.10 08:36 Сейчас в теме
За использование технологий Java - однозначно плюс.

Кроме того, альтернативный web-клиент к 1с77 - штука нужная, если вспомнить что навороты 1с8 необходимы не всем, да и ее системные требования и система лицензирования обходятся заметно дороже чем у 77.
30. Юрий Щербаков (ufo58) 159 20.09.10 11:38 Сейчас в теме
прошу простить ... может чего не понял ...
ссылка на раб стол работает ....
плюс однозначно, но ...
а где же собственно "Внешний отчет, обработка"?
31. ilya005 (ilya005) 118 21.09.10 01:55 Сейчас в теме
Красиво, работает, плюс по любому, но очень похоже на изобретение велосипеда,
в 8.2 всё тоже и работает под всеми браузерами и БУДЕТ развиваться за деньги "налогоплательщиков".
Так что как идея - супер, как реальное применение - врядли ;)
32. gildebrand (gildebrand) 144 21.09.10 02:02 Сейчас в теме
(31) Еще раз - это только демо возможности J1C. Как основная же задача J1C - это компенсировать недостатки 7 в интеграционной части, а так же различного рода интеграционных задач. Например, быстрое и эффективное создание вебсервисов, причем как "в", так и "из".
Хотя и можно создавать альтернативный клиент пользователю...
33. Василий Степанов (Кадош) 20.01.12 12:32 Сейчас в теме
ссылка на демо не работает
34. сергей сергей (sergei198821) 32 21.08.14 15:06 Сейчас в теме
А можно по подробнее расказать, о технологии создания Web интерфейса. Мне это очень интересно
35. Art Sem (Art77) 21 03.03.16 14:14 Сейчас в теме
Добрый день. Очень заинтересовала ваша разработка. Как модно посмотреть этот пример?