Имя: Пароль:
IT
 
Фузина как платформа разработки учётных систем
Ø (Волшебник 26.03.2021 15:14)
0 Светлый путь
 
22.03.21
04:22
Совершенно случайно наткнулся на многокилометровое обсуждение Фузины. Появилось желание посмотреть, что же это такое на самом деле. Собственно, хотелось бы высказать свои соображения для тех, кто точно так же "наткнётся" на эти ветки.

Платформа Фузины и среда разработки установились на Убунту 20.04 без каких-либо проблем. Предварительно потребовалось установить только Постгре.
В разделе помощи на странице Фузины можно найти примеры реализации простых информационных систем: «Турнирная таблица» и «Управление материальными потоками». Собственно, эти примеры были реализованы, после чего была разработана простейшая база по учёту текущих задач (с двумя таблицами: «основная» таблица Задачи — наименование задачи, описание, приоритет, срок, процент выполнения, дата выполнения, — и «вспомогательная» таблица Приоритеты).

Какие выводы можно сделать?

Начнём с сильных сторон. Платформа интересная, ни с чем подобным работать до этого не приходилось. Разработка, в рамках задач, на решение которых направлена платформа, действительно быстрая. Сама концепция разработки ("декларативная") сильно отличается от привычных "императивных" языков (в первую очередь — встроенного языка 1С:Предприятия), и больше похожа на написание запросов с указанием неких дополнительных параметров. Проверка исходного кода на ошибки происходит до выполнения «сборки», сразу подсвечиваются ошибки.

Теперь о проблемах и трудностях касательно разработки приложений для автоматизации учёта и управления.
Первое. Уровень абстракции Фузины гораздо ниже, чем в 1С:Предприятии. Код описывает классы, таблицы, формы и т. п., но не справочники, документы, журналы документов и пр. То есть это абстракция, понятная для программистов (да и то при условии прохождения соответствующей подготовки — следствие "декларативного подхода" в используемом языке), но не для конечных пользователей информационной системы, когда взаимосвязи и основные механизмы понятны "по логике".
Второе, и это просто проклятие! Всё по-нерусски. И ключевые слова самого языка, и среда разработки. Всё, за исключением документации. Это катастрофа. Необходимость писать prioritetZadachi, procentVypolneniya вместо ПриоритетЗадачи, ПроцентВыполнения вводит в глубочайшую тоску.  Этот пункт, вкупе с первым, означает, что конечные пользователи Фузины не смогут разговаривать с разработчиками «на одном языке» даже теоретически. То есть составление технического задания конечным пользователем в принципе невозможно без участия методолога, "посвящённого" в процесс разработки.
Третье, это тот самый декларативный подход. По сути, программист описывает, как должна работать информационная система, а не последовательный алгоритм действий, который приведёт к требуемому результату. То есть сама логика написания кода больше напоминает составление запросов с указанием дополнительных параметров. Нельзя сказать, что это недостаток системы, но отличие от «классических» языков для программиста разительное.
Ну и четвёртое — это документация. Она неплохая, написана очень толково и достаточно подробно. Но не хватает поиска и индекса по ключевым словам (то, к чему мы так привыкли в 1С:Предприятии — синтаксис-помощник). Например, я хочу добавить условное оформление для строки таблицы на в форме. Скажем, если значение поля ПроцентВыполнения (в фузиновском коде procentVypolneniya, чтоб его!) равно 100, подсвечивать строку каким-либо цветом. Как мне найти в справочной системе информацию о том, как это сделать (такая возможность в платформе есть)?

Что в итоге? Может ли Фузина, хотя бы чисто теоретически, занять место 1С:Предприятия на фронте инструментов разработки учётных систем? Нет, конечно. Если пункты 3 и 4 — "дело наживное", то пункты 1 и 2 подтверждают это абсолютно точно. Сила платформы 1С:Предприятие как раз в том, что она предоставляет, с одной стороны, высокий уровень абстракции — вплоть до категорий предметной области, —  а с другой — понятна конечным пользователям, прошедшим минимальную подготовку.

