Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров1.7K
Эта статья – небольшой обзор продуктов компании lsFusion и того предлагает пользователям компания lsFusion. Взялся я за него после того, как в статьях «Почему я не люблю 1С» и «Стоит ли идти в 1С программисты в 2025 году» упомянул эту систему как одну из возможных альтернатив 1С. На тот момент я только читал о том, что есть такая система как lsFusion на Хабре, из любопытства заходил на их сайт и просматривал в поиске дополнительную информацию. Тогда я ее упомянул только как «одну из систем» в перечне альтернатив, так как сами они явно позиционируют себя как учетная система.
Далее уже в комментариях я увидел большой тред, где сравнивали 1С и lsFusion. Мне стал интересен автор комментариев, оказалось, что это работник lsFusion. Я с ним связался, чтобы самому лучше понять, что же это за программный продукт. Получил ответы на многие собственные вопросы, изучил ближе саму систему. И теперь хочу поделиться тем, что узнал, чтобы помочь людям, которые находятся в поиске альтернативы 1С.
Не стоит относиться к этому материалу, как к экспертному описанию от специалиста по lsFusion. Скорее, это взгляд со стороны, так сказать, информация не изнутри компании-разработчика, а именно со стороны. К слову, моя работа часто заключается и в таких вот исследованиях тоже.
Хотел бы сказать спасибо компании разработчику за сотрудничество и лично пользователю @CrushBy за предоставление необходимой информации .
Коротко про lsFusion ERP
Первое, что я хочу сказать, если вы ищете именно ERP-систему, далее можете даже не читать. lsFusion ERP вам не подойдет, так как там вообще нет производства, это система для управления розничной торговлей.
Я и сам был удивлен, даже спросил, а почему такое название? В ответ узнал, что так уж исторически сложилось. Но для организации производства она действительно не подходит. Зачем они так сделали, вопрос остается открытым.
Кроме того, компания имеет три сайта, посвященные разным продуктам линейки lsFusion. И в них очень легко запутаться.
Все они выполнены в едином стиле, более того, явно на одном шаблоне дизайна. А потому цвета, шрифты, расположение элементов на разных сайтах совпадает.
С одной стороны, это единый корпоративный стиль, брендбук и т.д. И я с этим полностью согласен. С другой, даже в рамках корпоративного стиля всегда можно сделать какие-то яркие визуальные отличия, а на этих сайтах они отсутствуют. Потому нужно внимательно читать, о каком именно продукте идет речь. Не запутайтесь.
Кстати, также интересно, но не очень понятно. При попытке сбора информации о системе поиск выдает название lsFusion. Такое название отображается даже при отображении официального сайта в поисковой выдаче, а также в их URL. А после перехода на сайт в «шапке» почему-то фигурирует надпись LSFusion. По некоторым данным, это старое название, и после ребрендинга компания не озаботилась логотипом. Впрочем, на этот вопрос лучше смогут ответить знатоки из числа сотрудников компании.
Что представляет собой lsFusion
В целом, lsFusion – это, прежде всего, система, написанная на Java. Система делится на две основные части:
-
Среда исполнения (с использованием LSFL*).
-
Среда разработки.
*LSFL – это мое сокращения (для простоты) названия языка на котором пишут решения lsFusion. Если традиционно уже сравнивать с 1С, то это и есть внутренний язык, аналогичный «языку 1С», на котором пишут внутри конфигуратора lsFusion. Т.е. если у нас есть 1С программисты, то здесь нужны специалисты отдельного профиля, назовем их lsFusion программисты.
Важно отметить что возможность использования плагина для IntelliJ IDEA для работы с LSFusion.
Язык программирования LSFL
Сам язык программирования LSFL(LS Fusion Language) – собственная разработка команды lsFusion. Но написано ядро на Java, а потому система на Java и запускается. Пример кода вы можете увидеть снизу.
Попробовать код что называется «в действии» вы можете в песочнице.
Пример кода
// logic description: https://docs.lsfusion.org/Materials_management/
REQUIRE Icon;
CLASS Stock 'Warehouse';
name 'Name' = DATA STRING[100] (Stock) IN base;
address 'Address' = DATA STRING[150] (Stock) IN base;
FORM stocks 'Warehouses'
OBJECTS s = Stock
PROPERTIES(s) name, address, NEW, DELETE
;
CLASS Item 'Product';
name 'Name' = DATA STRING[100](Item) IN base;
barcode 'Barcode' = DATA BPSTRING[13](Item) IN base;
salePrice 'Wholesale price' = DATA NUMERIC[17,2](Item) IN base;
FORM items 'Products'
OBJECTS i = Item
PROPERTIES(i) name, barcode, salePrice, NEW, DELETE
;
CLASS LegalEntity 'Organization';
name 'Name' = DATA STRING[100](LegalEntity) IN base;
address 'Address' = DATA STRING[150](LegalEntity) IN base;
inn 'TIN' = DATA BPSTRING[9](LegalEntity) IN base;
legalEntityINN = GROUP AGGR LegalEntity legalEntity BY inn(legalEntity);
FORM legalEntities 'Organization'
OBJECTS l = LegalEntity
PROPERTIES(l) name, inn, address, NEW, DELETE
;
CLASS Shipment 'Shipment';
CLASS ShipmentDetail 'Shipment line';
shipment 'Line document' = DATA Shipment (ShipmentDetail) NONULL DELETE;
index 'Line number' (ShipmentDetail d) =
PARTITION SUM 1 IF d IS ShipmentDetail
ORDER d BY shipment(d);
number 'Shipment number' = DATA BPSTRING[10] (Shipment);
date 'Shipment date' = DATA DATE (Shipment);
customer 'Customer' = DATA LegalEntity (Shipment);
nameCustomer 'Customer name' (Shipment s) = name(customer(s));
stock 'Warehouse' = DATA Stock(Shipment);
nameStock 'Warehouse name' (Shipment s) = name(stock(s));
item 'Product' = DATA Item (ShipmentDetail);
nameItem 'Product name' (ShipmentDetail d) = name(item(d));
quantity 'Quantity' = DATA NUMERIC[16,4](ShipmentDetail);
price 'Selling price' = DATA NUMERIC[17,2](ShipmentDetail);
sum 'Sale amount' (ShipmentDetail d) = quantity(d) * price(d);
price(ShipmentDetail d) <- salePrice(item(d)) WHEN CHANGED(item(d));
FORM shipment 'Shipment'
OBJECTS s = Shipment PANEL
PROPERTIES(s) number, date, nameCustomer, nameStock
OBJECTS d = ShipmentDetail
PROPERTIES(d) nameItem, quantity, price, sum READONLY, NEW, DELETE GRID
FILTERS shipment(d) = s
EDIT Shipment OBJECT s
;
FORM shipments 'Shipments'
OBJECTS s = Shipment
PROPERTIES(s) READONLY number, date, nameCustomer, nameStock
PROPERTIES(s) NEWSESSION NEW, EDIT, DELETE
OBJECTS d = ShipmentDetail
PROPERTIES(d) READONLY nameItem, quantity, price, sum
FILTERS shipment(d) = s
;
CLASS Receipt 'Receipt';
CLASS ReceiptDetail 'Receipt line';
receipt 'Line document' = DATA Receipt (ReceiptDetail) NONULL DELETE;
index 'Line number' (ReceiptDetail d) =
PARTITION SUM 1 IF d IS ReceiptDetail
ORDER d BY receipt(d);
number 'Receipt number' = DATA BPSTRING[10] (Receipt);
date 'Receipt date' = DATA DATE (Receipt);
supplier 'Supplier' = DATA LegalEntity (Receipt);
nameSupplier 'Supplier name' (Receipt r) = name(supplier(r));
stock 'Warehouse' = DATA Stock (Receipt);
nameStock 'Warehouse name' (Receipt r) = name(stock(r));
item 'Product' = DATA Item (ReceiptDetail);
nameItem 'Product name' (ReceiptDetail d) = name(item(d));
quantity 'Quantity' = DATA NUMERIC[16,4] (ReceiptDetail);
price 'Supplier price' = DATA NUMERIC[17,2] (ReceiptDetail);
sum 'Supplier amount' (ReceiptDetail d) = quantity(d) * price(d);
FORM receipt 'Receipt'
OBJECTS r = Receipt PANEL
PROPERTIES(r) number, date, nameSupplier, nameStock
OBJECTS d = ReceiptDetail
PROPERTIES(d) index, nameItem, quantity, price, sum READONLY, NEW, DELETE GRID
FILTERS receipt(d) = r
EDIT Receipt OBJECT r
;
FORM receipts 'Receipts'
OBJECTS r = Receipt
PROPERTIES(r) READONLY number, date, nameSupplier, nameStock
PROPERTIES(r) NEWSESSION NEW, EDIT, DELETE
OBJECTS d = ReceiptDetail
PROPERTIES(d) READONLY index, nameItem, quantity, price, sum
FILTERS receipt(d) = r
;
receivedQuantity 'Total income' = GROUP SUM quantity(ReceiptDetail d) BY item(d), stock(receipt(d));
shippedQuantity 'Total expenses' = GROUP SUM quantity(ShipmentDetail d) BY item(d), stock(shipment(d));
currentBalance 'Current balance' (Item i, Stock s) = receivedQuantity (i, s) (-) shippedQuantity (i, s);
CONSTRAINT currentBalance(Item i, Stock s) < 0 MESSAGE 'The balance of the product cannot be negative';
FORM currentBalanceItemStock 'Current balances'
OBJECTS si = (s = Stock, i = Item)
PROPERTIES READONLY name(i), barcode(i), name(s), currentBalance(i, s)
FILTERS currentBalance(i, s)
;
NAVIGATOR {
NEW FOLDER masterData 'Directories' FIRST WINDOW toolbar {
NEW items;
NEW stocks;
NEW legalEntities;
}
NEW FOLDER documents 'Documents' AFTER masterData WINDOW toolbar {
NEW receipts;
NEW shipments;
}
NEW currentBalanceItemStock AFTER documents;
}
Основная парадигма этого языка может быть описана как «Everything is code».
В LSFL нет «традиционного» графического интерфейса пользователя (GUI) в привычном для нас понимании. Т.е. вся логика приложения, начиная от структуры таблиц до визуального интерфейса, задается в виде файлов на языке LSFL.
Больше о самой структуре, компиляции файлов, вы сможете узнать из документации. Здесь я подробно на этом останавливаться не буду. Скажу только, что расширения этих файлов должны быть «LSF». Таким образом, прямо в коде описываются интерфейсы, а также логика работы системы.
Тезисно об особенностях LSFL:
-
Про синтаксис ничего говорить не буду, тут дело во многом вкуса. Но мне нравится их подход, который можно назвать «Everything as Code»
-
Для подключения доступны только базы данных на PostgreSQL.
-
Система имеет готовый API. Таким образом, если вам нужно подключить сайт или провести интеграцию с какой-то другой системой, вы сумеете это сделать. Для интеграции используется веб сервер Tomcat, который позволяет отправлять, получать и записывать данные через HTTP (методы GET и POST)
Платформа предоставляет возможность добавить методы для создания своих API запросов по HTTP.
Среда исполнения и клиентская архитектура
До версии 6 существовала собственная среда исполнения и, соответственно, локальный клиент, который можно было установить на компьютер. Клиент подключался к базе данных, а также отображал «картинку», т.е. интерфейс обращался к серверу приложений (как и служба Tomcat, только напрямую), а сервер приложения уже к базе данных.
lsFusion запускается прямо через браузер без установки специализированного клиента. Разработчики настойчиво пропагандируют именно такой подход. Это означает, что вы открываете браузер, подключаетесь к серверу, и через него работаете с системой. К тому же как заявлено разработчиком, теперь поддерживается PWA.
Для работы системы требуется запустить сервер, который работает на платформе Tomcat – популярном Java-сервере для веб-приложений. Вы запускаете сервер, и он обеспечивает доступ к функционалу системы через HTTP. Таким образом, необходимость в локальном клиенте отпадает в принципе.
Так как система написана на Java, здесь практикуется подход одностраничного приложения (Single Window Application).Вы работаете в одном окне, и вся логика расположена внутри этого окна. Получается обычное приложение.
Хорошо это или плохо? Я считаю, что хорошо. Какой смысл писать и устанавливать какие-то специальные клиенты, которые могут работать лучше или хуже, имеют какие-то свои системные требования, нуждаются в обновлениях, если можно работать просто в браузере. Браузер точно будет работать хорошо. И к такому подходу у меня лично вопросов нет.
Сам интерфейс реализован с использованием последней версии Bootstrap (на момент написания статьи это Bootstrap 5.3.3) Таким образом, вы собираете интерфейс на Bootstrap.
Решения на базе LS Fusion
Теперь, когда мы разобрались с тем, как запускается lsFusion, стоит разобраться, что же вы сможете на ней запускать? Перейдем к существующим решениям на базе lsFusion.
На самом деле, подобных решений существует множество. Большинство из них созданы, чаще всего, для себя (компаний в которых они работают). Посмотреть их нет никакой возможности, так как специальные демоверсии такие энтузиасты редко создают, а к рабочим внутренним данным никто постороннего человека не пустит. К тому же так как платформа не требует активации каких либо лицензий, то и возможности узнать сколько компаний используют платформу тоже нет.
Потому рассмотрим основные три решения, созданные на платформе lsFusion:
-
MyCompany
Учетная система, в которой вы можете фиксировать основные операции, торговые и некоторые другие. Подробно все возможности я описывать здесь не буду, их вы сможете изучить при желании самостоятельно.
Самое главное – система полностью бесплатна, а также имеет открытый код под лицензией Apache 2.0 , что позволяет вносить доработки. Таким образом, вы можете в рамках этой системы использовать стандартные торговые функции. А при желании удалить любую из них или доработать систему так, как вам это необходимо.
Вы можете заказать услуги по доработке и сопровождению непосредственно у компании разработчика.На сайте об этом прямо написано, и насколько я понял, это основная статья доходов разработчика.
-
WMS
Это решение для управления складом. Система пока еще находится на стадии бета-тестирования. Потому особо рассказать о ней мне нечего. Думаю, что скоро выйдет уже финальный релиз, и разработчики сами расскажут о системе подробнее, тем более, что на официальном сайте есть свой блог, где описываются все существующие продукты.
-
lsFusion ERP
Об этом решении я уже писал выше. Напомню, что система не предназначена для организации производства, вопреки названию. Это, скорее, учетная система для розничного предприятия.
Важно, что это коммерческое решение, т.е. в отличие от остальных систем, распространяемых под открытыми лицензиями, эта система платная. Конечно, вы можете ее скачать и пользоваться на своем компьютере, так как сам программный продукт есть в открытом доступе и доступен для скачивания. Но для полноценной работы в lsFusion ERP необходимо будет приобрести коммерческую лицензию.
Кроме того, в официальном перечне решений на сайте разработчиков, рекламируются партнерские проекты:
-
MITE — созданное на платформе lsFusion. “облачное” решение-конструктор, предназначенное для организации промышленного интернета вещей. Продукт постоянно отслеживает работу датчиков iOT, уведомляет о сбоях или изменениях в работе.
-
barSetting — еще одно “облачное” решение от партнеров, ориентированное на работу предприятий сферы общественного питания. Поддерживает складской учет, организацию пищевого производства, контроль рецептуры, автоматический прием заказов, контроль обслуживания и т.д.
-
MyBalance — бесплатный набор форм для организации работы плановых отделов предприятий. Помогут дополнить или заменить работу с электронными таблицами. Чаще всего используются как инструменты автоматизации работы с Google-таблицами, дополняя их готовыми формами с дальнейшим автоматическим распределением данных по таблицам.
Как видите, перечень готовых программных решений на сегодняшний день не впечатляет. И предназначается преимущественно для организации отдельных аспектов работы малого и среднего бизнеса (исключение — коммерческий продукт lsFusion ERP, где можно говорить о полноценной организации работы торговой компании.
Итак, при использовании lsFusion у вас есть выбор:
-
Создавать собственное решение.
-
Покупать готовый продукт lsFusion ERP (подходит для торговых сетей).
-
Выбрать готовое бесплатное решение MyCompany(подойдет для небольших торговых компаний).
Тем не менее потенциал у проекта имеется. Продукты с открытым программным кодом я в целом приветствую. Также мне в целом понравилось, что разработчики предпочитают не плодить лишние сущности — локальные клиенты с закрытым кодом, мобильные аналогичные приложения, как это делает та же компания 1С. Это избавляет пользователей от вечных проблем с обновлениями и повышает надежность работы системы.
В целом, я изучил немного количество скачиваний, отзывы и описания разных решений на lsFusion. Мой вывод: если эти решения используют, значит, они имеют право на существование. А как эта информационная система будет развиваться, будущее покажет.
Мобильный клиент
Как такового, официального отдельного мобильного приложения у lsFusion не существует. на практике они активно используют мобильные интерфейсы. Более того, как мне рассказали, многие процессы, например, в той же системе управления складом LSF WMS, выполняются именно на мобильных устройствах, часто с использованием сканеров.
Реализуется это по принципу уже всем привычного адаптивного дизайна. Когда вы открываете страницу, платформа определяет, заходите вы с компьютера или мобильного устройства, ориентируясь, в первую очередь, на размер экрана вашего устройства. И если оказывается, что вы загружаете систему со смартфона или планшета, система применяет другие стили, подходящие под мобильные устройства. А также иначе формирует навигационное меню, чтобы все корректно отображалось на небольшом экране.
Сами же формы рисуются одинаково, что для компьютера, что для мобильного устройства. Тут, скорее, дело в подходе к разработке дизайна: если предполагается работа с формы на мобильном, то ее изначально стараются сделать компактной, чтобы она помещалась на маленький экран. А дальше уже настраивается автоматическое открытие нужных форм на мобильном в зависимости от пользователя или его роли в системе.
В основе выбора такого подхода – стремление разработчиков к простоте и браузерным решениям в сочетании с наличием в современных мобильных операционных системах и браузерах возможности настроить так называемый PWA (Progressive Web App). Эта технология позволяет открыть обычный сайт как мобильное приложение, выбрав нужный ярлык на экране. И тогда он действительно очень похож на обычное приложение, установленное из магазина.
Кстати, если есть желание посмотреть, как это работает, компания предлагает демо-версию продукта MyCompany. Если зайти на него со смартфона, система автоматически предложит установить его как приложение (удалить его не проблема, потому при желании можно и согласиться). Там уже есть отдельные формы, адаптированные под мобильные устройства. В общем, можно «руками пощупать» и оценить удобство реализации. Например, в форму «Изображения» можно загружать фото товаров прямо с камеры телефона.
Поддержка и монетизация
И, напоследок, поговорим о сервисе, его рекламе и доходах. А начнем с обещанного ранее описания технической поддержки.
Поддержка осуществляется через Slack, Telegram, электронную почту и телефон. Последний вариант подходит преимущественно пользователям из России и Беларуси. Основным каналом связи считается Telegram. Об этом также говорят, что «так исторически сложилось». В целом, в поддержку люди пишут, получают помощь и ответы на вопросы. Причем, пишут туда как покупатели пользователи бесплатных базовых версий, так и программисты, которые заинтересовались работой в системе lsFusion. В целом, поддержка работает и как классическая помощь пользователям, и как некое профессиональное сообщество на официальном Telegram-канале.
«Локомотивом» продвижения продукта служит, как я понял, сама платформа. Она распространяется бесплатно и служит базой для остальных решений. А зарабатывают они преимущественно на продаже коммерческой конфигурации, сопровождении, доработках и дополнительных услугах.
Можно ли рассматривать lsFusion как конкурента 1С?
Если рассматривать систему lsFusion на уровне платформы, возможностей здесь значительно меньше, чем в 1С. И с этой точки зрения можно сказать, что lsFusion явно проигрывает.
С другой стороны, далеко не все возможности бывают нужны. Более того, 1С и я, и многие другие как раз критикуют за излишек ненужных функций. ( в том числе и я ), которые невозможно удалить, так как структуре недостает модульности.
И что мне особенно нравится в lsFusion, что здесь нет такой жесткой привязки к предметной области. Здесь нет обязательных регистров, планов счетов и т.д. Я, как человек, который привык работать с DRUPAL, PHP, Java-скриптами, Java, т.е. с языками программированиями как таковыми, это очень высоко ценю. При работе с этими инструментами я свободен от обязательной предметной области.
Еще один плюс lsFusion — бесплатная платформа. А потому здесь есть открытый код, и нет ограничения по количеству пользователей, что также заметный плюс. Кроме того, платформа lsFusion написана на Java. А этот язык нетребователен к ресурсам. А потому и готовая система также занимает намного меньше места на диске, не столь требовательна к ресурсам сервера и локальных компьютеров, как 1С.
А вот с точки зрения готовых решений lsFusion, несомненно, проигрывает. Число готовых продуктов здесь несопоставимо меньше, чем в 1С. Количество различных готовых конфигураций 1С огромно, можно найти подходящий продукт практически для любого типа бизнеса. О качестве конфигураций 1С я здесь говорить не буду, а вот количество вызывает уважение.
Система lsFusion пока что не может похвастаться особым разнообразием. Но при желании вы всегда можете скачать бесплатное решение MyCompany, изучить его, возможно, доработать или заказать доработки, и попробовать с ним работать.
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Работа с документом «Учет укладки ковров»
Общий порядок работы с документом «Учет укладки ковров»: заведующий магазином вносит в документ информацию по укладке/замене ковров на магазине. Данный документ позволит вести автоматический учет по укладке/замене ковров на магазине.
Последовательность действий заведующего магазином:
Заведующий магазином создаёт документ «Учет укладки ковров» для своего магазина один раз в месяц и в течении данного месяца редактирует документ, добавляя значения.
Работа в программе LS Fusion заведующего магазином
Создание документа. (!!! Документ создается один на месяц!!!)
- Зайти в документ «Розничная торговля – Справочники – Учет укладки ковров»;
- Нажать на кнопку «Добавить»;
3. В созданном документе в шапке необходимо заполнить поля:
- «Дата с» и «Дата по» выбрать период документа (месяц);
- «Магазин» из открывающегося списка выбрать свой магазин, проставив в поле «Вкл» после нажать кнопку «Ок»;
- «Организация» заполняется автоматически при выборе магазина;
- «Дата создания документа» заполняется автоматически при создании документа на магазин;
- Нажать на кнопку «Добавить» и заполнить поля:
- «Дата укладки» — выбрать соответствующую дату;
- «Размер коврика» — выбрать соответствующий размер ковра из списка;
- «Примечание» — заполняется вручную, можно оставить пустым.
5. Нажать на кнопку «Сохранить».
Редактирование документа. (в текущем месяце)
- Зайти в документ «Розничная торговля – Справочники – Учет укладки ковров»;
- Найти свой магазин;
- Нажать на кнопку «Редактировать»;
4. В открывшемся окне нажать на кнопку «Добавить» и заполнить поля:
- «Дата укладки» — выбрать соответствующую дату;
- «Размер коврика» — выбрать соответствующий размер ковра из списка;
- «Примечание» — заполняется вручную, можно оставить пустым.
- Нажать на кнопку «Сохранить».
…
8 июля 2024
1221 просмотров
Электронные весы MERTECH прошли интеграцию с софтом LSFUSION ERP 4R. Это ERP-система нового поколения для автоматизации торговых предприятий. Интеграцию прошли серии MERTECH M-ER 725, 727, 828. Рассказываем, как подключить весы MERTECH M-ER к ERP-системе, и какие возможности это открывает для автоматизации бизнеса.
Как подключить новое устройство
Интеграция электронных весов серий MERTECH M-ER 725, 727, 828 выполняется через модуль управления оборудованием. В разделе меню «Модели весов» найдите строчку «Обработчик» и укажите в ней модуль с названием: equ.clt.handler.mertech.MertechPMHandler.
Перейдите в раздел «Группы весов». Добавьте в группу новое устройство, указав его IP-адрес. На этой же странице можно выбрать «Код для весовых товаров» и «Код для штучных товаров». Коды будут передаваться на устройство как префиксы к названиям продуктов.
Дополнительная настройка проводится в служебном файле /usr/share/lsfusionEQU/conf/settings.xml В документе можно создать новый раздел и прописать в нем настройки подключенных весов.
Чтобы начать работу с оборудованием, понадобится обновить и справочник товаров. В карточках нужно поставить галочки в поле «Передавать на весы». После этого информацию о товаре можно будет выгружать на внешнее устройство.
На подключенное устройство передается:
- название товара;
- информация о штрихкоде;
- признак товара (весовой или штучный);
- срок годности в часах или днях;
- другие характеристике продукта.
Если в карточке товара стоит галочка в поле «Дробный», в системе он определяется как весовой. Когда галочка не стоит, товар учитывается как штучный. Даты окончания срока годности продуктов определяются по закупочным накладным.
Чтобы передать каталог с товарами, используйте функцию «Загрузка в оборудование». В системе будет создан отчет с датой и временем отправки файлов и датой, когда устройство приняло эту информацию.
Возможности ПО LSFUSION ERP 4R
ERP (Enterprise Resource Planning) — это метод управления ресурсами предприятия, при котором вся информация о бизнес-процессах хранится в одной программе. В ERP-системе все процессы отражаются в реальном времени, в том числе отчеты о продаже весовых товаров.
LSFUSION ERP 4R работает на основе бесплатных технологий: Java, PostgreSQL, Linux, web и т.д. Система поддерживает любое количество пользователей и торговых точек. ERP-система собирает отчеты о ведении бизнеса в общее хранилище. LSFUSION ERP 4R обеспечивает мгновенную актуализацию данных по запросу. Программа адаптирована под российское, белорусское и узбекское законодательство. Система поддерживает интеграцию с ЕГАИС и обязательной маркировкой «Честный ЗНАК».
Программа легко интегрируется с внешними сервисами: CMS для поддержки интернет-магазинов, WMS для управления складами, бухгалтерскими сервисами. У системы минимальные требования к каналам связи. К ней можно подключать большой список моделей торгового оборудования, в том числе настольные весы MERTECH M-ER 725, 727, 828.
Основные функции LSFUSION ERP 4R:
- управление торговыми точками;
- управление интернет-магазинами;
- планирование закупок;
- управление продажами;
- взаиморасчеты с контрагентами;
- управление производством;
- работа с лекарственными препаратами;
- аналитика для бизнеса;
- работа с торговым оборудованием;
- логистика и управление транспортом;
- внешнеэкономическая деятельность.
Программное обеспечение LSFUSION ERP 4R подходит для автоматизации торговли любого масштаба: от маленьких магазинов до федеральных розничных сетей. В программе заложены возможности для гибкого масштабирования. Владельцы бизнеса могут подключать только нужные инструменты без дополнительных затрат. Доступно поэтапное внедрение ERP-системы без остановки торговли.
Для развертывания и настройки программы не нужно IT-образование. С задачей справится любой сотрудник с навыками работы за компьютером. Бизнес-аналитик может предложить свое видение логики работы программы, систематизации данных и интерфейса.
Характеристики электронных весов MERTECH M-ER
В серии MERTECH M-ER 725, 727, 828 входят фасовочные весы для магазинов, складов, торговли в формате Dark Kitchen и Dark Store. Каждая серия содержит классические весы и инновационные устройства с компьютерным зрением. Благодаря технологии VISION-AI они самостоятельно распознают товар на платформе. Точность распознавания достигает 99%, нейросеть обучается во время работы.
Преимущества электронных весов:
- Операционная система на основе Android 6.
- Диагональ сенсорного экрана 15 дюймов.
- Чувствительный дисплей реагирует на слабые касания.
- Ресурс экрана рассчитан на 50 миллионов нажатий.
- Устройство подключается к компьютеру по USB, Ethernet или Wi-Fi.
- Прочный корпус с высокой степенью защиты.
Серия MERTECH M-ER 725 — модели с печатью этикеток и сенсорным экраном. Отличительной чертой серии является установка принтера внутри вертикальной стойки. Печатающее устройство подает липкие этикетки на комфортной высоте. Весы обладают прочным и устойчивым корпусом. Замена катушки с этикет-лентой выполняется за 15 секунд. Технология VISION-AI существенно упрощает и ускоряет поиск товара.
Серия MERTECH M-ER 727 — это модифицированные весы с принтером этикеток. В отличие от предыдущей серии, в этом варианте принтер этикеток установлен в основании. Такая конструкция позволяет уменьшить размеры устройства и сделать дизайн более легким и современным. Все технические характеристики двух серий полностью совпадают.
Серия MERTECH M-ER 828 — фасовочные модели без принтера. Весы этой серии разработаны специально для прикассовых зон розничных магазинов. Это специализированные устройства, легко интегрируемые с кассовыми программами. Использование сенсорного экрана и технологии VISION-AI позволяет быстро найти товар и передать его вес в кассовый чек. Оборудование упрощает работу кассиров и ускоряют продвижение очереди.
Вы можете купить электронные весы MERTECH M-ER на официальном сайте MERTECH. При оформлении заказов доступны низкие цены. Оставьте заявку, и мы поможем выбрать подходящую технику для розничной торговли.
Здесь будем сравнивать «Фузину» для тех, кто занимается 1С. Поймем, годится ли эта белорусская разработка на Java на роль «убийцы 1С».
Рабочая среда
Кросс-платформенная. Windows / Linux / MacOS. Тестировались практически все версии (Java везде работает).
В качестве СУБД сейчас используется только Postgree. В будущем возможны другие СУБД.
Установка
Под Windows платформа и PostgreSQL устанавливается обычным инсталлятором.
Под Linux и платформа и PostgreSQL вместе ставятся одной командой, описание.
Для разработчика также существует инсталлятор всех программ сразу.
Клиент-серверная архитектура
Практически весь код выполняется на сервере. Небольшая часть кода выполняется на сервере приложений.
Существует возможность выполнить Java-код на клиенте — инициатором этого выступает сервер по логике приложения. Например: издать звуковой сигнал на клиенте или распечатать чек на ККМ через COM-объект.
Контекст клиента пока не сохраняется, т.е. вызов создает разовый клиентский контент, но вопрос решаемый при желании через static методы Java.
Исходя из заданной логики в скриптах генерируются SQL запросы и выполняются в PostgreSQL. В очень редких случаях идет итерирование на сервере приложений.
Формы хранятся на сервере и при изменении в них отображаются на клиента. Это важное отличие от 1С, программисту не приходится заботиться о разделении кода клиента и сервера, потому что весь код серверный.
Программисту также не приходится беспокоиться об асинхронности, нововведения в 1С83, асинхронное исполнение реализуется средствами платформы.
В качестве клиентского приложения используется браузер или собственный десктоп-клиент написанный на swing (это такая Java-библиотека оконного интерфейса). На практике клиенты используют 50/50 эти варианты.
У lsFusion ставятся две службы — lsfusion4-server и lsfusion4-client. Первый — это сервер приложений, он загружает всю логику приложений, транслирует ее в SQL, выполняет действия и многое другое.
Вторая — это веб-сервер (по сути Tomcat с установленной на него веб-приложением для lsFusion). Он генерирует страницу, отдает java script и т.д. Он же отдает десктоп-клиента через Java Web Start.
Под Windows первая служба называется lsFusion4 Server, а вторая lsFusion 4 Client.
Пользовательский интерфейс
Видео, демонстрирующее интерфейс:
Элементы форм описываются как в управляемых формах 1С через иерархию элементов. Абсолютно любое построение дизайна — это просто иерархия компонентов внутри контейнера. Наиболее яркий представитель — это HTML, который, как правило и пишется вручную. Но есть и плагин к IDEA, который показывает результат по мере написания кода.
Прокрутка списков реализована через обычный ползунок с дочитыванием по мере скроллирования. Т.е. в платформе уже автоматизирован довольно сложный механизм подгрузки динамических данных, без необходимости разбивки списков на страницы.
В отличии от 1С нет возможности динамического создания элементов формы. Есть декларативная конструкция SHOWIF. При помощи нее можно указывать условие-выражение, когда компонент прячется. Таким образом можно делать динамическое отображение элементов в зависимости, например, от данных. Все же, если требуется совсем динамическое построение формы, можно использовать EVAL, который выполнит форму из сгенерированного в строку текстового описания. Правда, добавить элементы в уже созданную форму не получится.
Формы выполняются на сервере, на клиенте только отображаются платформой. Это экономит время на передачу контекста формы между клиентом и сервером, делает работу более безопасной (потому что выполнение на сервере, а не на клиенте) и снимает с программиста нагрузку на ручное разделение клиентского и серверного контекста.
По интерфейсу можно подробнее почитать:
- Особенности реализации динамических списков в пользовательских интерфейсах
- lsFusion 4: сводные таблицы, графики, карты и календари, OAuth-аутентификация, темная тема и многое другое
База данных
Ключом объекта является автоматически генерируемое число long по счетчику.
Для объектов возможны вычисляемые свойства, которые реализуются затем при отображении на SQL, как View.
Составные типы полей организуются через оператор STRUCT, но как правило это все-таки по другому делается (через дополнительную сущность) или просто используются разные параметры в выражениях.
Для выделения подсистем обычно используется maven с его artifact“ами, то есть уже готовая инфраструктура.
Обновление баз данных
Обновление конфигурации происходит автоматически. Обновление — это помещение одного jar-файла (с собранным модулями при помощи IDEA – Build artifacts) в соответствующую папку и перезапуск службы сервера приложений lsFusion.
При этом при запуске службы структура базы данных автоматически приводится в соответствие с описанием новой структуры. Это отрабатывает в случае простых изменений, когда просто изменились типы или добавились/удалились поля/сущности).
Если требуется, чтобы при изменении конфигурации отрабатывали скрипты (например, при переносе данных из старого прикладного объекта в новый), это называется миграция. Обычно, если нужна какая-то миграция, то просто создается внутри кода специальный флаг на то, что миграция проведена, и если его нет, то запускается соответствующая миграция.
Т.к. у полей нет GUID, то переименовывание полей нужно реализовывать особым образом. Есть такое понятие, как migration.script. Когда в IDEA нужно переименовать поле или сущность, то жмется Rename и там есть галочка — добавить изменение в migration.script. Тогда на старте сервера, он увидит, что версия migration.script изменилась и автоматически проведет переименования за нужные версии.
Обновление у клиента можно сделать автоматическим, написанием небольшого скрипта, который подгружает с сервера новую конфигурацию и перезапускает службу. Что позволяет поддерживать систему у клиента автоматически в актуальном состоянии.
Разработка
Разработка ведется при помощи плагина в IntelliJ IDEA Community Edition. На уровне плагина проверяется очень много (так как есть статическая типизация). Если плагин не показывает ошибок, то сервер с большой долей вероятностью запустится и будет работать корректно.
Большинство разработки ведется в текстовом виде. Есть возможность проверки, как будет выглядеть форма в процессе разработки через специальный плагин.
Используется свой внутренний язык/синтаксис, который больше всего похож на SQL. Язык автоматически платформой транслируется в SQL. Возможно использование Java-кода.
Есть модульность — можно разбивать как угодно логику по модулям. Есть два варианта повторного использования — через полиморфизм и наследования, а еще можно через метакод (псевдогенерация кода META). Ну и кроме того, сам механизм свойств — это и есть очень сильное повторное использование. Например, делается свойство остаток (Товар, Склад), которое как-то вычисляется, а остальные используют это свойство, не зная как оно считается.
Можно строить любые библиотеки (например аналог БСП в 1С) с конкретном функционалом и объединять их при помощи Maven.
Важно понимать, что большинство вычислений идет именно на SQL сервере. Со строками соответственно тоже работа идет в PostgreSQL. Лимиты определяются уже им (то есть нет никаких лимитов на строки).
Что касается коллекций, то в lsFusion вообще другой принцип задания логики. Свойства и есть по сути соответствия и таблицы значений. Можно создавать локальные свойства (DATA LOCAL), которые и будут храниться и обрабатываться как таблицы значений.
Доработки типового кода
Важно понимать, как реализовывать доработки «типового» кода.
В принципе, с помощью git можно сравнить три конфигурации — старую, старую доработанную и новую. Но на практике применяется другой подход.
Сама логика модульности позволяет сделать прозрачное разделение типового и доработанного кода. Логика клиентов одного продукта может отличаться на 20-30% при неизменной базовой версии. Подробнее тут.
Модульность — одно из основных преимуществ. В любом модуле (текстовом файле) можно через EXTEND FORM, или добавлением ограничения (CONSTRAINT), или события (WHEN) или просто свойства можно добавлять любой функционал, собирая затем из таких маленьких логически завершенных модуль все решение.
Есть еще Интерпретатор, где можно в runtime выполнять любой код, что позволяет реализовывать механизм дополнительных внешних обработок.
Отчеты
С точки зрения получения данных, обычная форма и отчет строятся абсолютно идентично. А непосредственно графическое представление строится при помощи JasperReports. Собственно при помощи стандартного экспорта JasperReports делаются EXCEL, PDF, DOCX файлы.
Для динамических отчетов, как правило, используем либо сам механизм форм (в которых уже можно SHOWIFами прятать элементы), либо pivoting из lsFusion 4. Т.е. программная сборка отчета из областей макета, которая была в 1С7, здесь не используется.
В lsFusion нет разделения на формы и отчеты. Интерактивные отчеты — это и есть формы. В них соответственно можно делать и события и изменения. Ну и плюс pivoting.
Печатные формы генерируются через JasperReports.
Интеграции
Работа с файлами, Работа HTTP, XML, JSON реализована во встроенном языке. Для того, что не реализовано, можно использовать Java.
Распределенные базы пока не поддерживаются — не было ни разу необходимости, в связи с широким распространением Интернет. Однако план обмена можно реализовать вручную, причем передачу данных непосредственно подключением к центральной базе, без номеров сообщений. Что проще реализации от 1С.
Торговое оборудование
Имеется опыт взаимодействия с различным торговым оборудованием.
- Ряд производителей оборудования (например ККМ от Атолл) предоставляют локально устанавливаемый web-server, к которому делается HTTP запрос через встроенный оператор EXTERNAL HTTP CLIEnT, а он уже сам через встроенный драйвер по ком-порту обращается к оборудованию. Работает и в веб-клиенте и в десктоп-клиенте. Это делается на lsf. Пример.
- Пишется на Java код, который обращается к dll-ке (или so для linux’а) от поставщика оборудования. Код пишется на сервере (как и dll-ка хранится на сервере), а сама платформа доставляет во время выполнения этот код на десктоп-клиент (который на Java) и там же выполняет. Пример (там подключение идет через Native.load)
- Пишется на Java код, который через java-библиотеку jacob обращается к COM-объектам. Пример. Там в частности делается обращение к activex объекту через ActiveXComponent
- Пишется на Java код, в соответствие с протоколом оборудования, который напрямую работает по протоколу через ком-порт. Остальное аналогично пункту про dll.
Лицензия
Вопрос лицензий — крайне важный. Потому и ищется «убийца 1С», что у 1С закрытая платформа, которую в случае гибели фирмы 1С некому будет развивать и сама платформа стоит очень дорого, поэтому недорогие решения на ней не могут найти сбыта.
Платформа полностью бесплатна для разработчика. И главное даже не бесплатность, а максимально свободная LGPL лицензия.
Нет никаких скрытых нюансов по лицензированию СУБД в коммерческих решениях?PostgreSQL имеет очень свободную лицензию.
Исходный код открыт на случай внезапного закрытия компании и расположен тут.
Разработчик планирует зарабатывать на капитализации. А текущие расходы давно покрывает с прибылью за счет продажи коммерческого решения lsFusion ERP в Беларуси.
Варианта поставки клиенту “без исходного кода” или шифрования кода пока нет. Планируется, но особого смысла нет, так как при желании всегда можно будет разобрать из объектов в памяти, хоть и не так просто.
Фузина работает пока только на сервере клиента. Но кто угодно может сделать и облако.
Сообщество
Главный сайт по Фузине: lsfusion.org (Eng и Rus)
Блог на хабре: по тегу lsfusion.
На Youtube пока нет канала по Фузине, что плохо, учитывая маркетинговые потери за время существования Фузины.
Для Фузины выделена целая секция на Мисте. Там ведутся довольно жаркие баталии с 1Сниками.
Репозитария решений для Фузина вроде Инфостарта (с платным скачиванием) пока нет, только внутренний бесплатный репозитарий решений: https://github.com/lsfusion-solutions
Что дальше?
Планирую ознакомиться с обсуждением Фузины на Мисте, написать по результатам следующую статью, но главное — попробовать на практике Фузину.
Установлю среду разработчика и попробую написать каркасное приложение, которое используется на экзамене по 1С:Специалист — т.е. простейшую складскую конфигурацию с складами, номенклатурой, приходом, расходом и партионным учетом FIFO, отчетами по движению и остаткам товаров, печатными формами прихода и расхода.
Это мне нужно, чтобы оценить сложность разработки на Фузине. После этого я уже более точно смогу сказать, насколько отличается Фузина от 1С.
LS Fusion расширяет ваши возможности
На прошедшей в конце февраля в Минске конференции «Автоматизация торговых предприятий: теория, практика, современные тенденции» компания «ЛюксСофт» представила свое инновационное программное решение LS Fusion. Продукт, на разработку которого ушло четыре года, на данный момент не имеет аналогов на рынке. В свою очередь, компания «БелКристаллСервис» анонсировала новую версию единственной системы управления всем торговым залом SET Retail 10. Оба продукта полностью совместимы друг с другом и вкупе представляют самое современное решение по автоматизации любого объекта торговли.
Торговая система Fusion Trade — централизованное решение для розничной и оптовой торговли, в т. ч. для крупных розничных сетей и распределительных складов, разработанное с учетом международных стандартов ведения бизнеса. Применяется для реализации проектов со сложной бизнес-логикой, большими объемами информации и / или количеством пользователей.
Это собственная разработка специалистов компании «ЛюксСофт», которая является резидентом Парка высоких технологий. Решение пришло на смену торговой системе LS-Trade первого десятилетия 2000-х и еще более ранней торговой системе «Ветразь». Над ее разработкой несколько лет трудилась команда программистов и специалистов с экономическим образованием. Среди них немало победителей республиканских и международных олимпиад по программированию и математике, чемпионатов мира.
Размещайтесь в «облаке»
При создании системы были использованы самые современные и распространенные в своей области java-технологии и трехзвенная архитектура приложения. Это позволяет легко наращивать кластеры серверов при большом росте числа пользователей, хранить информацию в рамках единой базы данных, использовать web-технологии, мобильные каналы связи и т. д. Сейчас широко развиваются «облачные» технологии, которые позволяют использовать ресурсы серверов удаленных дата-центров. Специалисты уверены, что рано или поздно компании оценят преимущества, которые предоставляют эти технологии, и перейдут на них. И, в отличие от более ранних системных решений, с LS Fusion они могут это сделать.
Универсальность
Чаще всего торговые системы разработаны под конкретный вид торговли — для супермаркетов, аптек, магазинов одежды. И далеко не всегда они соответствуют требованиям заказчика. Как правило, разработчики не кастомизируют свои продукты под конкретного клиента, потому что это сразу же усложняет сопровождение. LS Fusion, как и все предыдущие решения «ЛюксСофта», позволяет кастомизировать продукт, дорабатывать его под потребности заказчика, в какой бы области торговли он ни работал. Подтверждением этому может служить перечень клиентов компании из различных сегментов торговли — сети магазинов «Престон», «Соседи», «Родная сторона» и другие, сеть мебельных магазинов «Королевство сна», ТД «Свислочь», сети аптек «Экоаптека» и «Инвестфарма», фирменные торговые сети «Світанак», «Элиз», «Элема», «Галантэя», магазин транснациональной британской сети Mothercare и т. д.
Работа через Интернет
Наличие web-интерфейса позволяет работать с программой через Интернет из любой точки мира. Кроме того, благодаря этому можно открыть доступ к торговой системе сторонним лицам. Например, вместо того, чтобы создавать интернет-магазин, организовать доступ клиентов к данным по остаткам на складе, возможность разместить свой заказ и т. д. Например, товароведы сети магазинов могут видеть остатки на складе или распределительном центре и делать заказ автоматически. Разумеется, подобный доступ ограничен определенными рамками, дальше которых клиенту путь закрыт.
Поддерживает западные стандарты торговли
Разработка LS Fusion в первую очередь осуществлялась компанией на основе богатого опыта собственных разработок и их внедрения, а также ориентировались на программные продукты Navision и разработки на базе1С. В новом продукте также учтены западные стандарты ведения торгового бизнеса, что удобно для компаний, планирующих выход на рынки за пределы Беларуси.
Совместимо с любым оборудованием
Одно из главных конкурентных преимуществ LS Fusion — способность работать с различным торговым оборудованием, которое используется в процессе учета и обслуживания покупателя, независимо от поставщика. В качестве альтернативы «ЛюксСофт» может предложить различные варианты подбора оборудования под разный бюджет. Такой подход позволяет клиентам оптимально распорядиться имеющимся бюджетом.
Научно-техническое общество с ограниченной ответственностью «ЛюксСофт»
г. Минск, пр-т Независимости, 185, офис 49
Тел.: +375 (17) 211-85-43, +375 (17) 211-86-78
Velcom: +375 (29) 642 11 87, +375 (29) 340 33 70
MTC: +375 (33) 662 33 12
www.luxsoft.by
