AccountLogic 2.0念頭に眮いたが、終わりではない

この「補品」の䜜成の背景は、Habréの投皿にたでさかのがるこずができたすバヌゞョン1.0のリリヌスに特化した最埌の蚘事はこちら 。



バヌゞョン2.0で、方法論的な可胜性の䞊限の最終的なものではありたせんが、いく぀かの近䌌に぀いお話すこずができる機胜が远加されたした。



これたで、「Accountant Logic」新しい「Russified name」「Accounting Logic」では、少なくずも仕様に埓っお蚱可する必芁がありたすが、かなり倚くのこずが蚱可されおいたす。



䌚蚈ロゞック機胜
√重芁な性質に応じお䌚蚈オブゞェクトを䜜成および線集したす。

√過去だけでなく、最も近い秒に察する将来の倉曎矩務も远跡したす。

√任意のメヌトル数で䌚蚈オブゞェクトを評䟡したす。

√既補のガむドをオブゞェクトずアクションに統合したす。

√ナヌザヌベヌス間でオブゞェクトを䞀貫しお転送したす。

√繰り返しアクションを自動的に実行したす。

√オブゞェクト間のマテリアルの関係を远跡したす。

√ファむルを個々のオブゞェクト、アクション、たたはフォルダヌにバむンドしたす。

√メむンデヌタベヌスず䞊行しお蚈画を立おたす。

√為替レヌトの違いを考慮したり、蚈画デヌタず比范したりするなど、階局的なレポヌトレポヌトフォルダヌを䜜成したす。

√衚圢匏モヌドおよびアむコンモヌドでデヌタを衚瀺したす。





コヌドが重倧な結果を䌎うアマチュア的であるずいう明らかな事実を吊定しない無䜜法な広告。 さらに、プログラムで芏定されおいる方法は専門的です。理論的基盀に基づいお䜜成され、その開発には10幎かかりたした。





バヌゞョン1.0で䜿甚可胜な機胜をリストするのは意味がないので、重芁床が高い順に新しい機胜の説明から始めたす。



私。

サヌビス機胜アヌカむブ、パスワヌド保護、ロヌカラむズ英語-機械翻蚳、蚀語力の乏しい皋床に調敎。







すべおが暙準的なものであり、方法論䞊のわずかな関心事ではありたせん。



II。

デヌタベヌス内のデヌタは、実際メむンず蚈画远加、それらず比范するためにメむンのものず䞊行しお考慮されるの2぀の郚分に分けられたす。 倚様性に傟いおいない兞型的な機䌚。



レポヌトフォルダヌは、実際のデヌタず蚈画されたデヌタを個別に提瀺するずずもに、共同で提瀺したす。











理論的には、倚くの蚈画された互いに䞊行した情報フロヌを実装するこずは難しくありたせんでしたが、なぜですか



III。

ファむルバむンディングは実行が簡単な機胜ですが、珍しい゜フトりェアアヌキテクチャのため、面癜くないわけではありたせん。 通垞どおり、ファむルをワヌクスペヌスにドラッグアンドドロップするこずで実行されたす。







ファむルを次の芁玠のいずれかに関連付けるこずができたす。

  1. 事写真に瀺されおいる、
  2. 行動
  3. フォルダヌ。


甚語は通垞の䌚蚈ずは異なるため、明確にする必芁がありたす。 たずえば、[name] = "apple"、[grade] = "Antonovka"など、いく぀かのプロパティがあるものがありたす。 したがっお、その受領はアクションに反映されたす-アカりント、䌚蚈゚ントリの類䌌物。 そのため、ファむルをリンゎ党䜓もの、たたは受信に関する゚ントリアクション、たたはレポヌトフォルダヌが圢成されるプロパティ名前、皮類など-実際には、別のセル。



䟿利なサヌビス、これ以䞊。



IV。

私は䌚蚈の革新、぀たり物事の線集に盎接向きたす。



バヌゞョン1.0を怜蚎するずき、私は非難されたした-眉毛ではなく、目で。 䞻匵は次のずおりでした。「郚屋にはいく぀かのものがありたす。 私がすべおのものをバルコニヌに移動し、それによっおこれらのものの特性を倉曎したず仮定したす。 それは[location] = "room"でしたが、[location] = "balcony"になりたした。 それで、私は個々のもののプロパティを個別に倉曎する必芁がありたすか すぐに本圓に䞍可胜ですか」



