Способы построение богатого пользовательского интерфейса на управляемых формах 1С
Данный обзор появился в рамках стартапа «Проект Доминикана» и является своеобразным отчетом о проделанной работе перед сообществом 1С.
Управляемые формы закономерно появились в 1С 8.2 с ориентацией на клиент-серверное выполнение. В клиент-серверном подходе происходит четкое разделение выполнения кода на стороне клиента, на стороне сервера и появляются механизмы обмена данными, минимизирующие трафик. С большинством повседневных задач управляемые формы от 1С справляются. Но остаются более специфические задачи, где возможностей родных средств 1С недостаточно. Происходит потеря функциональности по сравнению с неуправляемыми формами. В первую очередь это касается гибкости в настройке интерфейса и добавлении самописных элементов управления.
Недостатки в гибкости настройки интерфейса проявляются, например, в таких деталях, как невозможность развернуть форму на весь экран (http://forum.infostart.ru/forum14/topic67251/ ), невозможность управлять шириной колонки в таблице (http://forum.infostart.ru/forum26/topic48604/ ), невозможность управлять шириной бордюра-отступа между элементами и т.д.
Можно ли воспользоваться другими средствами построения пользовательского интерфейса, отличного от управляемых форм 1С? Да, можно. Ниже перечислены альтернативы. Все альтернативы основаны на html, который запускается внутри Поле HTML документа. Упор сделан на технологии, интегрируемые внутрь 1С. Существуют принципиально отличные технологии, например, написание собственного клиента с доступом к 1С через веб-сервисы, но такие подходы здесь не рассматриваются.
[more]
Active X
Проще всего начать с Active X – это хорошо известный всем по неуправляемым формам способ. Поддержка Active X снята в управляемых формах, но обходной способ запуска остался. Запуск производится через веб-браузер. Способ подключения описан здесь http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=557408
У Active X, на мой взгляд, больше всего недостатков среди всех способов:
1. Процесс создания (примеры от Microsoft на VC++) чрезмерно трудоемкий. Намного проще создать Windows Forms приложение.Net в режиме совместимости с ActiveX (это следующий способ).
2. Потребность в установке дополнительных компонентов на стороне клиента, например, VC++ runtime, ATL. Можно ATL/MFC статически присоединить к библиотеке, но размер ocx/dll увеличится значительно.
3. Жесткая привязка к Windows и IE. Технология от Microsoft, поэтому на Linux работать не будет, использование веб-клиента ограничено IE.
4. Особые требования по настройке безопасности в веб-браузере. Просто так на веб-клиенте ActiveX запустить не получится.
.Net framework (WPF или WinForms)
.Net framework содержит самые мощные средства визуализации вплоть до поддержки 3д и DirectX. Разработка происходит в разы быстрее, чем разработка компонентов ActiveX на VC++. Несмотря на то, что у технологии есть противники, многие ведущие разработчики 1С активно пользуются фреймворком, например, Инталев.
Способ подключения к 1С WinForms-компонентов через Active X описан здесь
//infostart.ru/public/61064/
Способ подключения WPF через HwndHost и .Net Bridge можно найти в декабрьском номере журнала MSDeveloper за 2011 год, а примеры обработок скачать здесь:
http://www.richmedia.us/post/2011/12/28/1c-ms-charts-msdeveloper.aspx
Использование .Net framework 4 перспективно, например, для создания диаграмм, которые превосходят диаграммы 1С. По другим возможностям WPF/WinForms сравнивать не приходится: анимации, градиентов, 3д, DirectX в 1С нет.
Например, такая диаграмма-воронка из .Net 4 используется в Microsoft Dynamics CRM.
Для сравнения такие воронки в 1С:
Биржевая диаграмма средствами .Net,
ниже сравнение из 1С
.Net framework имеет смысл использовать для создания сложных графических или инженерных приложений. Например, .Net хорошо проявил себя в 1С-приложении моделирования производства окон.
Недостатки использования .Net framework аналогичны недостаткам Active X, за исключением того, что WPF/WinForms приложения и быстрее создавать, чем Active X.
Rich Internet Application
Современное «насыщенное» Интернет-приложение строится на основе Silverlight, Adobe Flash или HTML5. HTML5 применительно к 1С вычеркиваем: тонкий клиент 1С использует IE7, а поддержка HTML5 началась с IE9. Silverlight намеренно выставлен вперед, так как этот плагин сочетается с .Net framework – способом, описанном выше. По сути Silverlight – это урезанный .Net framework c WPF-интерфейсом, встроенный в браузер.
Подключение к 1С на примере Silverlight подробно описано в статье
http://1clancer.ru/article/vstraivaem_silverlight-prilozhenie_v_lyubuyu_formu_1s_predpriyatie_800
Важной особенностью Silverlight является то обстоятельство, что в тонком и веб-клиенте интерфейс выглядит идентично. Эта ценность станет особенно заметной при рассмотрении следующего способа HTML+JS. Вторая положительная черта – меньшая требовательность к настройкам безопасности браузера и поддержка не только IE-браузеров. Ниже скриншоты экранов для тонкого клиента и веб-клиента (Google Chrome): открывается страница с демонстрационным CRM-приложением: http://demos.telerik.com/silverlight/crm/
Для Flash аналогично, можно сделать обработку с показом ссылки http://www.asual.com/enflash/demos/xml.html
Метод хорош еще тем, что в большинстве случаев требуется только один файл-контейнер, в который скомпилированы ресурсы. Могут быть сложности с поиском подходящих элементов управления, некоторые из которых могут быть коммерческими.
HTML + JS
Стандартный метод (HTML) для типовых конфигураций 1С. Хорош, когда требуется разместить простейшие html-элементы управления (кнопки, надписи). Если проект усложняется, форматирование становится сложно управляемым из-за противоречия между современными браузерами в веб-клиенте 1С и древним IE6/7 в тонком клиенте. Как следствие появляются разные нехорошие эффекты.
Так должно было быть для страницы http://maninblack.info/_proj/jquery-ui-ribbon/demos/ribbon/
Так получилось в тонком клиенте:
Так должно было быть для страницы http://demos.kendoui.com/websushi/#/menu/1
Так получилось в тонком клиенте
Выводы
Основные сравнительные характеристики выведены в таблицу. Победители по каждой обозначены цветом. Цвет показывает, что победителями стали HTML+JS (что ожидаемо по типовым конфигурациям) и RIA.
Active X | .Net framework | RIA | Html+JS | |
Сложность разработки | Сложная | Средняя | Средняя | Простая |
Совместимость с Linux простого проекта | Нет | Нет | Да | Да |
Совместимость с Liunx сложного проекта* | Нет | Нет | Нет | Нет |
Для веб-клиента требуется IE | Да | Да | Нет | Нет |
Необходимость установки у клиента дополнительных компонентов | Да, без статической линковки | Да | Да (в большинстве случаев Flash установлен) | Нет |
Требования к особой настройке безопасности | Да | Да | Нет | Нет |
Одинаковый вид в тонком и веб-клиенте простого проекта | Да | Да | Да | Да |
Одинаковый вид в тонком и веб-клиенте сложного проекта | Да | Да | Да | Нет |
Число отдельных файлов в проекте | Малое, ocx-файл | Малое, dll-сборка | Малое, xap/swf-контейнер | Большое, отдельные файлы рисунков, js, css |
* На сложных проектах, когда идет взаимный обмен данными между 1С и интерфейсом использование на Linux затруднительно. В большинстве подходов по интеграции используется Windows-элемент управления WebBrowser Control.
В интерфейсе рекомендуется в большинстве случаев использовать родные элементы управления 1С. Сторонними средствами, например, сложно заменить таблицу 1C, источником которой может быть огромный массив данных. 1С в таком случае сама заботится о подгрузке с сервера только отображаемых записей, минимизируя трафик. СКД от 1С получилась тоже весьма достойной использования на формах– этого монстра очень сложно переписать отличными от 1С средствами.
Для простейших «неродных» интерфейсов следует использовать Html+JS способ, как это сделано в типовых 1С-конфигурациях. При более сложном интерфейсе (если добавляется анимация, градиенты, число файлов-ресурсов растет) целесообразнее задействовать подход Rich Internet Application. Для сложных интерфейсов самым подходящим может стать .Net Framework.
Все способы позволяют встроить на управляемую форму «неродные» элементы управления. Ни один вариант не позволит встроить в «неродной» элемент управления элемент управления 1С или управляемую форму 1С. Соответственно, интерфейс нужно планировать без вложенностей, недопустимо, когда, например, в Silverlight-плагин вложена таблица 1С.
//
<div><img src=»//mc.yandex.ru/watch/21031318″ style=»position:absolute; left:-9999px;» alt=»» /></div>
Дико извиняюсь, но при чем тут упор в заголовке статьи на управляемые формы?
Если честно, все описаное делалось еще на семерке.
биржевую диаграмму следовало бы сравнивать с биржевыми диаграммами. а так получается, автор не знает сабжа.
есть подозрение, что красоты интерфейсов отожрут скорость более чем
(2)
Дело даже не в отжираемой скорости, а в нерациональном использовании готового инструмента.
Для меня «богатый интерфейс» — это тот, который позволит человеку решить его задачу наиболее простым и удобным способом. А об этом в статье — ни слова. Показаны только «свистелки-перделки», которые можно прикрутить к 1С.
Оно конечно, можно и зайчика научить курить, но будет ли ему от этого польза и удовольствие?
Хотя да, соглашусь, что иногда приходится идти на такие выкрутасы.
Но это надо делать в виде исключения, а не закладывать такой способ в виде ядра всего интерфейса.
Очередные картинки для оправдания .. цели.
(4) AlexO, это «Доминикана». там онером выступает руководитель разрабов — каменты излишни
публикация на модерации.
пока модерируют, смотрим рисунок ниже
А что, Доминикана всё-таки не совсем лохотрон, а действительно внятный проект?
(7) Yashazz, Имхо — это любопытный эксперимент: попытка сделать что-то на продажу не по результатам реального проекта, а с нуля, за счет самого франчайзи. Пока играют как могут.
(1) orefkov,
Если честно, все описаное делалось еще на семерке.
На дворе 2013 год, актуальна 8.2 и управляемые формы. Сомневаюсь, что на 7ке было сравнение отображения контента в тонком и веб-клиенте. Можете привести статью на схожую тему для 7.7, 8.0 , 8.1. Или «все описанное делалось» и передавалось в тайне только избранными?
Просветите автора в этом вопросе, а то образец из вашего поста (6) «воронки» сравним с наскальным изображением первобытного человека. Биржевые диаграммы такие же?
Красота часто требует жертв, но в данном случае современные браузеры позволяют оптимизировать эту скорость.
(3) orefkov,
В статье в выводах сказано:
«В интерфейсе рекомендуется в большинстве случаев использовать родные элементы управления 1С.»
Это, конечно, дело каждого, но я себе не позволяю критиковать статьи, если не дочитал их до конца.
(7) Yashazz,
Судя по профессиональному составу моих коллег и ненормированному рабочему дню, Доминикана — действительно внятный проект.
(9)
http://www.mista.ru/articles1c/hare/article.69.html
http://www.1cpp.ru/forum/YaBB.pl?num=1253809274
[quote]Можете привести статью на схожую тему для 7.7, 8.0 , 8.1.[/quote]
Вот статья с небезысвестного hare.ru аж от 2003 года:
А на 1cpp.ru/forum если покопаться, можно найти и использование WebBrowserControl через 1С++.
Да и вообще любых активиксов в 7.7.
К примеру вот:
(13) orefkov,
Спасибо, очень интересно, применительно к 1С. Но 1С++ осталась в 7.7 — для нее аналога нет в 8.х.
Сам же WebBrowserControl отлично описан в англоязычном интернете. НО, WebBrowserControl жестко привязан к Windows. Это значит, что для 8.3 под Линукс этот подход не будет работать — нужны новые идеи.
Друзья, коллеги. В данной статье описано что можно сделать, но не одного действительно стоящего для меня примера. Цель написания статьи?
(15) _Ramzes,
Это начало серии статей. В первую очередь необходимо было провести обзор методов, чтобы выяснить, дает ли и какие преимущества дает Html-подход. Какие ограничения накладывает каждый из способов.
Есть черновики еще для 2х статей в продолжение, но не знаю, когда смогу их опубликовать.
Еще одни исследования интересуют в области поиска редактора бизнес-процессов. В этом поиске пригодятся наработки из данной статьи тоже.
Вопрос напрашивается сам собой, но г-н Орефков его уже задал. Если вы пилите такие rich-интерфейсы, зачем вам вообще 1С? Что из родного 1С-а вам нужно для вашей Доминиканы?
Хорошая статья
«HTML5 применительно к 1С вычеркиваем: тонкий клиент 1С использует IE7, а поддержка HTML5 началась с IE9» — это, а также «Совместимость с Linux сложного проекта» — в 8.3.3 что-то изменилось? И вообще этот релиз брался в расчет и рассматривался для целей, описанных в статье?
(19) V_V_V, в 8.3.3 палка о двух концах. В linux применяем HTML5 в windows нет. В linux версии используется движок webkit в windows версии ничего не поменялось.
Я думаю, 99% всего нужного для людей функционала получится из стандартных 1Совских элементов. Тем более, учитывая 8.3.3, в которой появилось несколько интерфейсных вещей, которые я очень ждал (свертка элементов, форматированная строка, но не такси, конечно). И уж в самом конце, когда все готово, в т. ч. всякие красивые диаграммы, чтобы их еще больше разукрасить и задинамичить, можно посоображать что-нибудь. Если 1С к тому времени не выпустит еще что-нибудь красивое.
(21) sashocq, вот зря ты так думаешь. 🙂
Всегда кому-то чего-то не хватает. Если активно разрабатывать, а не подпиливать типовые. Кому 3D склад с местовым хранением, кому схемы кинозала, кому расчета пластиковых окон с чертежами прям в 1С…
Извращения — они многогранны…
(17) Evil Beaver,
1C всем хорош, на ней работает вся страна. Мы не собираемся изменять ей. Есть нюансы, которые хотелось бы улучшить.
(19) V_V_V,
Есть один момент. Тонкий клиент можно заставить работать в режиме совместимости IE9. Об этом есть черновик статьи. Кому интересно, могу выслать для предварительного ознакомления и критики. Пока публиковать времени нет.
На 8.3 опыты еще не начались. Если не будет найден эффективный обмен данными между 1С и WebKit, то, возможно, придется ждать лучших времен.
(0) плюс за исследование
исследуйте дальше 🙂
прорыв не за горами
как то вы весьма узко думаете.
Вот вы почитайте — как разрабатывают топовые игры, ну типа кризиса 3.
Т.е. за 2 года до релиза — берутся очень мощьные видюхи, там все это создается, и к моменту выхода игры — аналог такой топовой видюхи — стоит около 400уе, что может себе позволить каждый.
Ах да, к чему я это — то что вы делаете, обреченно на провал (я конечно говорю про стадию выхода релиза, т.е. через год аль два).
Объясню почему — все двигается в сторону мобильных платформ, а вы этому даже не уделили время.
Что дешевле — купить комп, с виндой (линухом), пердолить туда 1с, поддерживать комп, настраивать права, роли, доступы, покупать упсы, мониторы, вечно ломающиеся мышки и клавы, или просто перейти к планшетам?
При стоимости в 200уе (на текщий момент) их можно купить пачки, и просто заменять по мере надобности.
Все идут в мобильность, а вы кряхтите над ИЕ7, проблемами с линуксом и тем, что браузер может улучшить варианты работы и сгладить часть проблем.
Бред.
Если вы ориентируетесь на показуху = то да, там все будет круто, клевые графики, крутые интерфейсы, все ажур.
Когда доходит до дела, и начальнику смены надо нажать кнопку «ЗАКРЫТЬ,БЛ*, СМЕНУ» и он ее не найдет, так как новый движок браузера решил что этой кнопке надо съехать куда то вниз. Или когда продавец не сможет отпустить клиента, как вы думаете, что будет?
По сему — предлагаю, для начала, описать цель сих исследований, а потом уже сами исследования.
У вас в команде хоть кто то писал диплом? Думаю да, и в таком формате делается такого рода отчетность.
Что было да вас? Почему эта тема актуальна? Почему старые механизмы не удовлетворяют и в каких случаях? Что именно ВЫ разработали? Как вы пришли к этому решению? Почему ВЫ считаете его правильным? Какие выводы вы можете сделать? Что это даст обществу? Какие источники вы использовали?
А у вас какой то реферат ученика 7 класса. При чем такой, уж оооочень обзорненький.
ИМХО
З.Ы. Ничего личного 🙂
(26) DitriX,
Если вы про управляемый интерфейс, то рекомендую взглянуть как на планшете отображается хотя бы БП 3.0 и ее интерфейс, со всеми мыслимыми и не мыслимыми отключениями картинок, разделов и прочее.
Если вы про мобильную платформу, как таковую, соглашусь в ключе переноса в оную какой-то ужасно простой функциональности, как в демо-приложении. Или превращении дивайся в мини-ТСД или околоблудного функционала.
В настоящее время полноценно поработать в 1С, аля тонкий клиент, не удастся. Ограниченная узкая функциональность, ту которую вы описали — кнопка в пол экрана «ЗАКРЫТЬ,БЛ*, СМЕНУ» и вторая «ОТМЕНА», да 😉 Но дальше — пока скорее всего нет. Посмотри, что нам даст метро. И когда. Если метро-функциональность отладится через пару лет, то видимо — эпик-фейл чем более тем полностью.
А исследование автора хорошее. Я бы сказал — систематизирующее. Постепенно копает, ищет. Это здорово! Я жду сделующих обзоров от него.
(27) вы или не в курсе про проект доминикана, или я вообще не понимаю — о чем и к чему вы написали 🙂
Извините, но честно, я не смогу уловить суть, можете более развернуто написать?
(28) DitriX, в курсе проекта. Написал ответ на вашу цитату, которую процитировал у себя. Написал развернуто.
А возможно саму 1С запускать внутри(встроенном браузере) другого клиента? Таким образом интерфейс форм 1С, конечно, не изменить, но расширение функциональности приложения в целом не ограничено.
(32) terrorion, ну и извращение вы предложили, бррр. Может, ограничиться внешним соединением?
Я имею ввиду не тонкого клиента, а web-расширение 1С, обмен данными через сервер. Хотя не спорю, возможно плохое предложение.
(31) DitriX,
У майкрософта каждая 2я операционная система была неудачной. Это: Win ME/Vista/8. Вероятность 50% очень большая.
Последняя версия 1С 9я. Тонкий клиент по умолчанию адекватно работает с 7й. Но есть малоисследованный способ переключить ее на более новую.
Ну да, согласен, обзорная часть есть, а отчет то где?
Вы под отчетом что подразумеваете? Я подразумеваю отчет о проделанной работе в рамках Проекта Доминикана. Отчет об исследовании разных способах построения интерфейса. Новизна в том, что охвачены не только Html+JS, как делалось ранее, но и Flex/silverlight, .Net
Автору + хотя для себя ценности в полученной информации не вижу, но в будущих более предметных публикациях надеюсь увидеть.
Автору + за попытку систематизировать проблему. Считаю, что сейчас заниматься ActiveX, Silverlight без перспективно в самой Microsoft. Лет через 3-5 вэб-движок 1с всетаки перейдет на webkit или втроенный в цштвщцы ie10 и тонкий клиент может уйти на второй план. Свой развернутый ответ
ЧемберленуДоминикане надеюсь написать…Active X .net HTML и еще много из web казалось бы причем тут 1с?
На Html+JS в тонком клиенте ужасно выглядит, пережиток IE7.
Вообще хотелось бы больше примеров зачем оно нужно в вашем проекте, что оправдывает затраты на разработку и поддержку.
Бредятина какая-то.
1С должен учет вести, приход-расход, а не красочные картинки рисовать, бессмысленные и беспощадные.
Проект Доминикана какой-то куйней мается. Бюджет пилят штоле?
Графики например можно выводить, передавая на сервер данные и получая картинку. Например используя либуhttp://www.pchart.net на отдельном веб-сервере в сети. Нужность остальных «богатых» элементов тоже под большим вопросом. Те же чертежи окон можно было бы сделать отдельным приложением на .NET, в которое был бы встроен обмен данными с 1С, например сохраняя туда готовый рендер чертежа. Проектировщик пользуется дотнет-прогой, продавцы — 1С.
(42) badboychik,
Поддерживаю. Должна быть интеграция различных web-сервисов с обменом данных между собой.
нахрена вам вообще 1С?
(40) Hadgehogs,
бррр, звучит как приговор….
(32) terrorion,
Наши мысли совпадают. Мы решили для начала запустить через IFrame. Посмотрим, что это даст.
(39) zqzq,
Вообще хотелось бы больше примеров зачем оно нужно в вашем проекте, что оправдывает затраты на разработку и поддержку.
Сейчас есть один пример на примете — сделать альтернативный редактор маршрутов бизнес-процессов. Так уж получилось, что шина данных — одна из ключевых подсистем Проекта Доминикана.
http://forum.infostart.ru/forum90/topic87568/
На этот случай создал ветку в форуме Инфостарт с просьбой поделиться опытом и впечатлениями от редакторов маршрутов бизнес-процессов.
(47) вы что, небось полноценный BPMN решили впендюрить в 1С ? )))
(40) Hadgehogs,
Мы иначе видим роль информационной системы предприятия. Функция учета — важная, не единственная и не самая главная
(44) vano-ekt,
1С — самая распространенная платформа, основа информационных систем множества предприятий. Вполне справляется с таким назначением
(48) badboychik,
Функциональные блоки:
1. Среда создания/описания процессов, включая графически¬й редактор
2. Шина процессов — среда исполнения (выполнения) процессов
3. Механизмы анализа
а на выходе, что должно получится? Прикладное решение, или надстройка над интерфейсом 1С? Или скелет для других конфигураций?
(52) vano-ekt,
Сейчас определение: Бизнес-система нового поколения, основанная на достижениях методологии и технологии, учитывающая опыт предыдущих систем. Расширяемая модульная система, способная работать как SaaS, так и интегрированно.
Спасибо! Интересный обзор.
(53)
я правильно понял — речь идет о конфигурировании 1С на платформе 8.2(УФ) ?
Оч.интересно будет посмотреть на эту «бизнес-систему нового поколения». Эта бизнес-система — это для кого? для пользователей (готовая конфига?) или для разработчиков (набор приемов/методик/рекомендаций/примеров/итд).
(55) tango,
Я могу описать только свою часть, связанную с интерфейсом. Сейчас есть несколько конкурирующих подходов, которые обсуждаются:
1. конфигурирование 1С — управляемые формы — преимущественно 8.3
2. 1С 8.3 — УФ — вкрапления неродного интерфейса, как в этой публикации
3. Запуск веб-клиента 1С через IFrame и управление им извне
4. Свой собственный интерфейс на html и доступ JavaScript-SOAP
2й подход описан в этой статье, 3й подход — опыты завершены, статья будет. 4й подход сейчас изучается.
(56) CheBurator,
Идеология системы сформулирована. Скоро идея будет представлена сообществу. Для реализации традиционными способами она на грани невозможного — это и интригует.
Система стоит лицом к пользователям. Анализируются разные подходы к построению интерфейса прежде всего средствами 1С.
Для разработчиков есть такие планы: система планируется как модульная, расширяемая. Разработчики смогут разрабатывать и продавать свои модули. Принцип — как продажа мобильных приложений. Именно поэтому нужна поддержка сообщества в разработке взаимодействия модулей, чтобы это было удобно в плане интеграции, взаимодействия и поддержки.
ну, идея модульной конфы заслуживает респекта, флагман в этом направлении оказался прямо-таки импотентен (да,да, это — о БСП)
что-то типа как это сделано у камина?
хотелось бы пожелать, чтобы и интерфейсные навороты допускали «модульный» отказ от них (опциональность) — типа как в хтмл можно вместо картинки загрузить ее строковый алиас
(58) правильно ли я понял, что, например:
— «покупаю» модуль «Поступление/Реализация по факту», который (типа) включает в себя минимально необходимый торговый функционал (приход товара на остатки по документу Поступление ТМЦ и расход товар с остатков Реализация ТМЦ)/ Имею минимум необходимого чтобы начать тогрговать. Более !!!никакого функционального кода!! модуль не содержит (м.б. только код для входа-выхода)
— поработал, зашибись! но! возникла необходимость ПРЕДВАРИТЕЛЬНОГО РЕЗЕРВИРОВАНИЯ товаров для продажи клиентам).
— «покупаю» модуль «Резервирование товара по заявкам покупателей». Тупо «копирую»/подключаю его в конфу (без всякого программирования, просто накатив дополнительные объекты или как-то иначе).
— запускаю: имею: приход ТМЦ (как и было), заявка покупателя, которая ставит резерв (новый функционал), Реализация ТМЦ — которая теперь не просто списывает остаток, а каким-то образом учитывает свои и чужие резервы….????
..
???? как это будет? модуль «заявки-резервы» котачит только с входом-выходом модуля «Реализация»…???
…
ну а дальше докупаю модуль «адресное хранение» и т.д.
.
главное при этом (ну лично для меня), что модуль «Реализация» не содержит никакого кода по работе с заявками… — так это или не так???
(60) CheBurator,
В идеале система должна быть такой, как вы описали. При создании модульных систем есть несколько проблем:
1. Инициализация
2. Управление зависимостями между модулями
3. Паттерн для связки источника данных и интерфейса
4. Методика построения модульных приложений
5. Взаимодействие между слабо связанными модулями
Вас конкретно какая информация интересует?
1. Детальная информация о том какие модули, какой функционал будут содержать?
2. Описание принципов расширения системы на примере который Вы привели (считая при этом что пример является учебным)?
3. Что-то иное. Что именно?
963) ну тады мне не сильно понятна что имеется в виду
— я стою на стороне пользователя. мне уже достаточно мегаконфиг. и туевой хучи всяких доделок от разных сторон, которые (каждая доделка) контактирует с основной конфигой, но между собой они ну никак не вяжутся (как пример — есть для 8-ки CRMныймодуль и модуль Документооборот от сторонних разработчиков, в каждом из модулей есть общий функционал, но и есть неперескающийся функционал. ну так вот просто поставить CRM и Документооборот, надеясь на то, что они между собой «законтачатся» — фиг вам..).
.
так о чем это я.. а!
модульность, я в том числе понимаю и как возможность вязать модули между собой, ане выпускать кучу независимых модулей…
.
63.
Elisy
11.06.13 20:53
(60) CheBurator,
В идеале система должна быть такой, как вы описали. При создании модульных систем есть несколько проблем:
1. Инициализация
2. Управление зависимостями между модулями
3. Паттерн для связки источника данных и интерфейса
4. Методика построения модульных приложений
5. Взаимодействие между слабо связанными модулями
2. Описание принципов расширения системы на примере который Вы привели (считая при этом что пример является учебным)?
.
вот это меня больше интересует, хотя бы в общих чертах. чтобя я как ответсвенный за пользователей — понял, что меня ждет и какой профит я получу. В идеале — пример, который я описал…
(62) Eugeneer,
Да
Да
Мы так не считаем
Мы так не считаем
Мы обеспечим возможность клиентам формулировать и обеспечивать свои потребности через приемлемый, понятный для них интерфейс (в широком смысле). Выбор клиента через этот интерфейс даст надежный результат, соответствующий потребностям заказчика
Нам интересны конкретные мнения по конкретным вопросам специалистов такого рода
(64) CheBurator,
наш подход является альтернативой этому:
система — это совокупность модулей, которые прозрачно интегрируются (через шины процессов и данных) либо в одной конфигурации, либо в разных системах
Модульность в нашем понимании не отрицает возможность создавать модули внешними разработчиками
ладно, поняли уже 🙂
продукт давайте!
Интересно почитать.
(66) ну так можно будет «прозрачно синтегрировать» модуль «резервы» с модулем «безрезервной торговли»…?
а то слов много, а непонятно…
(69) CheBurator,
а то слов много, а непонятно…
Мы отвлеклись от темы статьи. Обязательно вернемся к обсуждению модульности немного позже в отдельной ветке обсуждения. Модульность — сложная тема. Аналог для .Net дорос до 4й версии
http://msdn.microsoft.com/en-us/library/gg406140.aspx
и процесс его доработки продолжается.
У нас предполагается для связи модулей использовать шину процессов и шину данных.
по шинам процессов и шинам данных я не копенгаген, можно для неграмотных в пару слов доступно пояснить что есть связь модулей на основе шины данных..?
спсб.
присоединяюсь к (71)
очень круто заварено в (70)
(гугл-перевод по ссылке):
по ходу вундервафлей по
синичкам воробушкамтараканам(71) CheBurator,
спсб.
Если не копенгаген тогда для начала
http://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D0%BD%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D 1%8B%D1%85
http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BD%D0%B0%D1 %8F_%D1%88%D0%B8%D0%BD%D0%B0_%D0%BF%D1%80%D0%B5%D0%B4%D0%BF% D1%80%D0%B8%D1%8F%D1%82%D0%B8%D1%8F
(72) tango, PRISM удобная абстракция для WPF и SL. Вот человекоподобный перевод:http://habrahabr.ru/post/176851/ . Но, как его можно скрестить с 1С?
Мне кажется скрестить не получится. Получится определить проблемы, которые решает PRISM и посмотреть пути решения этих проблем. Далее постараться примерить механизмы на 1С.
PRISM’ом лучше не ограничиваться. Если кто-то еще знает достойные альтернативы, скидывайте для обсуждения )))).
pumbaE,
http://msdn.microsoft.com/en-us/library/ee330730(v=vs.85).aspx
Elisy,
V_V_V
Все же HTML5 вычеркивать не стоит, режимом работы WebBrowser Control можно управлять через реестр:
(76) cefew,
http://infostart.ru/public/190920/
Насколько я понял, все проще. В тонком клиенте достаточно установить meta-тэг
<meta http-equiv=»X-UA-Compatible» content=»IE=9″ >
В веб-клиенте можно сделать обертку через IFrame
и на главной странице установить этот же тэг. В подчиненных IFrame веб-клиент не сможет его переопределить
HTML1115: Тег META, совместимый с X-UA, («IE=EmulateIE7) пропущен, поскольку режим документов уже завершен.
Хочу выложить статью на эту тему: «Некоторые секреты подключения веб-интерфейса 1С 8.2». Нужна такая статья?
(77)
Спасибо за предложенный способ — так действительно проще. Жаль что ПолеHTMLДокумента предоставляет так мало возможностей для разработки альтернативного интерфейса.
Статью, конечно, выкладывайте.
(78) Про поле ПолеHTMLДокумента не согласен. Я запустил в нем 8.3 Такси демо с сайта 1С внутри тонкого клиента 8.2. Все отлично работает! Они в своем движке отладили как 8.2 как и 8.3.http://infostart.ru/public/171763/ . Это поле очень специфично, но нам ли привыкать…
На мой взгляд одно из самых удачны направлений — использование веб ориентированных предложений — html 5, на котором в текущей версии можно реализовать большинство различных «плюшек». Все остальные компоненты уступают по возможности и простоте использования. Тут я согласен с автором.
У меня както была идея написать альтернативный интерфейс внутри 1С-форм на
1) Twitter Bootstrap
2) ExtJS
Но осознав объем работы и неудобства работы с полем хтмл-документа, забил на это дело
(78) cefew,
Выложил на Хабре
http://habrahabr.ru/post/183754/
http://infostart.ru/public/191829/
На Инфостарте статья появится после одобрения модератором
(81) badboychik, Точно и это будет тоже 100% привязка к этому интерфейсу. Только простой отчет и jquerymobile:http://infostart.ru/public/180203/ . Вариант два. Может кому и пригодиться…
Сегодня экспериментировал — писать под ПолеHTMLДокумента это сплошной гемор.
Приходится вставлять все скрипты в тело документа, а они большие и редактор кода глючит, если вставить например 100кБ одной строкой. Плюс даже если всё вставить, то все равно многое не работает, но если перейти по адресу той же странице в инете, то работает.
Пытался прикрутить некоторые библиотеки рисования графов — так и не получилось (
Предполагаю что лучше вынести на отдельный веб-сервер библиотеки и скрипты, а в 1С использовать только «ПолеХтмл.Перейти()» на всю форму и REST-обмен данными с этим сервером
Буду еще пробовать подружиться с библиотекой DHTMLX (http://dhtmlx.com)
http://dhtmlx.com/docs/products/dhtmlxGantt/index.shtml
Вот например диаграмма Ганта, кто то просил тут
(84) badboychik,
Попробуйте вставить JScript в общую картинку, как описано здесь:
http://infostart.ru/public/191829/
У нее будет один и тот же адрес, браузер ее кэшировать будет
(59) tango, (60) CheBurator,
http://infostart.ru/public/192074/
По поводу модульной системы запущено новое обсуждение. После модерации оно появится здесь:
Высказывайте свои мнения, пока идет проектирование.
(17) Evil Beaver, отличный вопрос, крутился у меня в голове пока я читал статью, ответ в (23) не убедителен, если использовать это в некоторых местах то будет сильно выбиваться из общей массы, да и для сопровождения нужен будет отдельный человек который знает ту или иную технологию.
В общем как эксперимент в свободное от работы время интересно, еще на хабре были статьи как из HTML дергать интерфейсы WEB приложения 1С, тоже было любопытно почитать.
Но если у вас это будет использоваться в решении (а я думаю вы все же не из любопытства время убивали) сопровождать его будет тяжело, хотя возможно вам это только в +.
(47) я сейчас как раз этим занимаюсь для своих проектов то что получилось не очень нравится в плане быстродействия, на 10 000 активных БП начинает все сильно тормозить, а мне нужно около 600 000 одновременно активных 🙁
Но как сделать лучше я пока не знаю, ищу узкие места и уже «извращениями» оптимизирую.
Сама по себе задача не очень и сложная, но много рутины, вообще 1С стоило бы продумать этот вопрос перед тем как выходить на рынок ERP, говорят в последнем Документообороте у них есть конструктор, все никак не доберусь посмотреть.
Вот про это было бы интересно почитать 🙂
(88) VVi3ard, по-моему, на хабре писал тот же Elisy.
(88) VVi3ard,
В самом начале у нас стоял вопрос: каким образом можно дополнить/заменить управляемые формы 1С. Дело в том, что функционал они предоставляют убогий, абсолютно не настраиваемые, а еще и штук 10 ошибок нашли в новом Такси-интерфейсе (от неадекватного выравнивания/размеров, до ошибок в динамическом списке при сортировке по полю и невозможности выбрать первые N записей).
Как следствие появились исследования в области: html внутри 1С, внедрение в веб-интерфейс 1С и отдельный веб-интерфейс с доступом к веб-сервисам 1С. У каждого метода есть свои достоинства и недостатки. Эти сравнения передали руководству, которое приняло решение — делать проект на платформе 1С с некоторыми внедрениями html в управляемые формы.
(89) VVi3ard,
До оптимизации по скорости мы еще не добрались. Но если встанет такая проблема, в первую очередь буду смотреть всторону .Net Workflow Foundation. Мне кажется BizTalk работает на этой технологии.
Сама по себе задача не очень и сложная, но много рутины, вообще 1С стоило бы продумать этот вопрос перед тем как выходить на рынок ERP, говорят в последнем Документообороте у них есть конструктор, все никак не доберусь посмотреть.
Я, к сожалению, не занимался вопросом дизайнера — эту задачу передали моему коллеге. Насколько я понял, сейчас остановились на встроенном в 1С редакторе, но дополнили его своим функционалом. Для прототипа этого достаточно, а как будет потом, сложно сказать.