А любая критика конфигуратора как среды разработки и встроенного языка платформы невозможна и неприемлема до тех пор, пока не появится другая среда и другой язык, где, по крайней мере, ключевые слова и названия переменных можно будет писать по-человечески — ОписаниеЗадачи, а не opisaniyeZadachi. И затем в меню Сборка выбрать пункт Собрать…

Пока же Фузина — это экспериментальный прототип для программистов. Прототип интересный, на основании которого можно было бы сделать реальное решение... Но на текущий момент — именно прототип, заготовка, «научный эксперимент», а никак не конечный продукт.
622 Bro
 
25.03.21
15:32
(620) Ну тут политика паролей и ограничение 10 запросов в секунду на авторизацию решает проблему практически на 100 процентов.
(621) https://habr.com/ru/company/lsfusion/blog/534756/#aoath
623 fisher
 
25.03.21
15:33
О, прелестно.
624 Bro
 
25.03.21
15:34
(623) https://demo.lsfusion.org/erp/

Можете тут попробовать :)
625 Bro
 
25.03.21
15:35
(624) только там что-то странное у фейсбука и гугла случилось. Видимо токены просрочились, сейчас скажу чтобы глянули.
626 fisher
 
25.03.21
15:38
Я вроде через гугл нормально зашел.
627 Bro
 
25.03.21
15:41
(626) Да, с гуглом там ошибка, когда не залогинен. Яндекс при этом предлагает залогиниться, а гугл ошибку дает, надо смотреть почему. А с фейсбуком похоже там токен к дев аккаунту привязан, и они как-то настройки изменили.
628 fisher
 
25.03.21
15:48
Вот блин. Хотел на десктопный клиент глянуть, а у меня тут Edge. Лень настраивать :)
629 Bro
 
25.03.21
15:51
(628) хм... странно, там по идее Run desktop client даже под Edge должно скачать (если java установлена).
630 H A D G E H O G s
 
25.03.21
15:51
Не следил за веткой.
Сергей Осипов уже отряжен на подвиги LsFusion ?
631 Kassern
 
25.03.21
15:58
(624) а как у вас себестоимость считается? Зашел в регистр продаж и вижу сразу посчитанную себестоимость у продаж, а что если в конце месяца придет такой же товар но в 2 раза дороже, у вас автоматом себестоимость в документах продажи пересчитается?
632 Kassern
 
25.03.21
15:59
(631) что-то типа закрытие месяца у вас там есть?
633 fisher
 
25.03.21
16:00
(629) Вроде гуглится, что на едже есть такая проблема.
Хотел посмотреть хоть на какой-нить отчет типа печатной формы с нетривиальным гридом - забрел в BI - Оборачиваемость. Мало что там понял, выбрал период с 2019 и поставил галку в группировках "По магазину" (требовало какую-нить группировку). И там внизу две кнопки по выводу в XLSX, как я понял. Тыкаешь в любую - несколько секунд крутит ожидание и вываливается джавовый эксепшн смысл которого в Host unreachable.
Куда хоть тыкнуть, чтоб какую-нить печатную форму какого-нить документа напечатать?
634 Ёпрст
 
25.03.21
16:03
Хотел посмотреть, чего нового там налепили за год..
А ничего, всё по прежнему - ничего не работает.
635 fisher
 
25.03.21
16:03
Нащупал экспорт гридов в ексель - удобная штука, но не то.
636 Ёпрст
 
25.03.21
16:04
И выравнивание так и не освоили. И у всех гридов одинаковый не настраиваемый тулбар..
В прочем, ничего нового.
637 Kassern
 
25.03.21
16:05
(632) и как у вас например услуги доставки распределяются на себестоимость товаров из документов закупки?
638 Ёпрст
 
25.03.21
16:06
В документе, куда не тыркнешь, везде теперь окошко с колесиком и непонятным прогрессбаром с ожидание..Чего показывает ? А хз.. иногда, Drop там пишет в какие-то таблички.
Нормальные сообщения тоже не осилили.
639 Ёпрст
 