今できたす。 必芁なものを遞択し、プロパティを必芁なものに倉曎したす。







別の特定の機胜は、物事の自動分離です最初のバヌゞョンでは、1぀の特定のケヌス甚に実装され、珟圚どこにでもありたす。



プログラムのむデオロギヌは可胜な限り珟実に近いため、自然な順序で物事を扱うこずができたす。 100ルヌブルがあり、そのうち10ルヌブルを取匕盞手に譲枡する堎合、圓面は10ルヌブルであるため、単に譲枡するこずはできたせん。 100ルヌブルの䞀郚を構成したす。 䌚蚈原則に埓っお、最初に合蚈金額を90ルヌブルで割る必芁がありたす。 そしお、10ルヌブル。その埌、オブゞェクト党䜓を意図したずおりに転送するこずができたす。 理解できる単䞀の送信の代わりに、2぀の操䜜が発生したす。䞀芋過剰な分離ず送信です。 これは、非の打ちどころのない理論的正圓化にもかかわらず、䞍安にさせるものです。したがっお、物事を自動的に郚分に分割する機胜が蚘述されおいたす。



以前は利甚できなかった「Things to Consumption」ラベルのアクションりィンドりで、アむテムのどの量的郚分が倉曎されおいるかを瀺したす。







「䌚蚈ロゞック」自䜓が、指定された郚分をオブゞェクト党䜓から分離し、このアクションを䞻芁なアクションの予備ずしお蚘録したす。



結果は、実際には共同で実行された2぀のアクションの蚘録になりたす。 「過剰な」操䜜を心配する必芁はありたせん。







この機胜は、基本的なものだけでなく、耇合的な均質物化孊的組み合わせに基づいお圢成された-組成が互いに区別できないものの束にのみ適甚できるこずを予玄したす。 耇合異質物機械的結合に基づいお圢成され、それにより互いに異なる郚分で構成されるこずができたす-蚀い換えれば、メカニズム-最初に分解する必芁がありたす。その埌、コンポヌネントを匕き出した状態でアクションを実行する必芁がありたす。



耇合的な異質なものの郚分ぞの自動分割には、むンタヌフェむスの顕著な耇雑さが必芁ですが、その必芁性は珟圚芋られおいたせん。



V.

さらに、プログラムの時間粟床が向䞊したす。



法埋では、最も近い日たでの䌚蚈が必芁です。 ただし、蚘録を保持する時間単䜍に基本的な違いはないため、ナヌザヌには遞択の機䌚が䞎えられたす。



「アカりンティングロゞック」2.0では、䌚蚈指暙残高ず売䞊高、それらから埗られる収入ず費甚を秒たで正確に蚈算できたす。







私が理解しおいる限りでは、秒単䜍の粟床を実行するこずは難しくありたせん。したがっお、泚目に倀するタスクです。 䌚蚈孊のアプロヌチに埓っお、将来の事柄である矩務の䌚蚈凊理の革新を芖芚的に瀺すこずができるので、私にずっお泚目に倀したす。



前の投皿ぞのコメントで、読者は、矩務の䌚蚈凊理に関する䌚蚈孊的手法の新芏性を理解しおいないず䞍満を挏らしたしたが、矩務-そしおもっず広く芋るず、物事ずタむムラむンの関係-は、私が無条件の成果ず発芋に垰するものです。 蚀葉で説明するのは困難でした。プログラムで披露するのに1日かかりたした。1日埌に初めお、未来からのものが珟圚に倉わる様子を芋るこずができたした。 1秒あたりのアカりンティングのおかげで、すぐに効果が珟れたす。



簡単な実隓を行っおみたしょう。



フォルダヌが開いおいる堎合は、フォルダヌをオフにしお、珟圚のもの珟時点で存圚するもののみを衚瀺したす。







「蚭定」に進み、秒単䜍で正確なアカりンティングを蚭定したす。



远加りィンドりを開き、アむテムの名前を指定し、最も重芁なこずずしお、操䜜を完了する時間を蚭定したす。秒は珟圚の瞬間登録の瞬間よりも20秒倚くなりたす。 100未満の確率を瀺すこずを忘れないでください。







物を远加したす。 䜜業りィンドりわかりやすくするために、アむコンモヌドを蚭定したすでは、ただ衚瀺されおいたせん数秒で届くためです。







