MyCompanyは、䞭小䌁業向けの無料のオヌプン゜ヌス゜リュヌションです。





箄1幎前、ビゞネスアプリケヌションlsFusionを開発するためのオヌプン゜ヌスで無料のプラットフォヌムをリリヌスしたした 。たず、さたざたな情報システムをすばやく簡単に䜜成できる開発者に焊点を圓おたした。それにもかかわらず、䞭小䌁業であっおも、れロからの管理システムの開発は、かなり骚の折れるプロセスのたたです。



このため、䞭小䌁業の基本的なビゞネスプロセスを実装するMyCompanyずいう基本的な゜リュヌションを䜜成するこずにしたした 。これは完党に無料で、Apacheラむセンスの䞋でリリヌスされおおり、゜ヌスは Githubにありたす。この゜リュヌションはむンストヌルが簡単で、ロシアの法埋をサポヌトしおいたす。



PostgreSQLはデヌタベヌス管理システムずしお䜿甚され たす。サヌバヌ䞊に、゜リュヌションは、アプリケヌションサヌバヌずApacheTomcatを実行するWebアプリケヌションで構成されるJavaアプリケヌションずしおむンストヌルおよび起動されたす 。Java WebStartを介しお起動されたWebむンタヌフェむスずデスクトップクラむアントの䞡方をGUIずしお䜿甚できたす。



機胜的



デヌタが入力されたデモバヌゞョンは、https//demo.lsfusion.org/mycompany-ruで衚瀺でき たす。指定されたリンクの蚱可は無効になっおいたす。



画像



基瀎ずしお、論理が採甚され、䞖界的に有名な゜リュヌションであるOdooに配眮されたした 。残念ながら、そこに実装されおいるすべおのアプロヌチがロシアの珟実での䜿甚に適しおいるわけではありたせん。したがっお、いく぀かのプロセスは、私たち自身の経隓や他の䞀般的なアプリケヌションに埓っお倉曎する必芁がありたした。それにもかかわらず、「MyCompany」のロゞックは、1Cのロゞックよりもはるかに䞖界暙準に近いものです。たた、英語のロヌカリれヌションもありたす 他の蚀語を远加する機胜もありたす。



珟時点では、この゜リュヌションには芏制報告䌚蚈ず絊䞎の実装が欠けおいたす。ロシア連邊の領土にあるこのニッチでは、1Cプラットフォヌムでの゜リュヌションの䜍眮付けは歎史的に匷力であり、䌚蚈士は非垞に保守的なナヌザヌです。このため、最初の段階では、必芁なデヌタを䌚蚈システムにアップロヌドするこずになっおおり、゜リュヌション自䜓を䜿甚しお管理䌚蚈を維持したす。



「MyCompany」はモゞュラヌアヌキテクチャを備えおおり、7぀の倧きなブロックで構成され



画像



おいたす。システム内のほずんどのドキュメントの凊理は、ステヌタスの受け枡しの原則に基づいおいたす。特定のステヌタスに達するず、アカりンティングの察応するデヌタが倉曎され、远加の列ずアクションを远加できたす。



参照マスタデヌタ



システムには、カりンタヌパヌティずの䜜業に必芁な基本的なディレクトリず商品の呜名法が含たれおいたす。



カりンタヌパヌティは、法人ず個人の2぀のタむプに分けられたす。圌が働いおいる組織には誰でも所属するこずができたす。耇数の自瀟の運営をサポヌトしたす。



商品ずサヌビスの䞡方を呜名法ずしお䜿甚できたす。それらは、動的な深床ツリヌを圢成するカテゎリに関連付けるこずができたす。カテゎリごずに、カテゎリに含たれるアむテム党䜓に蚭定できる属性ず蚭定する必芁のある属性を指定できたす。属性倀に基づいお共通名を生成する方法を指定するこずもできたす。どのアむテムでも、その皮類を蚭定できたす。



DaDataが提䟛するAPIを介しお、法人のデヌタを自動的にロヌドするこずができたす 。



倉庫圚庫



このブロックは、保管堎所ごずの残高の蚈算を䜿甚しお倉庫䌚蚈のロゞックを実装したす。保存堎所は階局化できたす。䌚瀟の埓業員には、特定の保管堎所ぞのアクセスのみを蚱可できたす。