25.03.21
16:07
Ну вот..база легла по-ходу.
Не осилила поток желающих потыкать палочкой.
640 Kassern
 
25.03.21
16:09
(637) я даже не могу себе представить замкнутый простетский бизнес-цикл на этой платформе типа: Заказ поставщику - Поступление -Заведение услуги доставки - Заказ клиента - Реализация. Даже без партий и характеристик, прям программа минимум, но чтобы была корректная себестоимость, хотяб по среднему и вывести доход с учетом данной себестоимости в отчет.
641 Ёпрст
 
25.03.21
16:11
Всё, Чунга Чанга..

http://pics.rsh.ru/img/ls_wfjlki6a.png
642 fisher
 
25.03.21
16:12
Прям весь джавовый стек-трейс можно посмотреть. Удобно. Оно еще и со спрингом под капотом.
643 Ёпрст
 
25.03.21
16:13
644 H A D G E H O G s
 
25.03.21
16:25
(643) Ты все сломал!
645 H A D G E H O G s
 
25.03.21
16:29
(642) Как в 1С?
646 H A D G E H O G s
 
25.03.21
16:39
Потыкал в ERP. А че ниче не изменилось за год то?
647 H A D G E H O G s
 
25.03.21
16:40
У вас там недорозница с недокомплектацией под недопроизводство, а не ERP.
648 Krendel
 
25.03.21
16:41
(646) Студент пропал, развитие прекратилось
649 Bro
 
25.03.21
16:42
(631) Я честно говоря не знаю, что там в себестоимости, тут CrushBy нужен. Но в рознице где ассортименты по 10 тысяч позиций, насколько я понимаю, в себестоимость условную стоимость холодильника или зп категорийного менеджера в себестоимость никто не включает.
650 Bro
 
25.03.21
16:46
(633) Смотрите в lsFusion есть три вещи:

Взрослый внешний BI - для большой сложной аналитики - QLik, Imply + Druid и т.п.
Внутренний BI -  https://habr.com/ru/company/lsfusion/blog/534756/#group_views для оперативной / внутренней аналитики (например базовых группировочных отчетов типа Отчет по заказам https://demo.lsfusion.org/mycompany-ru/ )
И печатные формы - на которых иногда делают сложные отчеты с фиксированной структурой (тут надо копать ERP смотреть)

BI-оборачиваемость это что-то сильно странное, но может им тоже кто пользуется, надо смотреть.
651 Bro
 
25.03.21
16:48
(640) Вы лучше MyCompany смотрите тогда, lsFusion ERP это больше с уклоном в крупную розницу, распредцентры и т.п. Хотя опять-таки по конкретным процессам это к CrushBy, я все очень контурно в этом плане знаю.
652 Bro
 
25.03.21
16:48
(646) https://habr.com/ru/company/lsfusion/blog/534756/
И значительная часть этого уже готово (но на ERP не обновлено):
https://habr.com/ru/company/lsfusion/blog/536898/
653 Bro
 
25.03.21
16:49
(647) Это ERP для крупной FMCG рознице. Там себестоимость как в производстве никто не считает.
654 Ёпрст
 
25.03.21
16:55
Ну надо же.. ну хоть чем то миста помогла.
Тот же капчион настраиваемый, про который твердили , что это не нужно, теперь позиционируется как достижение 4--ой версии..ну и т.д.
655 piter3
 
25.03.21
16:56
(653) Может вы о наценке пишите все-таки?
656 acanta
 
25.03.21
16:59
(655) а это не одно и тоже?
657 Ёпрст
 
25.03.21
17:00
посмотрел mycompany..одна недоделка.
Почему, если вы весь интерфейс на инглише заточили, есть места с русским языком ? Чего, например слово ВСЕ на All джун поменЯть забыл ?
658 Ёпрст
 
25.03.21
17:04
Ну и дальше, сплошной суржик. Часть интерфейса на инглише, часть по-русски.
659 Bro
 