20秒埌に、タむマヌを曎新したす。 すべおが゚ラヌなしで完了した堎合、远加されたアむテムが䜜業りィンドりに衚瀺されたす。







フォルダを含めお、事物が到着する前に、぀たり、指定された時間たで、事物が将来のものずしお衚瀺されたす-矩務アクションを登録する時間がそれを完了するのにかかる時間よりも短い堎合、そうでなければ矩務は発生したせん物は適切な時間に到着したすそれだけです。



䌚蚈士の芋解によるず、コミットメントは以前に登録された将来のものです。 確実にわかっおいる堎合1時間以内に、商品は受け取り時に登録する倉庫に到着したす-これは将来のものであり、将来の時制で事前に蚘録できたす。 しかし、あなたが今物の将来の領収曞を登録する堎合-これは矩務です。



さあ、行きたしょう。 䞀般の人々からは芁求されおおらず、い぀になるのかずいうこずのない理論の耇雑さを理解するこずは䟡倀がありたすか さらに、より簡単な方法で秒の粟床を実蚌するこずが可胜です。



方法は次のずおりです。 蚭定を秒単䜍の粟床に蚭定しおから、物を远加したす。 タむマヌに操䜜の前にタむマヌを蚭定したす分を枛らしたす-埌で远加されたように、事は消えたす。 元の時間を返したす-事が衚瀺されたす。



VI。

矩務の自然な䌚蚈ぞの远加ずしお、オプション「自動アクション」が远加されたした䌚蚈゜フトりェアでは、これは自動転蚘ず呌ばれるようです。



既知のプロパティを持぀アむテムが定期的に到着、倉曎、たたは廃棄される堎合、適切なアクションを自動的に実行できたす。 プログラムが起動するず、最埌の蚪問の瞬間がチェックされたす。必芁に応じお、蚭定で指定された操䜜が実行されたす。







実甚的たたは理論的な芳点から目立ったものはありたせん。



この蚘事を公開する準備ができたずき、蚈画されたレコヌドの自動アクションを提䟛するのではなく、アクションのプロパティに耇数の倉曎を加えるこずに気付きたした。 それは起こりたす。 次のバヌゞョンが衚瀺される堎合、この省略は修正されたす。



VII。

固定為替レヌト䌚蚈。



100ルヌブルに盞圓するものを蚀っおみたしょう。 3月1日1ドルで50ルヌブルの為替レヌトに入り、3月30日1ドルで75ルヌブルの為替レヌトにドロップしたした。 その堎合、アむテムの䟡栌は2ドルで、廃棄コストは1.33ドルです。 それらの違いは為替レヌトず呌ばれたす。



必芁なパラメヌタを蚭定したす。そのために、事前に準備されたアクセスベヌスを接続する必芁がありたす。 そうしないず、為替レヌトの差を蚈算できたせん。 ルヌブル、ドル、ナヌロ、たたは他のメヌタヌで同時に蚘録を保持できる堎合、それらを蚈算する方法-䞻な通貚はありたせん、それらはすべお䞻なものですか ただし、為替レヌトでベヌスを取埗するず、蚭定でむンストヌルされたメヌタヌが自動的にメむン通貚になり、通貚は远加ず芋なされ、その時間ベヌスの比率がデヌタベヌスに瀺されたす。







その結果、レポヌトフォルダヌに远加の列が衚瀺されたす。







この方法は正匏に䌚蚈芏則に準拠しおいたせん、たずえ為替レヌトの差がどこかに接続されおいなくおもある意味、どの䌚蚈察象にも、単玔に蚈算され、任意の期間の任意の通貚で蚈算できたすその方法は考えられたせん。



珟代の䌚蚈゜フトりェアこれは残念なこずに、私はよく知らないに぀いおはわかりたせんが、為替レヌトの差を蚈算する公匏に想像できる方法は、埓来の䌚蚈芏則にはほずんど圓おはたりたせん。



䌚蚈がルヌブルであるずしたしょう。 䌚蚈芏則に埓っお、ここには為替差はありたせん。 しかし、実䜓経枈にはドルがあり、埪環しおいたす。したがっお、実際にルヌブルで行われた売買コストは垞にドルに倉換できるため、差を蚈算できたす。 この堎合、賌入ず販売のコストは䞀臎せず、差額が発生したす-為替レヌトなどです



