1Cが良い理由

この出版物は、 「なぜ1Cが悪いのか、なぜ1Cプログラマヌがそのように奜たないのか」ずいう非垞に衚面的で䞀方的な出版物に応えお䜜成されたした。 コメントから刀断するず、倚くの人が実際に1Cでプログラミングしおいるこずを理解するには皋遠い。



1.プラットフォヌムず構成



ほずんどのプログラマヌの理解では、1Cは䌚蚈です。 これは6.0たで含たれおいたした。 バヌゞョン7.5以降、アプリケヌションは2぀の郚分で構成されたす。C++で蚘述されたプラットフォヌムず、Visual Basicず非垞によく䌌た1Cのテヌブル、ビゞュアルオブゞェクト、およびコヌドの構造の説明を含む構成です。



このこずから、プラットフォヌムは、簿蚘に関係のない問題を含め、非垞に広範な問題を解決できるこずになりたす。 1Cなしのすべおは、倚数のクラむアントアプリケヌション+デヌタベヌスによっお解決されたす。 少し前に、同瀟は暙準構成の基瀎ずなるラむブラリをリリヌスし始めたしたが、サヌドパヌティのプロゞェクトで䜿甚するこずもできたす-暙準サブシステムのラむブラリず接続機噚のラむブラリ。 これらには、たずえば、ナヌザヌのリストの維持、組み蟌みの電子メヌルクラむアント、亀換ルヌルによる亀換などのむンフラストラクチャ機胜が含たれたす。 利点は、それらが十分に説明されおおり、郚分的に実装できるこずです。



2.著者



パラグラフ1で説明したように、プラットフォヌムず構成は異なる゜フトりェア補品であり、開発者の異なるグルヌプによっお䜜成されおおり、私の情報によれば、互いにほずんど接觊しおいたせん。 プラットフォヌムは非垞に経隓豊富な開発者によっお䜜られおおり、倚くの開発者が7.5以降から開発に関䞎しおいたす。 1996幎から。 構成では、すべおがさらに悪化したす。 たくさんの蚭定がありたす、ず蚀うかもしれたせん-非垞に倚くです。 非垞に倚くの著者がいたすが、いく぀かの経隓から倧きな疑問が生じたす。 人事ポリシヌから刀断するず、構成の䜜成者ずの匏兞には立ちたせん。 たずえば、新しいフラッグシップ゜リュヌション「ERP。 ゚ンタヌプラむズ管理2.0は、たったく新しい若いチヌムを䜜成したす。 以前の䞻力゜リュヌションである「Production Enterprise Management」SCPを開発したチヌムは、仕事をしおいたせんでした。

したがっお、プラットフォヌムの品質は垞に1Cの暙準構成の品質よりも優れおいたす。



3.補造性



䟋1Cは、囜内のIT䌁業が非垞に成功しおおり、䞖界クラスの゜フトりェア補品を䜜成できるこずを瀺しおいたす。 1Cプラットフォヌムには、䌚蚈システムのグロヌバル垂堎向けのナニヌクな゜リュヌションがありたす。 䟋



3.1。 レむアりトにスプレッドシヌトドキュメントを䜿甚するず、行ごずに異なる列圢匏぀たり、異なる行の列の数が異なるを䜿甚できたす。 この圢匏からXLSに゚クスポヌトするず、すべおの圢匏を反映するために必芁な数の列が䜜成されたす。

3.2。 デヌタ構成スキヌムACS。珟圚のデヌタベヌスのテヌブル、倖郚SQLたたはOLAPデヌタ゜ヌスのテヌブル、メモリの任意のテヌブルのデヌタに基づいお、耇雑なレポヌトを䜜成できたす。 SQL蚀語のサブセットである蚀語でコンパむルされたク゚リテキストでは、遞択、遞択、䞊べ替えフィヌルドの挿入䜍眮を指定できたす。 レポヌトを蚭定した埌、ACSは芁求テンプレヌトをデヌタベヌスサヌバヌに送信される最終フォヌムに倉換したす。 この堎合、ACSは結果に必芁のないク゚リのフィヌルドず䞀時テヌブルを蚈算し、ク゚リから陀倖したす。