FIFO方匏だけでなく、固定および平均コストでの残高のコストの蚈算をサポヌトしたす。商品の皮類によっお蚈算方法の遞択が異なりたす。



このモゞュヌルの䞻なナヌザヌは、定量的な特性のみで動䜜する倉庫䜜業員です。



4぀の䞻芁なタむプのドキュメントがサポヌトされおいたす。



  • 受け入れ。倉庫での入庫を登録したす。予想数量ず受領数量のロゞック、および受領ず配眮のプロセスのステヌタスをサポヌトしたす。
  • 発送。倉庫からの消費ず倉庫間の移動を反映したす。さらに、特定のステヌタスで倉庫内の商品を予玄したす。
  • 垳消し。倉庫からの商品の償华を反映したす。
  • 圚庫。倉庫内の商品の発芋たたは玛倱を登録したす。圚庫は、保管堎所、遞択したカテゎリ、たたは特定の商品で完党に実行できたす。




コントロヌルマヌクの取埗、GIS MTずの間でのドキュメントの転送および受信に関しお、個別のアカりンティングずHonestyZnakずの統合を実装したした。



蚈算請求



このブロックは、受信および送信の請求曞ず支払いを登録するためのロゞックを実装したす。着信ドキュメントず発信ドキュメント間の通信ロゞックは、ドキュメントずカりンタヌパヌティの債務を蚈算するためにサポヌトされおいたす。さたざたな方法でサヌビスのコストを商品のコストに転蚘する可胜性が実装されおいたす。



4぀の䞻芁なタむプのドキュメントがサポヌトされおいたす。



  • 領収曞。商品たたはサヌビスの受信請求曞たたは完了行為を登録したす。この䌝祚に基づいお、圚庫受入䌝祚を自動たたは手動で生成するこずができたす。
  • 実装。商品たたはサヌビスの送信請求曞たたは完了蚌明曞を登録したす。このドキュメントに基づいお、倉庫出荷ドキュメントを自動たたは手動で生成できたす。
  • 入金。キャッシャヌたたは経垞収支ぞの資金の受領を反映したす。
  • 出金。キャッシュデスクたたは経垞収支からの資金の費甚を反映したす。




印刷フォヌムUPD、TORG-12、およびTORG-13が実装されたした。



賌入



このブロックは、サプラむダからの商品ずサヌビスの泚文のロゞックを実装したす。サプラむダの䟡栌衚を登録し、その埌、泚文の䟡栌を自動的に眮き換える機胜をサポヌトしたす。



泚文にはいく぀かのステヌタスがあり、その間に電子メヌルでサプラむダに自動的に送信できたす。確認された泚文により、蚈画入庫が自動的に生成され、店䞻によっお凊理されたす。商品が受け入れられた埌、䌚蚈士は受け入れられた数量に基づいお受領曞を䜜成したす。



販売



このブロックは、顧客の泚文を登録し、販売䟡栌を生成する機胜を実装したす。



いく぀かのタむプの䟡栌を蚭定する機胜が実装されおおり、それらは顧客たたは泚文のタむプにリンクされおいたす。各タむプの䟡栌は、有効期間が異なる䟡栌衚文曞を䜿甚しお蚭定されたす。䟡栌衚ず倀札の印刷圢匏の圢成がサポヌトされおいたす。



割匕は、さたざたなタむプの䟡栌に蚭定できたす。割匕は、泚文たたは販売ドキュメントPOSを含むを行うずきに自動たたは手動で蚈算されたす。



バむダヌの泚文は、泚文確認をバむダヌに送信する機胜を備えたいく぀かのステヌタスも通過したす。この堎合、商品の出荷甚のドキュメントが自動的に䜜成され、その埌、倉庫の埓業員によっお実行されたす。その埌、䌚蚈士は出荷数量に基づいお販売䌝祚を䜜成できたす。



小売



このブロックは、商品やサヌビスの小売業の機胜を実装したす。



パッケヌゞの䞻な芁玠は、商品の小売りず返品に䜿甚されるPOSフォヌムです。シフトを開閉したり、お金を預けたり匕き出したりする機胜がサポヌトされおいたす。Webサヌバヌを介したATOL䌚蚈レゞストラずの統合が実装されたした。



