Comments 51
Привет, часто статьи пишите, откуда столько времени?
Раньше были IT-директором, а сейчас писатель? (ироничная шутка;))
Новый веб-клиент с прямым подключением в 1С?
Чтобы все внезапно созданное внутри 1С становилось функциональным на стороне браузера?
Вот вы написали что-то в 1С — нарисовали кнопку «провести» и оно выполняет то что вы написали на языке 1С. Вы же понимаете что вы не сможете именно эту кнопку вывести в браузер? Мы вытащим в браузер
<form><input type=button>
или что-то там еще. Обработчик этой кнопки обычно понимает JavaScript. Что мы должны сделать при нажатии на кнопку в таком случае? Правильно послать некий POST REQUEST на сервер. По дороге у нас несколько слоев о которых я говорить пока не хочу, предположим что мы попали на сервер 1С. Сервер 1С должен проверить пользователя, проверить данные которые пользователь послал, попытаться найти скрипт для этой кнопки и выполнить его.
Но как вы понимаете скрипт из 1С десктопного клиента не будет 1 в 1 совпадать со скриптом который нам нужен в режиме «удаленного» подключения или скажем браузера. Значит надо дописывать, переписывать, адаптировать. И это только одна кнопка.
Вы же ожидаете получить вебморду «автоматом». Чтобы вы сконструировали ее в 1С и она как-то автоматом конвертнулась в веб приложение. Такой магический фреймворк наверное возможен, но либо это должна сама 1С предоставить (что они насколько я понимаю изо всех сил и стараются, но вам не нравится их «желтая морда»). Либо это такой гемор, что никто не хочет браться.
Ваши рассуждения и вопросы которые вы задаете, наверняка приходили на ум очень многим. И мне в том числе. Но в общем случае я не вижу решения.
Мне кажется вы слишком узко смотрите на бизнес-приложения. Строго как 1С-ник.
Вот как в рамки 1С запихнуть бизнес-приложение Netflix? Да, там можно купить, как я понимаю, доступ к сериалу. Но это не разовая покупка, а подписка. И на этом процесс (как раз бизнес-процесс) не заканчивается — контент нужно как-то пользователю доставить.
А ещё есть Steam с очень похожей системой, только тут нужно учесть что тайтлов, которые можно купить, исчисляется десятками тысяч. С разными ценами в разных регионах. Со скидками и всем остальным. И разными личными кабинетами. Ну и доставка конктента пользователям само-собой.
И так далее и так далее. Не заканчиваются бизнес-задачи только функционалом 1С-а.
А если рассматривает какое-то производство внедрение 1с, то как минимум с sql сервером и тонким клиентом. И такая связка выходит около 270 т.р. А её ещё надо внедрить и допилить под нужды клиента. Поэтому не удивительно что ценник на внедрение web обертки так дорого стоит, тк клиент уже потратил кучу денег а программистам 1с не хватит знаний создать web интерфейс, т.к. специфика 1с накладывает очень сильный отпечаток на программиста.
Эта проблема не только в 1с. А ещё у большинства разработчик сайтов и интернет магазинов. Где не программирование а конструирование в пределах фреймворка. И когда в такие фирмы приходит клиент с просьбой реализовать не шаблонное решение, а по ТЗ ценник безумно взлетает, т.к. тут ничанается проектирование системы а не конфигурирование набором компонентов.
Но на практике еще ни разу не получилось загрузить данные в систему, как правило данные во внешних системах слишком сырые и требуется много ручной работы.
Несколько странная фраза. Данные не могут быть сырыми, может быть интерфейс обмена не согласованным, либо каких-то данных попросту может не быть в одной из систем. Еще очень хотелось бы понять ценообразование вашего продукта, т.к. некоторые пользователи заинтриговались вашей системой.
P.S. LS12 поддерживает разработку нового типа рабочего места на существующей базе? То есть, если на универсальной платформе управленческого учета надо сделать новые типы операций, насколько легко разработать новые формы, логику обработки данных и запустить как отдельное рабочее место? На старой липро разработка превращалась в создание новой формочки с новым списком полей, не более, без какой-то особой логики обработки данных.
Да, я понял — вы с Егорьевска :-)
Чёрт! Шеф, валим… :)
Бизнес-логика не расширяется со стороны пользователя.
Как-то нехорошо звучит. Но ведь наш процесс может отличаться от заложенного в системе. Это же не бухучет, мы можем работать как вздумается. Это поведение нельзя изменить?
- Процедура «Формирование стратегических целей»
- Процедура «Формирование плана производства»
- Процедура «Формирование плана закупок»
- Процедура «Контроль выполнения плана производства и закупок»
Запускаем процедуру «Формирование плана производства» — она состоит из функций (пример):
- Определение сроков и кол-ва продукции
- Формирование материально-производственных запасов
- Планирование ресурсов и материалов для производства
Функция «Определение сроков и кол-ва», лезет в ERP и берёт план за прошлый период и умножает на коэффициент из стратегии с учётом ограничений. Не нравится такой метод — дёрните другой набор процедур или функций.
-Сова нарисована.
Хотя, наверное, нет… Помер 1С: Документооборот 2. RIP.
А можно этот момент поподробней?
А то у нас на предприятии решили этот самый 1C: Документооборот внедрить. Даже цельных 4 человека там чего то пилят. Может уже пора на лыжи вставать?
Как я понимаю в 1с (у меня даже где-то есть сертификат о прохождении курсов программирования под 1с).
Всегда же есть возможность выпилить свой велосипед. Вопрос в том нет ли там каких-то фундаментальных недостатков из-за которых все это не взлетит.
Речь, в первую очередь, не о готовых решениях, а о платформах и технологиях их создания
"Языки программирования, фреймворки, СУБД" — это и есть технологии и платформы для их создания. Да, движок для интернет-магазинов тоже.
Самое распространенное бизнес-приложение – просто сайт компании.
Самое распространенное бизнес-приложение — это то, что находится за сайтом компании, бэкенд процесса обработки данных. Вся бизнес-логика находится там.
Например, справочники, в которых легко можно разложить взаимосвязанную нормативно-связанную информацию.
Вне 1С для этого используются базы данных. А знание SQL это довольно распространенное требование для аналитиков.
Говоря проще, чтобы создать веб-приложение для бизнеса, как на 1С, придется сначала написать веб-платформу 1С. Хотя бы кусочек – справочник там, документик небольшой, отчетик, диаграммку.
А чтобы создать приложение не как на 1С, не придется. Давайте не будем приписывать появление отчетов и связи данных по ключам платформе 1С.
Есть прикольная cms
https://craftcms.com/ можно кодить мышкой)
Привилегированное положение 1С в том, что моду задает разработчик платформы, то есть головная компания. Весь фреймворк, доступные возможности разрабатываются ими. Что дали — тем пользуйся. Делаешь коммерческую конфигурацию — изволь сертифицировать по жестким правилам. Отсюда растут ноги у кучи ограничений с расширением конфигураций. Я не 1С-ник, но от наших ребят наслушался много. Правда, говорят, в восьмерке сейчас расширять существующие формы стало легче, но тут уже хз.
Но вот опять же, 1С оперирует терминами и понятими бухучета, в основном.
Разработчик бизнес-приложения оперирует чуть большим набором понятий. В базе те же заказы, ордера и движения, но для оформления этих движений нужно вводить дополнительные моменты. Например, в том же интернет-магазине есть скидки и промоакции. В форме заказа надо добавить учет скидок, добавить учет промокода, провести их каким-то образом, применить скидку по цене, добавить доп. товары к заказу и так далее. К объектам «номенклатура» и «движение» прибавляется «акция», добавляется сложная связка между «акция» и «номенклатура» с условием акции… Вроде всё несложно, но, чтобы избежать нагромождения костылей, начинаешь думать про применение паттернов. Какой-никакой интерфейс, фабрика объектов и так далее (зависит от степени извращенности автора).
Двигаемся дальше, находим новые объекты и сложность схемы растет еще больше. Приходится применять новые архитектурные решения. Некоторые архитектурные решения сложноприменимы в рамках одного языка — уткнулись в ограничение.
Если же готовая архитектура есть, но она плохо расширяема и не подходит — та же беда. В итоге скатываемся к тому, что лучше использовать что-то гибкое и расширяемое, то есть берем другую платформу языка.
Ок, ладно, почему бы не сделать бизнес-решение на каком-то гибком языке? Ок, давайте выберем… ну, например, c#.
1. Строим архитектуру, делаем крутое решение в коде. Оно даже расширяемое, замечательно!
2. И тут здрасьте — мы строили его на asp.net mvc, а сейчас в тренде asp.net core. Вроде бы ничего особенного, но разработчики, которые ищут себе сейчас бизнес-продукт, хотят на core. Ок, ладно, мы переписываем основу решения, делаем возможность запускать его на asp.net mvc и asp.net core. Супер!
3. Теперь к нам приходят клиенты и говорят — знаете, мы ваше решение взяли, но наши крутые современные итшники говорят, что у нас какая-то там морда на каком-то реакторе, а у вас старый жуквэри и переносить наш модный интерфейс, в который мы бухнули кучу бабла, на старые рельсы нерентабельно. Хорошо… садимся и делаем так, чтобы клиент мог переработать интерфейс на любую фронтенд-платформу — react, vue, node, angular, старый-добрый html+jquery и так далее. Ну и дописываем еще WebApi, потому что какой еще модный фронтенд без вебапи?
4. Всё, у нас гибкое масштабируемое решение, можно переделать бизнес-логику, расширить, можно сменить морду… мы потратили пять лет и 100500тыщмильёнов на разработку. Нам бы еще отбить эти траты? Цена на внедрение потихоньку растет :) Мелкий бизнес отвалился, средний думает, крупный давно внедрил свои велосипеды. Наше типовое решение мелкому бизнесу неудобно, надо дорабатывать, но дороговато. Средний бизнес на типовое решение согласится со скрипом, если найдутся грамотные «впариватели». А крупный где-то там наверху лениво дернет ухом и дальше будет разрабатывать чекблойн-технологии.
P.S. Я еще вот чего не понимаю — как вообще можно разрабатывать бизнес-решение в отрыве от бизнеса? Это как игровой движок разрабатывать в отрыве от игр. А как понять, что именно в геймдизайне применять придется-то? Ну, можно сделать ту часть движка, которая отвечает за графические эффекты, физические эффекты, а всё остальное — модели, взаимодействие их друг с другом, всю «бизнес-логику игры» придется писать под себя на конкретную игровую механику.
Вот если ты игру разрабатываешь и делаешь под неё движок — отлично. Все моменты, которые там используются, реализуются под себя, в итоге получается какое-то готовое решение. И вот его и можно и нужно тиражировать, предварительно чуть универсализировав!
Скажите мне, сажал ли кто-то команду разработчиков MES-части в ERP на существующее производство, чтобы они написали то, что реально покрыло все процессы на производстве и упростило их ведение? То есть не по чьему-то универсальному ТЗ что-то написали как платформу, а реально внедрили полностью? А потом из этого попытались сделать универсальный продукт. Да ничего у них не вышло бы. А если бы и вышло, то это был бы такой чудовищный монстр, что его только изучать надо несколько лет.
У нас вот есть MES-система, я её вдоль и поперек знаю и понимаю, что её можно при желании стиражировать, но её писали мы сами и под нас, то есть она реально рабочая и учитывающая все моменты. И перестроить её можно, чтобы вообще универсальной стала. Но как бы мы смогли такую сделать, не работай с производством — ума не приложу. Тут никаких ТЗ не хватит.
Так что это просто минимизация рисков — веб приложение доступное через интернет отделяют от ИС предприятия доступной только из внутренней сети.
лично я исследую возможности camunda bpm, там workflow и decision модули наворочены с запасом. из них думаю можно дергать облачный битрикс и контролировать выполнение задач, формировать документы и прочая. какие-то элементы вроде можно подсовывать в битрикс через iframe.
Жёлтое — Вакуум — Облако