3.3。 WindowsおよびLinux、ロシア語および英語での開発の可胜性。 Windows、Linux、Webブラりザヌ、iOS、Androidでアプリケヌションを実行できたす。 同時に、ブラりザヌで1C機胜を実行するために、1C蚀語からJavaScriptぞの自動翻蚳が実行されたす。

3.4。 独自のク゚リ蚀語を䜿甚するず、アプリケヌションは次のMicrosoft SQL Server、Oracleデヌタベヌス、IBM DB2、Postgre SQL、ファむルデヌタベヌス1Cのいずれかず連携できたす。 バヌゞョン管理されたデヌタベヌスを正しく動䜜させるために、OracleずPostgreは独自のロックメカニズムを䜿甚したす。

3.5。 UUIDをデヌタベヌスの行識別子ずしお䜿甚するず、1C䞊のさたざたなシステムを盞互に統合するタスクを簡玠化できたす。

3.6。 プラットフォヌムでサポヌトされおいるすべおの異なるオペレヌティングシステムずブラりザのC ++でコンポヌネントを䜜成できる倖郚コンポヌネントのメカニズム。

3.7。 ク゚リテンプレヌトを䜿甚しおレコヌドレベルでアクセス暩を制限したす。これにより、暩限を埮調敎する無限の可胜性が埗られたす。

3.8。 デヌタベヌス構造をアプリケヌション構造から完党に分離したす。 デヌタベヌスのテヌブルずフィヌルドの名前は自動的に生成されたす。これにより、プラットフォヌム統合メカニズムを䜿甚できるようになり、次に、ロシア語でアプリケヌション構造芁玠メタデヌタの通垞の名前を䜜成できるようになりたす。

3.9。 分散情報ベヌスのメカニズム。珟圚の情報゜ヌスのノヌドを無制限に䜜成でき、デヌタの倉曎がダりンロヌドされ、そこから構成倉曎がダりンロヌドされたす。



そしお䜕よりも、その開発者は前進するこずを恐れず、非垞に野心的なタスクを解決したす。 私の意芋では、1Cプラットフォヌムは非垞に成功した瞬間に生たれたした。コンピュヌタヌのパフォヌマンスずメモリ容量は、垞に最適ではないにしおも、非垞に倧胆な蚭蚈決定を実装するのに十分になりたした。



4.開発者



圓初、このプラットフォヌムは、プログラミングから遠く離れた人々技術教育を受けおいない人でもがシステム改善を行えるように開発されたした。 プラットフォヌム7の堎合*これは公平で、非垞にコンパクトで理解しやすいものでしたが、少々混乱を招きたした。 8.0のリリヌスにより、開発者の氎準は非垞に高くなりたした。8.3プラットフォヌムのすべおを考慮するず、1Cの優れた開発者ずいう抂念自䜓は非垞に曖昧ですが、技術教育のない専門家にずっおはほが䞍可胜であるず確信できたす。



兞型的なSCP構成のボリュヌムは、デヌタベヌス構造、レポヌトレむアりト、ロヌルなどを含たない玄300䞇行のコヌドです。 厳密なタむピングの欠劂ずロシア語は、プログラミングから遠く離れた倚くの人々を単に惹き぀け、䜕かを倉えおしたい、その結果、䜕かが機胜しなくなる。



したがっお、開発者の間の䞋䜍カヌストずしお「1Cプログラマヌ」ずいう甚語が出珟したした。 プラットフォヌム開発者は䜕らかの圢でこの状況に貢献したす。そうしないず、以前はコンフィギュレヌタヌからク゚リデザむナヌを陀倖しおいたした。 それを䜿甚しお蚘述された倚かれ少なかれ耇雑なク゚リは、 govnokod.ruの盎接の候補です。



1Cは違いたす。 非IT䌁業で働くこずも、IT䌁業で働くこずもできたすし、1C自䜓で働くこずもできたす。 1Cはこれらすべおの堎所で異なりたす。 倧芏暡なフランチャむゞヌ䌚瀟で働いおいる堎合、プログラマヌの仕事は他のIT䌚瀟での仕事ず倧差ありたせん。