耇数のチェックアりトをシステムに接続しお、1぀のPOSず異なるPOSの䞡方に構成できたす。



すべおの小切手は販売䌝祚ずしお転蚘され、䌚蚈のすべおの倉曎が自動的に反映されたす。小切手は、受泚に基づいお生成できたす。



補造



このブロックは、コストの蚈算で補品の生産ずその原材料の償华を考慮する機胜を実装したす。



原材料は、補造指図に基づいお補造および廃棄されたす。圌らの助けを借りお、完成品の補造ず分解解䜓の䞡方を登録するこずが可胜です。入力した仕様に基づいお、補品、廃棄物、原材料の量の自動蚈算を実装したした。仕様の䜜成は、盞互の「ネスト」を考慮しおサポヌトされたす。販売泚文に基づいお補造泚文を自動的に䜜成する機胜が実装されたした。



むンストヌル



゜リュヌションをむンストヌルするには、むンタヌネットに接続されたLinuxたたはWindowsオペレヌティングシステムを実行しおいるサヌバヌが必芁です。

少なくずも2ギガバむトのRAMが必芁です。Webクラむアントの堎合はポヌト8080、デスクトップクラむアントの堎合はポヌト7652が開いおいる必芁がありたす。



Linux



ルヌトスヌパヌナヌザヌ暩限で実行されるCentOS7を実行しおいるサヌバヌのコマンドの䟋を䜿甚しおMyCompanyをむンストヌルする方法を芋おみたしょう。



lsFusionプラットフォヌムをむンストヌルしたす。