25.03.21
17:07
(658) Хм... (Все) и все что связано с Загрузкой почему-то не заметили что странно (но сейчас еще раз скажу чтобы посмотрели строковые литералы). А где еще русский?
660 Bro
 
25.03.21
17:09
(654) капчион?
661 Ёпрст
 
25.03.21
17:09
(659) да везде..
662 Ёпрст
 
25.03.21
17:10
в настройке любой формы, в настройке любого репорта
663 Ёпрст
 
25.03.21
17:10
Сумма, таблица и т.д..
664 Ёпрст
 
25.03.21
17:11
думаю, даже китайцы испытают шок и трепят, если нажмут на шестерёнку в любой форме. А америконцы и подавно - скажут, русские шпиёны.
665 Ёпрст
 
25.03.21
17:11
не иначе.
666 Ёпрст
 
25.03.21
17:13
Ну хотя бы кой-какое выравнивание контролов научились делать.
667 Ёпрст
 
25.03.21
17:13
Не такой уж и вырви глаз, как в "ерп".
668 Ёпрст
 
25.03.21
17:14
Сплиттеров только местами не хватает. Ну и одинаковые кнопки для всех гридов с кучкой нелепых кнопок, которые не работают. Вы их скрывайте что ле..
Посчитать сумму ? Пронумеровать список ? Накуя ? Если там нет числовых колонок
669 Ёпрст
 
25.03.21
17:15
тултипы, тоже переводить надо.
670 _DAle_
 
25.03.21
17:16
(660) Заголовки закладок настраиваемые, насколько я понимаю.
671 Ёпрст
 
25.03.21
17:17
Ну и это..не надо всё время открывать новую вкладку, если она уже открыта, нужно фокус на неё переводить. Если нужно 2 одинаковые вкладки, то либо спец кнопарь, либо хоткей какой..
672 Ёпрст
 
25.03.21
17:17
(670) Да.
673 Ёпрст
 
25.03.21
17:18
Раньше вы говорили, что это нахрен не надо
674 PR
 
25.03.21
17:18
Граждане натужно копируют 1С, получается криво и местами, но скрип мозгов и пердеж слышен на всю Мисту :))
675 Ёпрст
 
25.03.21
17:20
(674) ну, еще пару лет и может, полетит
676 PR
 
25.03.21
17:21
Добавил строку, нажал Cancel, апшипка, говорит
Вот рукожопы
677 PR
 
25.03.21
17:21
(675) 20 лет уже взлетает
Говно, как его на лопате не подбрасывай, упадет обратно
678 Ёпрст
 
25.03.21
17:22
У грида.. когда сделаете кликабельными заголовки ? Чтоб сортировка была по колонке, по которой тыркнули ?
679 Ёпрст
 
25.03.21
17:23
(677) Да хз. Если самомнение, что мы номер один и всё вокруг г..о спрячут на пару лет и будут исправлять ошибки у улучшать, что чеб и нет, будем на фузине клепать поделки..
:))
680 Ёпрст
 
25.03.21
17:24
Про сортировку снимается, несколько раз тыркать надо
681 fisher
 
25.03.21
17:37
(650) Ладно. BI так BI. Фиг с ней с аналитической отчетностью. Просто счет клиенту распечатать или типа того - где пример глянуть?
682 fisher
 
25.03.21
17:46
В принципе, у меня в планах если смогу победить лень (пока не получается) - попробовать фузину просто в качестве веб-фрейморка для простеньких задач, где можно обойтись без печатных форм и аналитической отчетности. Тех возможностей, что я уже пощупал - для этого хватит с головой. Основной вопрос теперь - на каких минимальных ресурсах это добро сможет взлететь. Постгря, в принципе, достаточно нетребовательна при малой нагрузке. А вот сколько памяти захочет выжрать платформа - вопрос.
683 fisher
 
