
Klients mijiedarbojas ar datu bÄzi.
No vietnes , Džonatans Tiongs.
Papildus tam, ka esmu programmÄtÄjs (galvenokÄrt Delphi + visÄdi dažÄdi DBVS, nesen ORACLE, + nedaudz PHP), man ir hobijs - dzÄ«vokļu pirkÅ”ana un pÄrdoÅ”ana. Es pÄrku dzÄ«vokli bÅ«vniecÄ«bas stadijÄ no daudzmaz uzticama attÄ«stÄ«tÄja par labu cenu (piemÄram, tagad Samolet ir tÄds attÄ«stÄ«tÄjs, tiek pÄrdoti dzÄ«vokļi netÄlu no Nekrasovkas metro stacijas), gaidu, kad mÄja tiks piegÄdÄta (bieži vien divi gadus vÄlÄk tas notiek ar lÄtiem piedÄvÄjumiem), es to atjaunoju un pÄc tam pÄrdodu par 95-100% no tirgus cenas.
TÄtad, es (tÄpat kÄ visi pÄrÄjie) saskÄros ar RosReestr darÄ«jumu trÅ«kuma problÄmu.
Rosreestr darÄ«jumu darÄ«jumu trÅ«kuma problÄma
ProgrammÄÅ”anÄ tas ir "DarÄ«jums", bet nekustamajÄ Ä«paÅ”umÄ tas ir "DarÄ«jums ar alternatÄ«vu" (un arÄ« kÄ daļa no "Seifa lÄ«gums"), un tas ir nedaudz sarežģītÄk. ES tev saku.
Vasja ieradÄs apskatÄ«t dzÄ«vokli, kuru Petja pÄrdeva. Un Vasjai ļoti patika viss, arÄ« cena, bet Vasjai nav naudas. TÄ sÄkas mÅ«su stÄsts.
Vasjam ir savs Ä«paÅ”ums, kurÄ ir dažas vÄrtÄ«bas, kas viÅam nav Ä«paÅ”i vajadzÄ«gas - Lomonosovs dzÄ«voja kaimiÅmÄjÄ, griestu augstums septiÅarpus metri, ir augļu un dÄrzeÅu bÄze un Sadovod tirgus. blakus var staigÄt pa Aeroexpress, zem dzÄ«vokļa ir pagrabs ar augstumu 1 metrs, virs dzÄ«vokļa ir bÄniÅi Ärti astronomiskajiem novÄrojumiem. Vasja saprot, ka Ŕīs Ä«paŔības sadÄrdzina viÅa dzÄ«vokli, bet ne viÅam paÅ”am. Un viÅÅ” nolemj nopirkt Petijas dzÄ«vokli un pÄrdot savu dzÄ«vokli. Bet pÄrdodot tieÅ”i tÄpÄc, lai nopirktu Petijas dzÄ«vokli, nevis tikai. MÄkleru valodÄ to sauc par āIr izvÄlÄta alternatÄ«vaā.
Tagad paskatÄ«simies uz Å”o situÄciju no Petijas puses. Fakts ir tÄds, ka Petju arÄ« neinteresÄ sÄdÄt uz amortizÄtas naudas, viÅÅ” pÄrdod dzÄ«vokli, lai nopirktu sev dzÄ«vokli elfu pilsÄtÄ ValinorÄ, bet viÅÅ” vÄl nav apskatÄ«jis, kurÄ. MÄkleru valodÄ to sauc par āDarÄ«jumu ar alternatÄ«vuā.
Diviem Viduszemes elfiem Magloram un Maedrosam ir piemÄrots (Petjas kritÄrijiem) nekustamais Ä«paÅ”ums Valinoras pilsÄtÄ, kas tiek steidzami pÄrdots, jo viÅi apkalpos Melkoru. MÄkleru valodÄ to sauc par "bezmaksas pÄrdoÅ”anu".
TÄtad Vasja atrod klientu Seryozha. Tagad Petja atrod divus sev piemÄrotus variantus Valinoras pilsÄtÄ. MÄs gatavojamies pabeigt darÄ«jumu. VienkÄrŔības labad pieÅemsim, ka neviena no darÄ«juma pusÄm neizmanto hipotÄku un tai nav nepilngadÄ«gu personu kÄ akciju Ä«paÅ”nieces. TÄdÄjÄdi tagad ir jÄveic Å”Ädas darbÄ«bas:
1. Serjoža iedod naudu Petijai.
2. Vasja atdod savu dzīvokli Serjožai.
3. Petja atdod savu dzīvokli Vasjai.
4. Maglor vai Maedhros nodod savu dzÄ«vokli ValinorÄ Petai un saÅem Seryozha naudu.
5. Malkors un Maedros dodas uz Mordoru, lai kalpotu Melkoram.
BÅ«tu ideÄli iesniegt Rosreestr izpildei Å”Ädu skriptu:
SÄKT DARÄŖJUMU
Atdodiet Vasjas dzīvokli Serjožai.
Atdodiet Petjas dzīvokli Vasjai.
sÄkt
Atdodiet Malkora dzīvokli Petijai
Dodiet Seryozha naudu Malkoram
IF_ERROR:
Atdodiet Maedrosa dzīvokli Petijai
Dodiet Seryozha naudu Maedrosam
beigas
PIEÅ EMT DARÄŖJUMU
Å is ir vienkÄrÅ”ots darÄ«juma skripts ar alternatÄ«vu, kurÄ tiek pieÅemts, ka visiem dzÄ«vokļiem ir viens pilngadÄ«gs (un rÄ«cÄ«bspÄjÄ«gs) Ä«paÅ”nieks, ka to vÄrtÄ«bas ir vienÄdas un ka mÄkleriem (ja tÄdi ir) tiek samaksÄts neatkarÄ«gi no darÄ«juma posmiem.
TomÄr Rosreestr neatbalsta darÄ«jumus. Visas darbÄ«bas tiks veiktas secÄ«gi un neatkarÄ«gi, viena pÄc otras, neatceļot darÄ«jumu kopumÄ, ja viena no tÄm neizdodas. MaksimÄlais, ko var sasniegt - Åemot vÄrÄ to, ka Rosreestr un MFC nedarbojas ar skaidras naudas pÄrskaitīŔanu - ir naudas iemaksa seifÄ ar nosacÄ«jumiem, lai Vasja, Petja, Seryozha varÄtu tai piekļūt (ja nav darÄ«juma). vispÄr ir reÄ£istrÄts), un citi aktieri, uzrÄdot Rosreestr reÄ£istrÄtus lÄ«gumus. (Un, starp citu, bankas neatkarÄ«gi nepÄrbauda lÄ«gumu autentiskumu, tas ir, uzticas darÄ«juma puÅ”u dokumentu autentiskumam).
Bez riskiem, ka darÄ«jums tiks pabeigts nepilnÄ«gi, vÄl viena problÄma ir tÄ, ka, ja citi dalÄ«bnieki var ievÄkties savÄ jaunajÄ mÄjoklÄ«, nesagaidot pilnu reÄ£istrÄciju (sveicinÄti, jautÄjums par komunÄlo maksÄjumu nepietiekamu samaksu!), tad Maglor un Maedhros drÄ«zumÄ nedosies. kalpot Melkoram, un, iespÄjams, Maglors nevarÄs, viÅam vienkÄrÅ”i nebÅ«s laika turÄt Silmarilus rokÄs. DarÄ«jumi ar nekustamo Ä«paÅ”umu tiek veikti secÄ«gi, un katra darÄ«juma izpilde prasÄ«s vismaz 9 darba dienas.
TurklÄt Rosreestr neatbalsta mÄjokļu apgrÅ«tinÄjumu, kas tiek bÅ«vÄts saskaÅÄ ar DDU, bet tas varÄtu bÅ«t, tÄ ir elementÄra darbÄ«ba attiecÄ«bÄ uz vienkÄrÅ”u nÄkotnes lÄ«gumu.
Tagad pÄriesim pie trÅ«kumiem un manÄm vÄlmÄm saistÄ«bÄ ar DBVS
1) Pirmais ir versiju kontroles sistÄmas trÅ«kums. Ja Delphi pusÄ es izstrÄdÄju savÄ smilÅ”u kastÄ un veiktÄs izmaiÅas neparÄdÄ«sies citiem programmÄtÄjiem, kamÄr tÄs nav izdarÄ«tas, tad DBVS tas tÄ nav. Un pat ja man tiek uzticÄta pilnÄ«ga (vismaz man uzticÄtÄ uzdevuma veikÅ”anai nepiecieÅ”amÄ) piekļuve kaujas datubÄzei, un tas notiek, es nevaru to attÄ«stÄ«t. KamÄr es atkļūdoÅ”u, viss sabruks. Kas tas par akmens laikmetu??? Izveidojiet smilÅ”u kasti izstrÄdÄtÄjiem.
2) Otrais ir iepriekÅ” definÄtu standartizÄtu tabulu trÅ«kums, kas apraksta reÄlo pasauli. Katram uzÅÄmumam, kurÄ esmu strÄdÄjis, ir savs tabulas formÄts, kurÄ ir aprakstÄ«ti divpadsmit mÄneÅ”u nosaukumi (krievu un (vismaz) angļu valodÄ, dažÄdos gadÄ«jumos krievu valodÄ!
3) TreÅ”kÄrt - un Å”eit es izmantoÅ”u Oracle terminoloÄ£iju - nav iespÄjams izsaukt vienkÄrÅ”u Insert vai Update skriptu, kas izmanto atgrieÅ”anos, tÄpat kÄ mÄs saucam Select. VarbÅ«t tÄs nav Oracle problÄmas, bet gan Delphi + Oracle saskarnes problÄmas.
4) CeturtkÄrt ā nepiecieÅ”amÄ«ba pieŔķirt pilnvaras manis izveidotajÄm procedÅ«rÄm un funkcijÄm tur, kur es to nevÄlos darÄ«t. Es nevÄlos iestatÄ«t un pÄc tam mainÄ«t lietotÄja atļaujas procedÅ«rÄm un funkcijÄm. KÄpÄc, ja es nepÄrprotami nerakstÄ«ju Grants, sistÄma pati nevarÄtu aplÅ«kot iesaistÄ«tos objektus un saskaÅÄ ar tiesÄ«bÄm ar tiem rÄ«koties, pieŔķirt vai nepieŔķirt noteiktiem lietotÄjiem tiesÄ«bas izsaukt funkciju? Rakstot funkcijas un procedÅ«ras, Å”im esmu gatavs uzrakstÄ«t vienu atslÄgvÄrdu. Vai, vÄl labÄk, ļaujiet lietotÄjam sÄkt izpildi, un, ja algoritma atzars noved pie pieprasÄ«juma, uz kuru lietotÄjam nav tiesÄ«bu, viÅÅ” to izmetÄ«s ar kļūdu.
Avots: www.habr.com