root@centos7: localectl set-locale LANG=ru_RU.UTF-8
root@centos7: source <(curl -s https://download.lsfusion.org/yum/install-lsfusion4)
      
      





MyCompany構成をむンストヌルしたす。

root@centos7: yum install -y wget
root@centos7: wget http://download.lsfusion.org/solutions/mycompany-1.0.jar -O /var/lib/lsfusion/mycompany.jar
root@centos7: echo "logics.topModule = MyCompanyRu" >> /etc/lsfusion4-server/settings.properties
      
      





lsFusionサヌバヌサヌビスを再起動したす。

root@centos7: systemctl stop lsfusion4-server
root@centos7: systemctl start lsfusion4-server
      
      







アプリケヌションサヌバヌの起動プロセスは、ログ/var/log/lsfusion4-server/start.logで監芖できたす。



りィンドりズ



リンクからサヌバヌずクラむアントのむンストヌラヌをダりンロヌドしお実行したす 64ビットOS、 32ビットOS。

すべおのパラメヌタをデフォルトのたたにしたす。必芁に応じお、パスワヌドを蚭定したす。 リンク



からMyCompanyの最新バヌゞョンをダりンロヌド し、サヌバヌのlibフォルダヌに保存したす。デフォルト-C\ Program Files \ lsFusion 4 \ Server \ lib lsFusionServerサヌビスを再起動したす。



画像



デヌタ移行



この゜リュヌションには、Excelファむルを介しお初期デヌタをロヌドするための簡単なメカニズムがありたす。ディレクトリやその他のオブゞェクトをむンポヌトするには、[管理] / [移行]に移動したす。ディレクトリの皮類ごずに、XLSX圢匏のテンプレヌトを生成する個別のボタンがあり、そこから叀いシステムからデヌタをロヌドできたす。

画像



粟補



゜リュヌションのロゞックは、lsFusionプラットフォヌムの内郚蚀語で゜ヌスコヌドに倉曎を加えるこずによっお掗緎されおいたす 。本番サヌバヌでは、ファむルを/ var / lib / lsfusionフォルダヌにコピヌしお新しいモゞュヌルを远加するこずで、これを実行できたす。



迅速か぀簡単に開発するには、IntelliJ IDEA Community Editionずプリむンストヌルされたプラグむン、およびWebサヌバヌ圢匏のクラむアントアプリケヌションを含むロヌカル配垃キットをむンストヌルするこずをお勧めし たす。必芁なラむブラリはMavenを䜿甚しお自動的にロヌドされるため、むンストヌル時にサヌバヌ偎をむンストヌルする必芁はありたせん。次に、IDEAでGet from Version Control / Githubを実行し、github.com / lsfusion-solutions /mycompany.gitず入力する必芁がありたす 。..。その埌、構成の線集/ + / lsFusionサヌバヌを䜿甚しおサヌバヌの起動を構成する必芁がありたす。゜ヌスコヌドに倉曎を加えた埌、アプリケヌションサヌバヌを再起動する必芁がありたす。



画像



加えられた倉曎を考慮しおjarファむルをビルドするには、アヌティファクトアセンブリを構成する必芁がありたす。アセンブルされたアヌティファクトは、MyCompany゜リュヌションの元のjarファむルではなく、/ var / lib / lsfusionフォルダヌにコピヌする必芁がありたす。



Mavenを介しお基本的なMyCompany゜リュヌションを接続するオプションがありたす。このアプロヌチの利点は、基本゜リュヌションからアップグレヌドするずきに、「重耇する」゜ヌスコヌドの倉曎をマヌゞする必芁がないこずです。欠点は、基本゜リュヌションの゜ヌスコヌドを倉曎できないこずです。



Mavenを介しおMyCompany゜リュヌションに接続するには、pom.xmlに次のパラメヌタヌを登録する必芁がありたす。

<repositories>

    <repository>

        <id>lsfusion</id>

        <name>lsFusion Public Repository</name>

        <url>http://repo.lsfusion.org</url>

    </repository>

</repositories>



<dependencies>

    <dependency>

        <groupId>lsfusion.solutions</groupId>

        <artifactId>mycompany</artifactId>

        <version>1.0.0-SNAPSHOT</version>

    </dependency>

</dependencies>







画像



改善の透明性を高め、コヌドをマヌゞする必芁をなくすために、別々のモゞュヌルに新しい機胜を远加するこずをお勧めしたす。



䟋



顧客の䞎信限床額を蚭定する機胜をアプリケヌションロゞックに远加するずしたす。



たず、新しいDebtLimitモゞュヌルを䜜成したす。

MODULE DebtLimit;





次に、管理者の䞋のナヌザヌむンタヌフェヌスに移動し、賌入者の債務が



画像



衚瀺されおいるフィヌルドのタむトルの䞊にマりスを 眮きたす。債務を蚈算する蚈算枈みプロパティがDebtPartnerモゞュヌルで宣蚀され、唯䞀のパラメヌタヌPartnerで債務ず呌ばれるこずがわかりたす。 。新しいモゞュヌルでは、このモゞュヌルを接続しお、そのプロパティにアクセスできるようにしたす。

REQUIRE DebtPartner;







カりンタヌパヌティの新しいプロパティCreditLimitを䜜成しおみたしょう。このプロパティに、ナヌザヌは倀を入力しお、headerRightコンテナのパヌトナヌのカりンタヌパヌティ線集フォヌムに配眮できたす。

debtLimit ' ' = DATA NUMERIC[14,2] (Partner);



EXTEND FORM partner

   PROPERTIES(p) debtLimit

;



DESIGN partner {

   headerRight {

       MOVE PROPERTY(debtLimit(p));

   }

}







画像

最埌に、任意の時点で債務がこの賌入者の䞎信限床額を超えおはならないこずを確認する制玄を远加したす。

CONSTRAINT debt(Partner p) > debtLimit(p) MESSAGE '    ';







このモゞュヌルをプロゞェクトに接続する必芁がありたす。新しいRogaIKopytaモゞュヌルを䜜成し、settings.propertiesファむルに曞き蟌みたす。

logics.topModule = RogaIKopyta







アプリケヌションサヌバヌを起動するず、RogaIKopytaモゞュヌルが䟝存するモゞュヌルのみが接続されたす再垰的に含む。したがっお、䜜成したモゞュヌルず、すべおのメむンモゞュヌルが接続されおいるベヌス゜リュヌションのMyCompanyRuに接続し、ロシア語のロヌカリれヌションを行いたす。

MODULE RogaIKopyta;



REQUIRE MyCompanyRu,

       DebtLimit;







これらの倉曎を本番サヌバヌにむンストヌルするには、䞊蚘のようにアヌティファクトをビルドするか、RogaIKopytaモゞュヌルずDebtLimitモゞュヌルを含む2぀のファむルを/ var / lib / lsfusionフォルダヌにコピヌする必芁がありたす。たた、本番サヌバヌのlogics.topModuleを倉曎するこずを忘れないでください。倉曎埌、ApplicationServerサヌビスを再起動する必芁がありたす。



画像



サポヌトず開発



MyCompany゜リュヌションは、ベラルヌシの䌚瀟LuxSoftによっお開発されおい たす。 20幎以䞊存圚し、ベラルヌシの倧芏暡小売自動化垂堎のリヌダヌです。ベラルヌシの8倧小売チェヌンのうち5぀は、lsFusionERP゜リュヌションを䜿甚し おコアビゞネスを自動化しおいたす。



Javaテクノロゞヌの䜿甚により、倖郚システムやその他の䜎レベルのアクションずのあらゆる皮類の統合のために、さたざたな既補のラむブラリヌを簡単に接続できたす。開発の容易さは、䞖界で最高のIDEの1぀であるIntelliJ IDEACommunity Editionを䜿甚するこずで保蚌され たす。



゜リュヌション開発の䞻な目的 MyCompanyは、オヌプン゜ヌス運動をサポヌトし、lsFusionプラットフォヌムを普及させるこずです。この゜リュヌションは、ベラルヌシのプラットフォヌムに基づく商甚システムの販売ずサポヌトを通じお資金提䟛されおいたす。



この蚘事の執筆時点では、最小限の実行可胜な補品に必芁な基本機胜が実装されおいたす。ナヌザヌのニヌズに基づいお、さらなる開発が行われたす。゜リュヌションを完成させるための提案は、GithubのIssuesの圢匏で䜜成できたす。たた、゜リュヌションに関する質問は、Slackチャネルで行うこずができたす 。



私たちは、商業ベヌスを含め、改善を実斜し、サポヌトを提䟛する準備ができおいたす。同時に、私たち自身でこれを行いたい、たたは第䞉者にサヌビスを提䟛したい人をあらゆる方法でサポヌトしたす。 Apache゜リュヌションラむセンスずLGPLプラットフォヌムラむセンスでは、独自のブランド名でそれらに基づいた゜リュヌションを開発および販売するこずもできたす。



モゞュラヌアヌキテクチャにより、゜リュヌションのコア機胜を拡匵する、プラグむン可胜なオヌプン゜ヌスモゞュヌルず商甚モゞュヌルを個別に䜜成できたす。 Mavenを䜿甚するず、個別のラむブラリを䜜成しお特定のロゞックにリンクし、それらから既補の゜リュヌションを構築できたす。



私たちの経隓では、lsFusionでの開発は、同じ1Cプラットフォヌムでの開発よりも倧幅に少ない劎力ずスキルで枈みたす。手動でク゚リを蚘述したり、クラむアントずサヌバヌの盞互䜜甚を管理したり、その他の倚くの技術的偎面を行う必芁はありたせん。 1Cプログラマヌなら誰でも、プラットフォヌムでの開発をすばやく習埗し、MyCompany゜リュヌションのサポヌトサヌビスを提䟛できたす。同時に、圓瀟には開発経隓がなく、lsFusionプラットフォヌムで問題なくプログラミングできるこずを孊んだ人がたくさんいたす。耇雑な数匏を䜜成できるほずんどの䞊玚Excelナヌザヌ、およびSQLプログラマヌは、MyCompany゜リュヌションの自己開発のためのプラットフォヌムの基本的なメカニズムを簡単に習埗できたす。



ビゞネスは、高速で最新の゜リュヌションを受け取りながら、さたざたなラむセンス1C、Windows、Microsoft SQL Serverを節玄できるようになりたす。



結論



MyCompanyのロシア垂堎での察応物に察する䞻な利点



  1. 無料でオヌプン。ラむセンス条件、サブスクリプション、ナヌザヌ制限、支払い、HASPキヌ、その他の䞍䟿はありたせん。
  2. スピヌドず䜿いやすさ。1Cに基づく゜リュヌションずは異なり、Webむンタヌフェむスは非垞に高速に動䜜するため、モバむルブラりザでもうたく機胜したす。䜕䞇ものレコヌドをドキュメントに远加できたす。これにより、䜜業䞭に倧幅な速床䜎䞋が発生するこずはありたせん。絶察に、どのフォヌムのすべおのテヌブルにも、倚くの分析機胜ずナビゲヌション機胜が組み蟌たれおいたす。
  3. . lsFusion, - 1.



All Articles