25.03.21
17:54
О! А я спрошу ТС. Ему-то легко будет глянуть, сколько на его тестовой задачке памяти жрется и насколько максимально можно "зажать" JVM по памяти.
684 _DAle_
 
25.03.21
18:02
(671) С открытием новой вкладки есть опция в администрировании, сейчас, правда, не подскажу, где именно, но это настраивается.
685 _DAle_
 
25.03.21
18:04
(680) Да, там даблклик, с зажатым ctrl можно добавить и вспомогательные сортировки.
686 fisher
 
25.03.21
18:11
Даблклик, кстати, хорошее решение. Не знаю, почему в 1С по клику сделали. Пользователь может случайно поменять сортировку и даже не отдуплиться.
687 kolts23381
 
25.03.21
18:38
Посмотрел демо версии. Как реализовано считывание штрихкода со сканера в режиме эмуляции клавиатуры. Как я понял нужно либо нажимать F4, либо добавить префикс в настройки сканера. В таком случае он всегда будет срабатывать, где бы не находился фокус?
688 lmike
 
25.03.21
19:51
(620) по общей практике на уровне динухов - перебор спокойно блочится фильтром на fail2ban (анализруя логи)
(621) хотя уже есть и "готовое" (как уже поисано)
, учитывая jvm - это вопрос решён 100500 раз в различных вариациях
даже с ГОСТ есть проприетарные (типа КриптоПро) и свобдные реализации щифрования/подписи (типа bouncy castle) и JWT
689 Злопчинский
 
25.03.21
22:57
690 Светлый путь
 
26.03.21
05:01
(683) С ходу не ответу, надо смотреть... Даже не задавался этим вопросом, ибо только смотрел язык и среду разработки.
691 Bro
 
26.03.21
09:06
(683) Вообще по умолчанию, некоторый фиксированный объем памяти жрут загруженные Java классы платформы (не смотрел но это по идее 150-200мб), а дальше все строго линейно зависит от логики. По идее для чего-то простого аля Турнирной таблицы там и 50мб быть может. Для MyCompany и 1гб может быть сверху.

Но тут нужно понимать две вещи:

1. Основное потребление памяти практически не зависит от числа пользователей. На сервере приложений практически нет прикладных данных, есть немного POJO оберток, но это слезы. Единственное что при увеличении числа пользователей увеличивается число веток, по которым они ходят (а значит и кэши запросов - то есть оптимизаций, компиляций и т.п.) и это косвенно увеличивает потребление (но тут см. пункт 2.)

2. Основное потребление памяти адаптивное (практически все идет через LRU кэши). Соответственно платформа таргетирует заданный процент памяти (по умолчанию емнип 60 +- 10%). Если выше этого порога кэши очищаются агрессивнее, ниже менее агрессивно. То есть по сути балансируется процессор / память.

В любом случае для микросервисной архитектуры скорее всего не подойдет, для всего что крупнее вполне. Ну и речь про сервер приложений, веб-сервер как чистый проксик жрет совсем мало (даже в расчет можно не брать).
692 Bro
 
26.03.21
09:11
(674) Да прям таки. Здесь:

https://habr.com/ru/company/lsfusion/blog/534756/

практически ни одного пункта реализовоннаго как в 1С нет (сравните например как вычисляемые заголовки сделаны https://habr.com/ru/company/lsfusion/blog/534756/#headings), ну или такого пункта в 1С вообще нет.

В 5, 6 версии:

https://habr.com/ru/company/lsfusion/blog/536898/

Та же картина.
693 Вафель
 
26.03.21
09:15
(692) сводных таблиц нет в 1с, но обычно для этого qlik юзают
694 Светлый путь
 
26.03.21
09:18
(693) Так недавно же 1С:Аналитику представили. Входит теперь в состав платформы.
695 Светлый путь
 
26.03.21
09:20
696 Bro
 
26.03.21
09:21
(693) Не начинайте :). 10к постов про это спорили, причем мы были по другие стороны барикад.
697 Krendel
 
26.03.21
09:22
(693) уже есть, но нфр версию пока а не продают
698 Bro
 