誀解の1぀は、優れた1Cプログラマヌが䌚蚈を知っおいる必芁があるずいうこずです。 カテゎリヌ的にはそうではありたせんが、簿蚘は経理アナリスト、生産および原䟡蚈算-管理䌚蚈アナリスト、絊䞎-絊䞎アナリストに知られるべきです。 1Cの開発者にずっお䞊蚘の分野の知識は、アナリストが圌に䜕を望んでいるかを正確に理解するために必芁です。 システムプログラマがOSの基本を、Webプログラマがレむアりトの基本を知っおいる必芁があるのず同じです。 しかし、優れた1C開発者が知っおおくべきこずは次のずおりです。



4.1。 DBMS、ク゚リプランナヌ、ロックの原則。

4.2。 クラむアント、アプリケヌションサヌバヌ、およびデヌタベヌス間のデヌタ亀換の最小化。

4.3。 COM、ADO、XML、SOAPを操䜜するREST APIが最近登堎したした。



もちろん、高品質のコヌドを曞くには、゜フトりェア開発技術に関する文献を読む必芁があり、さらに他のプログラミング蚀語での開発経隓が必芁です。 残念ながら、1Cプログラマヌの倧倚数はこれに気づいおいたせん。



5.プラットフォヌムの問題



すべおの利点にもかかわらず、プラットフォヌムには問題がありたす。 さらに、それらの倚くは䜕十幎も解決されおいたせん。

5.1。 コンフィギュレヌタヌにプラグむンがありたせん。 プラットフォヌム7.7にはopenConfプロゞェクトがありたす。 8.では、プロゞェクト「Snowman」がありたす。 しかし、これらはすべお実際にはハッキングであり、それらの䜿甚の可胜性ずサポヌトの質には非垞に残念です。

5.2。 p-codeを実行する仮想マシンのパフォヌマンスが悪い バむナリ倉換は䜿甚されたせん。 珟圚、この状況は、1Cの兞型的な構成の開発者のアプロヌチに圱響を䞎え始めおいたす-ク゚リが広く䜿甚されるようになりたした。

5.3。 デヌタベヌスの構造ず特定のデヌタベヌスのク゚リを埮調敎する機胜の欠劂。 たずえば、デヌタベヌスツヌルを䜿甚しお远加のむンデックスを远加する必芁がありたすが、これはラむセンス契玄に違反しおいたす。

5.4。 治療間の継承の欠劂は、OOPの欠劂を䜕らかの圢で補いたした。 7.7のopenconfプロゞェクトでは、この機胜は非垞に快適でした。

5.5。 独自の構成リポゞトリを䜿甚したす。 この堎合、構成党䜓をxml圢匏でアップロヌド/ダりンロヌドできたすが、各アップロヌド/ダりンロヌドはファむルの倉曎を分析しないため、ディレクトリ内のすべおのファむルは愚かに䞊曞きされ、最初にプロセスが長くなりたす゜フトスタヌタヌの構成の堎合、玄15分、そしお第二に、バヌゞョン管理システムの䜿甚を䞍可胜にしたす。 7.7のopenconfでは、この問題は解決されたした。

5.6。 この関数はメむンデヌタベヌスSQL Serverの堎合はROW_NUMBERにありたすが、ク゚リのサンプル行番号を取埗する方法はありたせんが、他のデヌタベヌスに぀いおは、プラットフォヌムは他のク゚リ蚀語の構成ず同様に、ドキュメントのパフォヌマンスに関する必芁な巊接続を行うこずができたす;

5.7。 コンフィギュレヌタヌにプロゞェクトの抂念がないため、テスト環境から䜜業環境ぞの倉曎の転送に圹立ちたす。

5.8。 構成を曎新するための暙準メカニズムでは、テキストずオブゞェクトの単玔な比范を䜿甚したすが、マヌゞではなく、暙準機胜の叀いバヌゞョンが構成内に存圚したす。



1Cはこれらの問題の倚くを知っおおり、Eclipseプラットフォヌムで曞かれた新しいコンフィギュレヌタヌを長い間準備しおきたしたが、最終的にリリヌスされたずき、誰も知りたせん。



次の出版物では、特に新しいフラッグシップ「ERP Enterprise Management 2.0」のリリヌスを考慮しお、叀いフラッグシップ構成「Production Enterprise Management」の䟋を䜿甚しお、1Cの暙準゜リュヌションの欠点を説明したす。



All Articles