蚈算するために、1通貚、類䌌、䌚蚈、欠萜、為替レヌト差の芳点から考慮する堎合、コヌスのディレクトリを接続し、オプション「為替レヌト差の読み取り」および「コヌスの反転」を蚭定する必芁がありたす。



たずえば、100ルヌブルに盞圓するものが到着し、その時点でのレヌトは50ルヌブルでした。 ドルのために。 しばらくしお、物は同じ100ルヌブルを費やしたす。、明らかに、ドル為替レヌトはすでに55ルヌブルでした。 したがっお、これらの日付぀たり、凊分の日付間の為替レヌトの差は...でした。自分で考えおみおください。$ 2の䟡倀があるものが到着し、同じものが玄1.82ドルかかりたした。 この堎合、為替レヌトの差は、その期間のドル䟡倀を䞋げる方向で18セントになりたす。 「アカりンティングロゞック」は、この事実をキャプチャできたすもちろん、倚くの蚭定のために非垞に面倒なアルゎリズムを台無しにしない限り。



Viii。

非垞に実甚的な機胜は、ディレクトリの接続です。



ナヌザヌは、任意の数のテキストプロパティフィヌルドに物ずアクションを蚭定する暩利を持っおいたすが、䞀連のフィヌルドでは、倀を繰り返すこずができたす-たずえば、物の同䞀グルヌプのプロパティを指定する堎合。 参照ブックは、埓来、関連する倀を遞択するために䜿甚されおいたす。



ためらった埌、サヌドパヌティのデヌタベヌスを接続するオプションを遞択したした。 ナヌザヌは通垞のアクセスツヌルを䜿甚しおディレクトリを管理し、適切なダむアログボックスを䜿甚しお完成したフォヌムでアカりンティングロゞックにむンポヌトされるこずを前提ずしおいたす。







ディレクトリからのフィヌルドによっお、レポヌト階局を構築するこずが蚱可されたす。䞀般的には、ディレクトリ自䜓の倉曎を陀き、すべおを行いたす。



これで、新機胜のリストが完成したした。 面癜くなく、実際に曞かれたいく぀かの機胜は、私が恐怖で気づいた理由で捚おられたした歎史的発展のこの段階でそれらを䜿甚するこずは䞍可胜であり、それはあたりにも䞍䟿です。 したがっお、「アカりンティングロゞック」2.0は、方法論的な可胜性の䞊限に反しおいるず蚀えたす。



ただ満たされおいない䞻なものは、珟時点では構築されおいないように芋えるネットワヌク機胜です...しかし、芋おみたしょう祖母は2で蚀った。



ずころで、ネットワヌク機胜に぀いお。 以前の投皿の1぀ぞのコメントで、異なる囜籍のナヌザヌ間で物事を転送するずきに、プロパティの互換性がどのように実装されるかを尋ねられたした。 日本人は、プロパティを日本語、ロシア語で呜名したす-ロシア語では、日本人ナヌザヌからロシア語に物事を転送するずき、たたはロシア語で物事を転送するず、プロパティが異なるず認識され、倱われたす。 それから私は知らなかった、ある蚀語から別の蚀語ぞの翻蚳に応じお぀ぶやいた、今私は答えるこずができたす。 アカりンティングロゞックでは、プロパティは名で識別されたす。将来、プロパティの名前は倉曎できたすが、識別子最初の名前は保存されたす。 したがっお、蚀語の互換性を実珟するには、プロパティを蚭定するずきに、囜際英語ずしお受け入れられおいる蚀語で合意された名前を割り圓おるだけで十分です。その埌、プロパティは任意の各囜語で名前を付けるこずができ、識別は圱響を受けたせん。



このプログラムには、小さな条件付き—条件付きで匷調する—の䟋が付属しおいたす。 これは、鉱石が採掘されおいる採石堎から、鉱石から金属が補錬される加工工堎、金属補品をプレスする工堎、最終的なアりトレット、ショップたでの動きを远跡するために䜿甚できたす。 契玄の文脈で物事を考慮し、財務結果を蚈算する方法が瀺されおいたす。



䌚蚈ロゞックで䞊蚘の䞀般的に蚀えば、暙準䌚蚈機胜を実装するこずの難しさは䜕ですか プログラムが普遍的であるずいう事実-䌚蚈コンストラクタ-したがっお、契玄ず財務結果を担圓する必須フィヌルドは提䟛されおいたせん。 ナヌザヌは、必芁なフィヌルド䌚蚈孊の蚀語、物事たたはアクションのプロパティを入力しお、アカりントを独立しお敎理する必芁がありたす。



モノで実行されるアクションは、契玄に関連する堎合もあれば、契玄に関連しない堎合もありたす。 最も䞀般的な販売契玄は、䟋で考慮されたす。



財務結果利益たたは損倱を修正するために、売り手は物䟡を販売䟡栌で再評䟡したす。たずえば、物䟡は非垞に高くコスト、物䟡は非垞に高くなりたす販売䟡栌。 これらの金額の差は、玔損益を衚したす。 財務結果を他の売䞊高から分離するために、新しいプロパティを䜜成し名前、明確、すべお同じです蚘事のコスト、収益、コスト、たたはその他の䟋では、意図的に異なる名前を䜿甚したす、それを瀺しお瀺したす財務結果。



物は販売䟡栌で評䟡されるようになりたした。買い手にそれを転送したり、買い手からの前払いを受け入れるこずができたす。䞻なこずは、カりンタヌパヌティずの蚈算を反映する倀を察応するプロパティに瀺すこずを忘れないこずです 蚈算蚈算。



正しい蚭定を䜿甚するず、決枈のステヌタスず、契玄のコンテキストでの財務結果を取埗できたす。







ここに瀺されおいるのは、契玄番号5のステヌタスです。利益は88千ルヌブル、れロの蚭定点での盞互決枈売䞊高は20䞇ルヌブルに達したした。 たた、れロではなかったずしおも、䞊蚘の指暙により、単玔な比范を䜿甚しお、任意の方法で利益を蚈算するこずができたす珟金法や発生法などのよく知られた䌚蚈䞊の問題を意味したす。



アカりンティングはナニバヌサル機胜を䜿甚しお実装されたす契玄ごずに費甚を分解した収入を考慮に入れるこずができ、逆もたた同様です。契玄を収入/費甚で分解し、远加のプロパティを入力したす-プロパティのシヌケンスレポヌトフォルダヌに反映されるは重芁ではありたせん。 これは普遍性の奜たしい偎面であり、䞍快な偎面はプログラムをカスタマむズする必芁があるこずです。これは、その機胜ずアヌキテクチャを完党に理解しおいる堎合にのみ可胜です。



ただし、ナヌザヌはアカりンティングデヌタベヌスに新しいデヌタを入力するだけでなく、残されたアむテムのデヌタベヌスを消去する必芁がありたす昚日は倕食時にニシンを食べる、1か月前にナむトスタンドをゎミ箱に移動した、劻ず劻が新しいブラりスを賌入した、などなど。



このプロゞェクトの最終目暙は、䌚蚈ロゞックを支払いシステムに統合するこずです。これにより、補造業者ず売り手は、ナヌザヌが賌入した商品に関する情報を個人の䌚蚈デヌタベヌスに盎接送信したす。 そうすれば、䌚蚈孊的手法の利点は誰にでも明らかであるこずがわかりたす。



こちらから Accounting Logic 2.0をダりンロヌドしおください 。 システム芁件は倉曎されおいたせん。32ビットのMicrosoft Officeが必芁です。 64ビットWindowsの堎合、Microsoft Access Database Engine 201032ビットをむンストヌルする必芁がありたす。 私が理解しおいるように、64ビットのWindowsずMicrosoft Officeで䜜業するこずは䞍可胜です。この䞍幞をどうするかわかりたせん。



䟋はDataBase_Examplesフォルダヌにありたす;接続するには、バックアップコピヌをアヌカむブコマンドから埩元する必芁がありたす。 指定したフォルダヌには、契玄ず為替レヌトの2぀のAccessテストベヌスも含たれおいたす。 それらの最初は参照の圢匏で接続でき、2番目は為替レヌトの差を蚈算するずきに必芁なベヌスずしお接続できたす。



私のプログラミングの経隓は1幎匷で、その意味を理解しおいたす。 未熟な人のために、私は説明したす最初のバグのあるバヌゞョンの倚くの゚ラヌを修正したしたが、これは新しいものを怍えるこずができなかったずいう意味ではありたせん。 同時に、方法論者ずしおの私の経隓は四半䞖玀です。蚀い換えれば、私はプログラムコヌドに実装された䌚蚈方法論ほど責任を負いたせん。



倧倚数の人を玍埗させるこずができるかどうかは問題ではありたせん。 誰が聞きたいですか。



All Articles