26.03.21
09:23
(695) Судя по вашей ссылке, это по сути сторонний механизм, аля тот же Qlik. Здесь речь идет о полной встроенности ("разных представлениях" прямо внутри приложения), как например это в Odoo или lsFusion сделано.
699 Bro
 
26.03.21
09:25
(698) "разных представлениях" любых списков имелось ввиду.
700 Светлый путь
 
26.03.21
09:25
(698) Да, внешний инструмент. К слову, может работать с "копий" базы данных, дабы не нагружать основную при выполнении "тяжёлых" запросов.
701 Bro
 
26.03.21
09:27
(700) И вы туда же :) Серьезно, откопайте старые ветки, там это обсуждалось ооочень долго.
702 Bro
 
26.03.21
09:31
(687) Да, binding'и ловятся в любом месте, где бы не был фокус на форме. Соответственно сканеры настраивают так, чтобы в буфер клавиатуры писать.
703 Bro
 
26.03.21
09:34
(681) В смысле? Зайдите в MyCompany в любой заказ и нажмите Печать. Или вы о чем?
704 Krendel
 
26.03.21
09:54
Пора отключать ветку
705 Krendel
 
26.03.21
09:55
начались предложения бесплатно поработать тестером
706 fisher
 
26.03.21
10:08
(691) > фиксированный объем памяти жрут загруженные Java классы платформы (не смотрел но это по идее 150-200мб), а дальше все строго линейно зависит от логики
Если так - то это очень хорошо. Другими словами, получится развернуть даже на пятибаксовой VPS от DO с гигом памяти.
707 fisher
 
26.03.21
10:13
Даже если с томкатами и постгрями не впихнется, то в два гига точно должно влезть, что тоже в принципе терпимо.
708 fisher
 
26.03.21
10:20
Вы там постарайтесь при разработке платформы учесть и это направление тоже и либо не чрезмерно утяжелять платформу, либо предусмотреть модульную структуру платформы с микроядром.
709 Bro
 
26.03.21
10:21
(707) Собственно демка MyCompany на 2гб по моему болтается. Причем она легко хабраэффект выдерживала (с >100 одновременными пользователями и 6 автоматически открываемыми не самыми простыми формами).
710 fisher
 
26.03.21
10:23
(708) + Для вашего текущего бизнеса это нафиг не надо, но в качестве относительно легковесного веб-фреймворка она тоже может иметь будущее. Во всяком случае именно это применение приходит в голову первым.
711 Bro
 
26.03.21
10:23
(708) Вот с микроядром это тонкий момент, безусловно все по максимуму в lsf'ы выносится, но тут все же полностью на 2 стульях будет тяжело усидеть. Все же сейчас основное направление использование это сложные бизнес-приложения с очень навернутой логикой (представьте по 5 задач в течении 5 лет, сколько там у некоторых заказчиков логики). И важный кейс быстрая разработка этой логики.
712 fisher
 
26.03.21
10:25
(711) Жаль.
713 Bro
 
26.03.21
10:28
(712) Ну это не значит, что мы не стараемся / не будем стараться. Но все же если стоит вопрос жестко : упрощение, ускорение разработки / увеличение производительности и т.п. vs легковесность, сами понимаете что приходится выбирать. Но пока средневесность вроде удается сохранять.
714 fisher
 
26.03.21
10:31
(713) Понятно, что базовая бизнес-логика будет только утяжеляться, обрастая фичами. Но хотя бы ту функциональность, которая половине заказчиков может не понадобиться (если платформу рассматривать как общего назначения), имело бы смысл предусмотреть возможность модульно "отсоединять".
716 Genayo
 
26.03.21
15:08
(715) Пруфы есть?
717 PR
 
26.03.21
15:09
718 H A D G E H O G s
 
26.03.21
15:11
Bro, так у вас трехзвенка или нет? Есть сервер приложения?
720 PR
 
26.03.21
15:12
(718) Есть, но он просто посредник между клиентом и скулем
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший