Draugi un kolÄÄ£i, pÄdÄjÄ laikÄ arvien biežÄk parÄdÄs raksti par HabrÄ ar naidu pret 1C kÄ attÄ«stÄ«bas platformu un tÄs aizstÄvju runas. Å ajos rakstos tika identificÄta viena nopietna problÄma: visbiežÄk 1C kritiÄ·i to kritizÄ no pozÄ«cijas āneapgÅ«stotā, lamÄjot problÄmas, kas de facto ir viegli atrisinÄmas, un, gluži pretÄji, nepieskaroties problÄmÄm, kas patieÅ”Äm ir svarÄ«gas, vÄrtÄ«gas. apspriežas un pÄrdevÄjs tos neatrisina. Es uzskatu, ka ir lietderÄ«gi veikt saprÄtÄ«gu un lÄ«dzsvarotu 1C platformas pÄrskatÄ«Å”anu. Ko tas var darÄ«t, ko tas nevar darÄ«t, ko tam vajadzÄtu darÄ«t, bet ko tas nedara, un desertÄ, ko tas dara ar lielu triecienu, un jÅ«su izstrÄdÄtÄji uzÅÄmumÄ %technology_name% darÄ«s simts gadus, izmetot to prom. vairÄk nekÄ viens gada budžets.
RezultÄtÄ jÅ«s kÄ vadÄ«tÄjs vai arhitekts varÄsiet iegÅ«t skaidru izpratni par to, kÄdam uzdevumam jums bÅ«s izdevÄ«gi izmantot 1C un kur tas ir jÄizdedzina ar karstu gludekli. KÄ izstrÄdÄtÄjs pasaulÄ, kas nav 1C, jÅ«s varÄsiet redzÄt, kas ir 1C, kas rada satraukumu. Un kÄ 1C izstrÄdÄtÄjs jÅ«s varÄsiet salÄ«dzinÄt savu sistÄmu ar citu valodu ekosistÄmÄm un saprast savu atraÅ”anÄs vietu programmatÅ«ras izstrÄdes koordinÄtu sistÄmÄ.
Zem griezuma ir daudz biezu uzbrukumu 1C, 1C kritiÄ·iem, Java, .NET un vispÄr... Fans pilns, laipni lÅ«dzam!
Par sevi
Sarunas tÄma esmu pazÄ«stama kopÅ” aptuveni 2004. gada. ProgrammÄju droÅ”i vien kopÅ” 6 gadu vecuma, no tÄ brīža, kad manÄ rokÄs nonÄca grÄmata par profesoru FortrÄnu ar komiksiem par kaÄ·i, zvirbuli un kÄpuru. Es analizÄju programmas, kuras kaÄ·is rakstÄ«ja no grÄmatas attÄliem, un uzzinÄju, ko viÅi darÄ«ja. Un jÄ, man tobrÄ«d nebija Ä«sta datora, bet bija zÄ«mÄjums uz grÄmatas izplatÄ«bas un es godÄ«gi spiedu papÄ«ra pogas, ievadot komandas, kuras biju izspiegojis kaÄ·im X.
Tad skolÄ bija BK0011 un BASIC, universitÄtÄ C++ un montieri, tad 1C un vÄl tik daudz citu lietu, ko man ir slinkums atcerÄties. PÄdÄjos 15 gadus es galvenokÄrt nodarbojos ar 1C ne tikai kodÄÅ”anas ziÅÄ, bet vispÄr ar 1C. Å eit tiek iestatÄ«ti uzdevumi, administrÄÅ”ana un devops. PÄdÄjos 5 gadus esmu nodarbojies ar sabiedriski noderÄ«gÄm aktivitÄtÄm, izstrÄdÄjot izstrÄdes un automatizÄcijas rÄ«kus citiem 1C lietotÄjiem, rakstot rakstus un grÄmatas.
Izlemsim par diskusijas tÄmu
PirmkÄrt, definÄsim, par ko mÄs runÄsim, jo āāburti ā1Cā var nozÄ«mÄt daudzas lietas. Å ajÄ gadÄ«jumÄ ar burtiem ā1Cā mÄs domÄsim tikai modernÄs, astotÄs versijas izstrÄdes ietvaru ā1C: Enterpriseā. MÄs daudz nerunÄsim par ražotÄju un tÄ politikÄm (bet mums bÅ«s nedaudz jÄdara) MÄs neapspriedÄ«sim konkrÄtas programmas, kas rakstÄ«tas, izmantojot Å”o ietvaru. TehnoloÄ£ija ir atseviŔķa, lietojumprogrammas jeb konfigurÄcijas ir atseviŔķas.
Augsta lÄ«meÅa arhitektÅ«ra 1C: Enterprise
Ne velti es pieminu vÄrdu āietvarsā. No izstrÄdÄtÄja viedokļa 1C platforma ir tieÅ”i ietvars. Un jums tas ir jÄizturas tieÅ”i tÄpat kÄ pret ietvaru. PadomÄjiet par to kÄ par Spring vai ASP.NET, ko izpilda kÄds izpildlaiks (attiecÄ«gi JVM vai CLR). GadÄs, ka parastÄs programmÄÅ”anas pasaulÄ (ānevis 1Cā) dalÄ«jums ietvaros, virtuÄlajÄs maŔīnÄs un konkrÄtÄs lietojumprogrammÄs ir likumsakarÄ«gs, jo Ŕīs sastÄvdaļas parasti izstrÄdÄ dažÄdi ražotÄji. 1C pasaulÄ nav pieÅemts skaidri noŔķirt izstrÄdes ietvaru un paÅ”u izpildlaiku; turklÄt Ä«paÅ”as lietojumprogrammas, kas rakstÄ«tas, izmantojot ietvaru, arÄ« galvenokÄrt izstrÄdÄ pats 1C. TÄ rezultÄtÄ rodas zinÄma neskaidrÄ«ba. TÄpÄc raksta ietvaros mums bÅ«s jÄapsver 1C no vairÄkÄm pusÄm vienlaikus un jÄklasificÄ pa vairÄkÄm koordinÄtu asÄ«m. Un katrÄ koordinÄtu asÄ« ieliksim brÅ«nas vielas lÄpstu un apskatÄ«sim esoÅ”Ä risinÄjuma Ä«paŔības, priekÅ”rocÄ«bas un trÅ«kumus.
Skatu punkti uz 1C
1C pircÄjam
PircÄjs iegÄdÄjas automatizÄcijas sistÄmu, ar kuru viÅÅ” var Ätri atrisinÄt sava biznesa automatizÄcijas problÄmas. UzÅÄmums var bÅ«t neliels stends vai liels holdinga uzÅÄmums. Skaidrs, ka Å”o biznesu vajadzÄ«bas ir dažÄdas, taÄu abus atbalsta viena platformas kodu bÄze.
1C pircÄjam tas ir Ätrs laiks, lai to pÄrdotu. Ätri. ÄtrÄks par Java, C# vai JS. VidÄji. Ap slimnÄ«cu. Ir skaidrs, ka vizÄ«tkarÅ”u vietne, kas izmanto React, izrÄdÄ«sies labÄka, bet WMS sistÄmas aizmugure 1C tiks palaists ÄtrÄk.
1C kÄ rÄ«ks
Katram tehnoloÄ£iskajam risinÄjumam ir pielietojamÄ«bas robežas. 1C nav vispÄrÄja lietojuma valoda; tÄ nedzÄ«vo atseviŔķi no sava ietvara. Ieteicams izmantot 1C, ja nepiecieÅ”ams:
- servera lietojumprogramma
- lietojumprogramma, kurÄ parÄdÄs finanses
- ar gatavu lietotÄja saskarni, ORM, ziÅoÅ”anu, XML/JSON/COM/PDF/YourDataTransferingFormat
- ar atbalstu fona procesiem un darbiem
- ar uz lomu balstītu droŔību
- ar skriptÄjamu biznesa loÄ£iku
- ar spÄju Ätri izveidot prototipu un zemu laiku lÄ«dz tirdzniecÄ«bai
Jums nav nepiecieÅ”ams 1C, ja vÄlaties:
- maŔīnmÄcÄ«ba
- GPU aprÄÄ·ini
- datorgrafika
- matemÄtiskie aprÄÄ·ini
- CAD sistÄma
- signÄlu apstrÄde (skaÅa, video)
- highload http zvani ar simtiem tūkstoŔu rps
1C kÄ ražoÅ”anas uzÅÄmums
Ir vÄrts saprast, kas ir 1C kÄ programmatÅ«ras ražotÄja bizness. UzÅÄmums 1C pÄrdod biznesa problÄmu risinÄjumus, izmantojot automatizÄciju. DažÄdi uzÅÄmumi, lieli vai mazi, bet tas ir tas, ko viÅa pÄrdod. LÄ«dzekļi Ŕī mÄrÄ·a sasniegÅ”anai ir biznesa lietojumprogrammas. GrÄmatvedÄ«bai, algu uzskaitei u.c.. Å o aplikÄciju rakstÄ«Å”anai uzÅÄmums izmanto savu biznesa aplikÄciju izstrÄdes platformu. ÄŖpaÅ”i pielÄgots Å”o paÅ”u biznesa lietojumprogrammu kopÄ«giem uzdevumiem:
- finanÅ”u grÄmatvedÄ«ba
- vienkÄrÅ”a biznesa loÄ£ikas pielÄgoÅ”ana
- plaÅ”as integrÄcijas iespÄjas neviendabÄ«gÄs IT ainavÄs
KÄ ražotÄjs 1C uzskata, ka Ŕī ir stratÄÄ£ija, kas ļauj strÄdÄt ar partneriem un klientiem abpusÄji izdevÄ«gÄ režīmÄ. Ar to var strÄ«dÄties, taÄu aptuveni Å”Ädi uzÅÄmums sevi reklamÄ: gatavi biznesa problÄmu risinÄjumi, kurus partneri var Ätri pielÄgot un integrÄt jebkurÄ IT vidÄ.
Visas pretenzijas vai vÄlmes par 1C kÄ sistÄmu ir jÄskata tikai caur Å”o prizmu. āMÄs vÄlamies OOP 1C formÄtÄ,ā saka izstrÄdÄtÄji. āCik mums izmaksÄs OOP atbalsts platformÄ, vai tas mums palÄ«dzÄs palielinÄt kastu pÄrdoÅ”anu?ā saka 1C. Atver savu biznesa problÄmu risinÄjumu pÄrdoÅ”anas prizmu:
- Äau, biznes, vai vÄlaties OOP savÄ 1C?
- Vai tas man palÄ«dzÄs atrisinÄt manas problÄmas?
- Kas zina...
ā Tad nevajag
Å Ä« pieeja var bÅ«t laba vai slikta atkarÄ«bÄ no tÄ, kas to skatÄs, taÄu tÄ tas ir. RunÄjot par to, ka 1C nav funkcijas X, jums jÄsaprot, ka tas nav iemesla dÄļ, bet gan kontekstÄ ar izvÄli āIevieÅ”anas izmaksas pret peļÅas summuā.
TehnoloÄ£iskÄ klasifikÄcija
āPatiesÄ«bÄ Odinesniks dara visu iespÄjamo, lai izmantotu labÄkos modeļus, kurus rÅ«pÄ«gi atlasÄ«juÅ”i gÄdÄ«gi metodiÄ·i un platformas 1C izstrÄdÄtÄji.
Kad jÅ«s rakstÄt savu muļķīgo kodu vienkÄrÅ”ai pÄrvaldÄ«tai veidlapai, patiesÄ«bÄ jÅ«s to izmantojat modeļa skata kontrolieris Ń divvirzienu datu saistÄ«Å”ana Š² trÄ«sslÄÅu datu lietotnes dzinÄjs, aromatizÄts augsta lÄ«meÅa objektu attiecÄ«bu kartÄÅ”ana uz pamatnes deklaratÄ«vs metadatu aprakstskam savs no platformas neatkarÄ«ga vaicÄjumu valoda, C deklaratÄ«va uz datiem balstÄ«ta lietotÄja saskarne, pilnÄ«ga caurskatÄma serializÄcija un uz domÄnu orientÄta programmu valoda.Tas, kur 1C izstrÄdÄtÄji atŔķiras no saviem Rietumu kolÄÄ£iem, ir PR. ViÅiem patÄ«k jebkurai muļķībai pieŔķirt lielu vÄrdu un skraidÄ«ties ar to kÄ ar netÄ«ru maisu.
A. Orefkovs
1C platformai ir klasiska 3 lÄ«meÅu arhitektÅ«ra, kuras centrÄ ir lietojumprogrammu serveris (vai tÄ emulÄcija par nelielu naudu maziem veikalniekiem). KÄ DBVS tiek izmantota MS SQL vai Postgres. Ir arÄ« atbalsts Oracle un IBM DB2, taÄu tas ir diezgan ezotÄriski; neviens nezina, kas notiks, ja ieviesÄ«sit 1C Å”ajÄs datu bÄzÄs ar vidÄju un lielu slodzi. Es uzskatu, ka 1C pats to nezina.
Klienta daļa ir vai nu plÄnais klients, kas instalÄts lietotÄja datorÄ, vai tÄ«mekļa klients. GalvenÄ iezÄ«me ir tÄda, ka programmÄtÄji neraksta 2 dažÄdus kodus, viÅi raksta vienu pieteikumu, vienÄ valodÄ, un jÅ«s varat to parÄdÄ«t pÄrlÅ«kprogrammÄ, ja ir vÄlme vai nepiecieÅ”amÄ«ba. KurÅ” gan vÄlÄjÄs Ä«stu pilnu steku un vienu valodu priekÅ”Äjai un aizmugursistÄmai, node.js? ViÅiem nekad neizdevÄs izdarÄ«t tieÅ”i to paÅ”u lÄ«dz galam. Ir Ä«sta pilna kaudze, taÄu jums tas bÅ«s jÄraksta 1C. LikteÅa ironija, tÄdas lietas :)
MÄkoÅa SaaS risinÄjums 1C:Fresh darbojas arÄ« pÄrlÅ«kprogrammas režīmÄ, kurÄ var nevis iegÄdÄties 1C, bet gan iznomÄt nelielu datubÄzi un sekot lÄ«dzi shawarma pÄrdoÅ”anas apjomiem. Tikai pÄrlÅ«kprogrammÄ, neko neinstalÄjot un nekonfigurÄjot.
TurklÄt ir mantots klients, ko 1C versijÄ sauc par āparasto lietojumprogrammuā. Mantojums ir mantojums, laipni lÅ«dzam lietojumprogrammu pasaulÄ 2002. gadÄ, taÄu mÄs joprojÄm runÄjam par paÅ”reizÄjo ekosistÄmas stÄvokli.
1C servera daļa atbalsta klasterizÄciju un mÄrogoÅ”anu, pievienojot klasterim jaunas maŔīnas. Å eit ir salauzts diezgan daudz kopiju un par to rakstÄ bÅ«s atseviŔķa sadaļa. ÄŖsÄk sakot, tas nav gluži tas pats, kas pievienot pÄris tieÅ”i tÄdus paÅ”us gadÄ«jumus aiz HAProxy.
Lietojumprogrammu izstrÄdes ietvars izmanto savu programmÄÅ”anas valodu, kas aptuveni atgÄdina nedaudz uzlabotu VB6, kas tulkots krievu valodÄ. CilvÄkiem, kuri ienÄ«st visu krievu valodu, kuri netic, ka ājaā tiek tulkots kÄ ājaā, tiek piedÄvÄta otrÄ sintakses iespÄja. Tie. Ja vÄlaties, varat rakstÄ«t 1C tÄ, lai to nevarÄtu atŔķirt no VB.
Å Ä« programmÄÅ”anas valoda ir galvenais iemesls naidam pret 1C segvÄrdiem pret viÅu platformu. AtzÄ«sim, ne bez pamata. Valoda tika iecerÄta pÄc iespÄjas vienkÄrÅ”Äka, lai izpildÄ«tu mantru āIZSTRÄDÄTÄJI, IZSTRÄDÄJIā vismaz NVS mÄrogÄ. Å Äda risinÄjuma komerciÄlÄ bÅ«tÄ«ba, manuprÄt, ir skaidri redzama: vairÄk izstrÄdÄtÄju, lielÄks tirgus pÄrklÄjums. Tas piepildÄ«jÄs, pÄc dažÄdÄm aplÄsÄm no 45% lÄ«dz 95%. Uzreiz teikÅ”u, ka rakstÄ«t valodÄ, kura tev Ŕķiet, ir patieÅ”Äm vienkÄrÅ”Äka. Un es zinu diezgan daudzas programmÄÅ”anas valodas.
SÄksim ar valodu.
1C programmÄÅ”anas valoda
Vienlaikus sistÄmas stiprais un vÄjais punkts. NodroÅ”ina vieglu ievadi un lasÄmÄ«bu. No otras puses, tas nav atjauninÄts kopÅ” 8. versijas izlaiÅ”anas 2002. gadÄ un ir morÄli novecojis. KÄds teiks "galvenais trÅ«kums ir tas, ka nav OOP", un viÅi kļūdÄ«sies. PirmkÄrt, PLO nepatÄ«k ne tikai Nuraļjevs, bet arÄ« Torvalds. Un, otrkÄrt, OOP joprojÄm pastÄv.
No izstrÄdÄtÄja viedokļa viÅa rÄ«cÄ«bÄ ir ietvars ar bÄzes klasÄm, kas tiek parÄdÄ«tas DBVS. IzstrÄdÄtÄjs var Åemt bÄzes klasi āDirectoryā un mantot no tÄs direktoriju āKlientiā. Tas var pievienot jaunus klases laukus, piemÄram, INN un Adrese, kÄ arÄ«, ja nepiecieÅ”ams, var ignorÄt (ignorÄt) bÄzes klases metodes, piemÄram, OnWrite/AtRecord metodi.
Ietvars ir izveidots tÄ, ka dziļÄka mantoÅ”ana ir reti nepiecieÅ”ama, un OOP ierobežojumam, manuprÄt, ir jÄga. 1C koncentrÄjas uz domÄnu virzÄ«tu attÄ«stÄ«bu un liek domÄt, pirmkÄrt, par izstrÄdÄjamÄ risinÄjuma tematiku, un tas ir labi. Nav ne tikai kÄrdinÄjuma, bet arÄ« nav jÄraksta 10 dažÄdi DTO un ViewModels, lai tikai kaut kur parÄdÄ«tu dažus datus no domÄna. 1C izstrÄdÄtÄjs vienmÄr darbojas ar vienu entÄ«tiju, nepÄrblÄ«vÄjot uztveres kontekstu ar duci klasÄm ar lÄ«dzÄ«giem nosaukumiem, kas pÄrstÄv vienu un to paÅ”u entÄ«tiju, bet no citas puses. PiemÄram, jebkurÄ .NET lietojumprogrammÄ noteikti bÅ«s pieci vai divi ViewModels un DTO serializÄcijai JSON un datu pÄrsÅ«tÄ«Å”anai no klienta uz serveri. Un aptuveni 10ā15% no jÅ«su lietojumprogrammas koda tiks iztÄrÄti, pÄrsÅ«tot datus no vienas klases uz otru, izmantojot pildspalvas vai kruÄ·us, piemÄram, AutoMapper. Å is kods ir jÄuzraksta un programmÄtÄjiem ir jÄmaksÄ par tÄ izveidi un uzturÄÅ”anu.
IzrÄdÄs, ka 1C valodu ir grÅ«ti izstrÄdÄt, nesarežģot to lÄ«dz galveno valodu lÄ«menim, tÄdÄjÄdi zaudÄjot vienkÄrŔības priekÅ”rocÄ«bas. KÄds ir pÄrdevÄja uzdevums bÅ«tÄ«bÄ tiek risinÄts: izdot standarta risinÄjumu, kuru ikviens uz ielas pieÄ·erts skolÄns var pielÄgot ar nepiecieÅ”amo kvalitÄtes lÄ«meni (t.i., tiek pabeigta lieta no stenda lÄ«dz lielai rÅ«pnÄ«cai). Ja esat stends, paÅemiet studentu; ja esat rÅ«pnÄ«ca, paÅemiet guru no sava Ä«stenoÅ”anas partnera. Tas, ka Ä«stenoÅ”anas partneri pÄrdod studentus par guru cenu, nav ietvara problÄma. ArhitektÅ«ras ziÅÄ ietvaram ir jÄatrisina abu problÄmas, standarta konfigurÄciju kodam (kuru mÄs pÄrdevÄm uzÅÄmumiem ar pielÄgoÅ”anas solÄ«jumu) ir jÄbÅ«t saprotamam studentam, un guru ir jÄspÄj saprast, ko vien vÄlaties.
Tas, kas, manuprÄt, valodÄ patieÅ”Äm pietrÅ«kst, kas liek rakstÄ«t vairÄk, nekÄ varÄtu, ir tas, kas tÄrÄ klienta samaksÄto laiku.
- IespÄja rakstÄ«t lÄ«menÄ«, piemÄram, TypeScript (rezultÄtÄ vairÄk attÄ«stÄ«ti koda analÄ«zes rÄ«ki IDE, pÄrstrukturÄÅ”ana, mazÄk aizskaroÅ”u jambu)
Funkciju kÄ pirmÄs klases objektu pieejamÄ«ba. Nedaudz sarežģītÄka koncepcija, taÄu tipiskÄ koda koda daudzumu varÄtu ievÄrojami samazinÄt. SkolÄna izpratne par kodu, IMHO, pat palielinÄtos apjoma samazinÄÅ”anas dÄļ - UniversÄlÄs kolekcijas literÄļi, inicializatori. Tas pats - samazinÄt koda daudzumu, kas jÄraksta un/vai jÄskatÄs ar acÄ«m. Kolekciju aizpildÄ«Å”ana aizÅem vairÄk nekÄ 9000% no 1C programmÄÅ”anas laika. RakstÄ«t Å”o bez sintaktiskÄ cukura ir ilgi, dÄrgi un kļūdÄms. KopumÄ LOC daudzums 1C risinÄjumos pÄrsniedz visus iespÄjamos ierobežojumus, salÄ«dzinot ar pieejamajiem atvÄrtajiem ietvariem un kopumÄ visiem jÅ«su uzÅÄmuma Java kopÄ. Valoda ir daudzveidÄ«ga, un tas izpaužas datu apjomÄ, atmiÅÄ, IDE bremzÄs, laikÄ, naudÄ...
- beidzot konstrukcijas Man ir hipotÄze, ka Ŕīs konstrukcijas trÅ«kst tÄpÄc, ka viÅi neatrada veiksmÄ«gu tulkojumu krievu valodÄ :)
- PaÅ”u datu tipi (bez OOP), tipa analogi no VB6. Tas ļaus jums nerakstÄ«t struktÅ«ras, izmantojot komentÄrus BSP un maÄ£iskÄs metodes, kas veido Ŕīs struktÅ«ras. MÄs iegÅ«stam: mazÄk koda, mÄjienu caur punktu, ÄtrÄku problÄmas risinÄjumu, mazÄk kļūdu drukas kļūdu un trÅ«kstoÅ”o struktÅ«ru Ä«paŔību dÄļ. Tagad lietotÄju struktÅ«ru rakstÄ«Å”ana pilnÄ«bÄ ir Standarta apakÅ”sistÄmas bibliotÄkas izstrÄdes komanda, kas, godam, rÅ«pÄ«gi raksta komentÄrus par nodoto parametru struktÅ«ru paredzamajÄm Ä«paŔībÄm.
- Bez cukura, strÄdÄjot ar asinhroniem zvaniem tÄ«mekļa klientÄ. AtzvanÄ«Å”anas elle ProcessingNotifications formÄ ir Ä«slaicÄ«gs kruÄ·is, ko izraisa pÄkÅ”Åas galveno pÄrlÅ«kprogrammu API izmaiÅas, taÄu jÅ«s nevarat tÄ dzÄ«vot visu laiku; tiek zaudÄta priekÅ”rocÄ«ba, ko rada asinhronÄ koda āstudentu izpratneā vairÄk un vairÄk. Nepievienojiet Å”ai paradigmai atbalstu galvenajÄ IDE, un viss kļūs vÄl sliktÄks.
Å Ä« ir viena no aktuÄlÄkajÄm problÄmÄm, ir skaidrs, ka saraksts varÄtu bÅ«t daudz lielÄks, taÄu nedrÄ«kst aizmirst, ka Ŕī joprojÄm nav vispÄrÄjas nozÄ«mes valoda, tai nav nepiecieÅ”ama daudzpavedienu, lambda funkcijas, piekļuve GPU un Ätra peldoÅ”Ä komata aprÄÄ·ini. Å Ä« ir biznesa loÄ£ikas skriptu valoda.
ProgrammÄtÄjam, kurÅ” jau daudz strÄdÄjis ar Å”o valodu, ieskatÄ«jies js vai c#, Ŕīs valodas ietvaros kļūst garlaicÄ«gi. Tas ir fakts. ViÅam ir nepiecieÅ”ama attÄ«stÄ«ba. No otras puses, piegÄdÄtÄjam ir norÄdÄ«to funkciju ievieÅ”anas izmaksas, salÄ«dzinot ar ieÅÄmumu pieaugumu pÄc to ievieÅ”anas. Å eit man nav nekÄdas informÄcijas par to, kas Å”obrÄ«d uzÅÄmuma acÄ«s atsver.
Attīstības vide
ArÄ« Å”eit lietas neiet gludi. Ir divas izstrÄdes vides. Pirmais ir komplektÄcijÄ iekļautais konfigurators. OtrÄ ir Enterprise Development Tools vide jeb Ä«sumÄ EDT, kas izstrÄdÄta uz Eclipse bÄzes.
Konfigurators nodroÅ”ina pilnu izstrÄdes uzdevumu klÄstu, atbalsta visas funkcijas un ir galvenÄ vide tirgÅ«. Tas ir arÄ« morÄli novecojis, neattÄ«stoties, pÄc baumÄm - tehniskÄ parÄda apjoma dÄļ sevÄ«. SituÄciju varÄtu uzlabot, atverot iekÅ”Äjo API (draudzÄ«bas veidÄ ar
TurklÄt kopÅ” tÄ laika vidÄjÄ standarta risinÄjuma apjoms ir pieaudzis vairÄkas reizes, un Å”odien IDE vienkÄrÅ”i nevar tikt galÄ ar koda daudzumu, ar kuru tas tiek ievadÄ«ts. LietojamÄ«ba un pÄrstrukturÄÅ”anas iespÄjas nav pat nulles, tÄs ir mÄ«nusÄ. Tas viss izstrÄdÄtÄjiem entuziasmu nedod un viÅi sapÅo pÄrcelties uz citÄm ekosistÄmÄm un tur turpinÄt kodÄt sÅ«dus, bet patÄ«kamÄ vidÄ, kas ar savu uzvedÄ«bu nespļauj sejÄ.
KÄ alternatÄ«va tiek piedÄvÄta no jauna uzrakstÄ«ta IDE, kas veidota uz Eclipse. Tur avoti, tÄpat kÄ jebkurÄ citÄ programmatÅ«rÄ, dzÄ«vo teksta failu veidÄ, tiek glabÄti GIT, pull pieprasÄ«jumu filiÄles, tas viss. NegatÄ«vie ir tas, ka tas jau daudzus gadus nav atstÄjis beta statusu, lai gan tas kļūst labÄks ar katru izlaidumu. Es nerakstÄ«Å”u par EDT trÅ«kumiem, Å”odien tas ir mÄ«nuss, rÄ«t ir fiksÄta funkcija. Å Äda apraksta atbilstÄ«ba Ätri izzudÄ«s. MÅ«sdienÄs EDT ir iespÄjams izstrÄdÄt, taÄu tas ir neparasti, jums ir jÄbÅ«t gatavam noteiktam skaitam IDE kļūdu.
Ja paskatÄs uz situÄciju caur iepriekÅ” minÄto ā1C prizmuā, jÅ«s iegÅ«stat kaut ko lÄ«dzÄ«gu: jaunÄ IDE izlaiÅ”ana nepalielina kastu pÄrdoÅ”anas apjomu, bet IZSTRÄDÄTÄJU aizplÅ«Å”ana var tikt samazinÄta. GrÅ«ti pateikt, kas sagaida ekosistÄmu izstrÄdÄtÄju komforta ziÅÄ, taÄu Microsoft jau ir apgrÅ«tinÄjusi mobilo ierÄ«Äu izstrÄdÄtÄjus, piedÄvÄjot tiem savus pakalpojumus pÄrÄk vÄlu.
Attīstības vadība
Å eit viss ir ievÄrojami labÄk nekÄ koda rakstÄ«Å”anÄ, it Ä«paÅ”i nesen, kad kopienas pÅ«liÅi atklÄja administrÄcijas automatizÄcijas problÄmas, laida klajÄ prototipus, kas aicina iemest 1C repozitoriju miskastÄ un izmantot git, Ätro vainoÅ”anu, koda pÄrskatÄ«Å”anu. , statiskÄ analÄ«ze, automÄtiskÄ izvietoÅ”ana utt. Platformai ir pievienotas daudzas funkcijas, kas paaugstina izstrÄdes uzdevumu automatizÄcijas lÄ«meni. TomÄr visas Ŕīs funkcijas tika pievienotas tikai un vienÄ«gi mÅ«su paÅ”u lielo produktu izstrÄdei, kad kļuva skaidrs, ka mÄs nevaram iztikt bez automatizÄcijas. Bija automÄtiska sapludinÄÅ”ana, trÄ«svirzienu salÄ«dzinÄjums ar KDiff un tas viss. Palaista vietnÄ Github
MÅ«sdienÄs 1C avoti tiek glabÄti git formÄtÄ ar saistÄ«bÄm, kas saistÄ«tas ar Jira problÄmÄm, pÄrskati pakalpojumÄ Crucible, spiedpoga no Jenkins un Allure ziÅojumi par koda testÄÅ”anu 1C formÄtÄ un pat
AdministrÄcija
Å eit ir daudz ko teikt. PirmkÄrt, tas, protams, ir serveris (1C serveru klasteris). BrÄ«niŔķīga lieta, bet pateicoties tam, ka tÄ ir pilnÄ«gi melna kaste, dokumentÄta pietiekami detalizÄti, bet specifiskÄ veidÄ - apgÅ«t nepÄrtrauktas darbÄ«bas palaiÅ”anu augstas slodzes režīmÄ vairÄkos serveros ir dažu izredzÄto, kas valkÄ medaļa ar uzrakstu āEksperts tehnoloÄ£iju jautÄjumosā. Ir vÄrts atzÄ«mÄt, ka principÄ 1C servera administrÄÅ”ana neatŔķiras no jebkura cita servera administrÄÅ”anas. TÄ ir uz tÄ«klu balstÄ«ta, vairÄku pavedienu lietojumprogramma, kas patÄrÄ atmiÅu, CPU un diska resursus. NodroÅ”ina plaÅ”as iespÄjas telemetrijas datu savÄkÅ”anai un diagnostikai.
ProblÄma ir tÄda, ka pÄrdevÄjs nepiedÄvÄ neko Ä«paÅ”u attiecÄ«bÄ uz gataviem risinÄjumiem tieÅ”i Å”ai diagnostikai. JÄ, ir 1C: Instrumentation and Control Center, tie ir pat diezgan labi, taÄu tie ir ļoti dÄrgi un ne visiem tÄdi ir. KopienÄ ir vairÄki uzlabojumi, lai savienotu Grafana, Zabbix, ELK un citas lietas no standarta administratoru komplekta, taÄu nav viena risinÄjuma, kas bÅ«tu piemÄrots lielÄkajai daļai. Uzdevums gaida savu varoni. Un, ja esat uzÅÄmums, kas plÄno uzsÄkt darbÄ«bu 1C klasterÄ«, jums ir nepiecieÅ”ams eksperts. SavÄjie no iekÅ”puses vai no Ärpuses, bet to vajag. Tas ir normÄli, ka ir atseviŔķa loma ar servera darbÄ«bas kompetencÄm, ne katram 1C lietotÄjam tas bÅ«tu jÄzina, jums tikai jÄsaprot, ka Å”Äda loma ir nepiecieÅ”ama. Å emsim, piemÄram, SAP. Tur programmÄtÄjs, visticamÄk, pat nepiecelsies no krÄsla, ja viÅam lÅ«gs kaut ko konfigurÄt lietojumprogrammu serverÄ«. ViÅÅ” var vienkÄrÅ”i bÅ«t stulbs un viÅam nebÅ«s kauns. SAP metodoloÄ£ijÄ tam ir atseviŔķa darbinieka loma. KÄdu iemeslu dÄļ 1C nozarÄ tiek uzskatÄ«ts, ka tas ir jÄapvieno vienÄ darbiniekÄ par tÄdu paÅ”u algu. Tas ir malds.
1C servera trūkumi
Ir tieÅ”i viens mÄ«nuss - uzticamÄ«ba. Vai, ja vÄlaties, neparedzamÄ«ba. PÄkÅ”Åa dÄ«vaina servera uzvedÄ«ba jau ir kļuvusi par pilsÄtas diskusiju. UniversÄls lÄ«dzeklis - servera apturÄÅ”ana un visu keÅ”atmiÅu notÄ«rÄ«Å”ana - ir pat aprakstÄ«ts eksperta rokasgrÄmatÄ, un pat ieteicams izmantot sÄrijveida grÄmatu, kas to dara. Ja jÅ«su 1C sistÄma sÄk darÄ«t kaut ko tÄdu, ko tai pat teorÄtiski nevajadzÄtu darÄ«t, ir pienÄcis laiks notÄ«rÄ«t sesijas datu keÅ”atmiÅu. PÄc manas aplÄses, visÄ valstÄ« ir tikai trÄ«s cilvÄki, kas prot darbinÄt 1C serveri bez Ŕīs procedÅ«ras un viÅi nedalÄs noslÄpumos, jo... viÅi dzÄ«vo no tÄ. VarbÅ«t viÅu noslÄpums ir tÄds, ka viÅi notÄ«ra sesijas datus, bet viÅi nevienam par to nestÄsta, vecÄ«t.
PretÄjÄ gadÄ«jumÄ 1C serveris ir tÄda pati lietojumprogramma kÄ jebkura cita lietojumprogramma, un to administrÄ gandrÄ«z tÄdÄ paÅ”Ä veidÄ, lasot dokumentÄciju un klauvÄjot pie tamburÄ«nas.
dokers
Konteineru 1C servera izmantoÅ”anas lietderÄ«ba ražoÅ”anÄ vÄl nav pierÄdÄ«ta. Serveris netiek grupÄts, vienkÄrÅ”i pievienojot mezglus aiz balansÄtÄja, kas samazina ražoÅ”anas konteinerizÄÅ”anas priekÅ”rocÄ«bas lÄ«dz minimumam, un nav izveidota prakse veiksmÄ«gai darbÄ«bai konteineros augstas slodzes režīmÄ. RezultÄtÄ tikai izstrÄdÄtÄji izmanto Docker+1C, lai iestatÄ«tu testa vides. Tur tas ir ļoti noderÄ«gi, pielietoti, ļauj spÄlÄties ar modernajÄm tehnoloÄ£ijÄm un atpÅ«sties no konfiguratora izmisuma.
KomerciÄlÄ sastÄvdaļa
No investÄ«ciju viedokļa 1C ļauj atrisinÄt problÄmu ar Ätru biznesa ideju uzsÄkÅ”anu, pateicoties plaÅ”ajÄm lietojumprogrammu klaÅ”u iespÄjÄm. 1C no kastes nodroÅ”ina ļoti pienÄcÄ«gas atskaites, integrÄciju ar jebko, tÄ«mekļa klientu, mobilo klientu, mobilo aplikÄciju, atbalstu dažÄdÄm DBVS, t.sk. bezmaksas, starpplatformu gan servera, gan instalÄtÄs klienta daļas. JÄ, lietojumprogrammu lietotÄja saskarne bÅ«s dzeltena, dažreiz tas ir mÄ«nuss, bet ne vienmÄr.
IzvÄloties 1C, bizness iegÅ«st programmatÅ«ras risinÄjumu komplektu, kas ļauj izveidot ļoti plaÅ”u lietojumprogrammu klÄstu, kÄ arÄ« daudzus izstrÄdÄtÄjus tirgÅ«, kuri vÄlas mazÄk naudas nekÄ Javaisti un tajÄ paÅ”Ä laikÄ iegÅ«t rezultÄtus ÄtrÄk.
PiemÄram, uzdevums nosÅ«tÄ«t klientam PDF rÄÄ·inu var tikt atrisinÄts studentu darba stundÄ. To paÅ”u problÄmu .NET var atrisinÄt, iegÄdÄjoties patentÄtu bibliotÄku vai pÄris dienu vai nedÄļu kodÄÅ”anu, ko veic bargs, bÄrdains izstrÄdÄtÄjs. Dažreiz, abas vienlaikus. Un jÄ, es runÄju tikai par PDF Ä£enerÄÅ”anu. MÄs pat neesam teikuÅ”i, no kurienes Å”is likumprojekts nÄks. TÄ«mekļa frontenderim ir jÄizveido forma, kurÄ operators ievadÄ«s datus, backender bÅ«s jÄizveido dto modeļi JSON pÄrsÅ«tÄ«Å”anai, modeļi uzglabÄÅ”anai datu bÄzÄ, paÅ”as datu bÄzes struktÅ«ra, migrÄcija uz to, grafiskÄ attÄla veidoÅ”ana. Ŕī paÅ”a konta parÄdÄ«Å”ana un tikai pÄc tam - PDF. Uz 1C viss uzdevums no nulles tiek pabeigts tieÅ”i vienas stundas laikÄ.
PilnvÄrtÄ«ga uzskaites sistÄma nelielam stendam ar vienu biznesa procesu pirkts/pÄrdots tiek veikts 3 stundÄs.Ar pÄrdoÅ”anas atskaitÄm, preÄu uzskaiti par pirkÅ”anas un pÄrdoÅ”anas cenÄm, sadalÄ«jumÄ pa noliktavÄm, piekļuves tiesÄ«bu kontroli, web klientu un mobilo aplikÄciju . Labi, aizmirsu par pieteikumu, ar pieteikumu ne 3 stundÄs, seÅ”Äs.
Cik ilgi .NET izstrÄdÄtÄjam bÅ«s vajadzÄ«gs Å”is uzdevums no Visual Studio instalÄÅ”anas tÄ«rÄ datorÄ lÄ«dz tÄ demonstrÄÅ”anai klientam? KÄ ar izstrÄdes izmaksÄm? Tas pats.
1C kÄ platformas stiprÄs puses
1C ir spÄcÄ«gs nevis tÄpÄc, ka tajÄ ir kaut kas Ä«paÅ”s, kas ir labÄkais pasaulÄ. Gluži pretÄji, katrÄ atseviÅ”Ä·Ä apakÅ”sistÄmÄ jÅ«s varat atrast interesantÄku analogu pasaules programmatÅ«rÄ. TomÄr, pamatojoties uz faktoru kombinÄciju, es neredzu platformu, kas bÅ«tu lÄ«dzÄ«ga 1C. Å eit slÄpjas komerciÄlie panÄkumi. Platformas priekÅ”rocÄ«bas ir izkaisÄ«tas visÄ tajÄ un ir visskaidrÄk redzamas, kad redzat, kÄ tas tiek darÄ«ts citÄs platformÄs. BÅ«tÄ«bÄ tÄs NAV pat pazÄ«mes, bet tieÅ”i otrÄdi - pazÄ«mju noraidÄ«Å”ana par labu vienai konkrÄtai paradigmai. Daži piemÄri:
- Unicode. Kas pie velna var bÅ«t vienkÄrÅ”Äks? 2019. gadÄ nav nepiecieÅ”ams izmantot viena baita ASCII kodÄjumus (izÅemot integrÄciju ar senajiem mantotajiem). Nekad. Bet nÄ. KatrÄ ziÅÄ kÄds kÄdÄ tabulÄ izmanto viena baita varchar un lietojumprogrammai bÅ«s problÄmas ar kodÄjumiem. 2015. gadÄ Gitlab LDAP autorizÄcija neizdevÄs nepareiza darba ar kodÄjumu dÄļ; JetBrains IDE joprojÄm nedarbojas ar kirilicas failu nosaukumiem visur. 1C nodroÅ”ina augstas kvalitÄtes lietojumprogrammas koda izolÄciju no datu bÄzes slÄÅa. Tur nav iespÄjams rakstÄ«t tabulas zemÄ lÄ«menÄ« un tur nav iespÄjams izveidot nekompetentu junioru jambus datu bÄzes lÄ«menÄ«. JÄ, ar neprasmÄ«gajiem junioriem var bÅ«t arÄ« citas problÄmas, taÄu problÄmu dažÄdÄ«ba ir daudz mazÄka. Tagad jÅ«s man pateiksiet, ka jÅ«su lietojumprogramma ir pareizi izstrÄdÄta un datu bÄzes piekļuves slÄnis ir izolÄts, kÄ vajadzÄtu. VÄlreiz apskatiet savu korporatÄ«vo pielÄgoto Java lietojumprogrammu. CieÅ”i un godÄ«gi. Vai sirdsapziÅa tevi nomoka? Tad man prieks par tevi.
- Dokumentu/uzziÅu grÄmatu numerÄcija. 1C tas noteikti nav elastÄ«gÄkais un ne labÄkais. Bet tas, ko viÅi dara banku programmatÅ«rÄ un paÅ”rakstÄ«tajÄs grÄmatvedÄ«bas sistÄmÄs, ir tikai tumsa. Vai nu identitÄte bÅ«s iestrÄgusi (un tad āak, kÄpÄc mums ir caurumiā), vai gluži pretÄji, viÅi izveidos Ä£eneratoru, kas strÄdÄ ar bloÄ·ÄÅ”anu DBVS lÄ«menÄ« (un kļūs par vÄjo vietu). PatiesÄ«bÄ ir diezgan grÅ«ti veikt Å”o Ŕķietami vienkÄrÅ”o uzdevumu - entÄ«tiju skaitÄ«tÄjs no gala lÄ«dz galam, ar unikalitÄtes sadaļu, kas balstÄ«ta uz noteiktu atslÄgu kopu, prefiksÄciju, lai paralÄlas datu ievades laikÄ tas nebloÄ·Ätu datubÄzi. .
- Ierakstu identifikatori datu bÄzÄ. 1C pieÅÄma stingru lÄmumu ā visi saiÅ”u identifikatori ir absolÅ«ti sintÄtiski, un tas arÄ« viss. Un nav nekÄdu problÄmu ar izplatÄ«tajÄm datu bÄzÄm un apmaiÅÄm. Citu sistÄmu izstrÄdÄtÄji spÄ«tÄ«gi izveido kaut ko lÄ«dzÄ«gu identitÄtei (tÄ ir Ä«sÄka!), ievelk tos GUI, lÄ«dz pienÄks laiks izveidot vairÄkus saistÄ«tus gadÄ«jumus (un tad tie tiks atklÄti). Vai jums Ŕī nav? GodÄ«gi?
- Saraksti. 1C ir diezgan veiksmÄ«gi mehÄnismi (lielu) sarakstu lapoÅ”anai un navigÄcijai tajos. Ä»aujiet man veikt rezervÄciju uzreiz - pareizi izmantojot mehÄnismu! KopumÄ tÄma ir diezgan nepatÄ«kama, to nevar atrisinÄt ideÄli: tÄ ir vai nu intuitÄ«va un vienkÄrÅ”a (bet milzÄ«gu ierakstu kopu risks klientam), vai arÄ« peidžeri ir ar vienu vai otru greizÄ«bu. Tie, kas veic peidžeru, bieži to dara greizi. Tie, kas veido godÄ«gu ritjoslu, pievieno datu bÄzi, kanÄlu un klientu.
- PÄrvaldÄ«tÄs veidlapas. Nav Å”aubu, ka tÄ«mekļa klientÄ saskarne nedarbojas perfekti. Bet tas darbojas. TaÄu daudzÄm citÄm grÄmatvedÄ«bas un banku sistÄmÄm attÄlinÄtas darba vietas izveide ir uzÅÄmuma lÄ«meÅa projekts. Atruna: par laimi tiem, kas sÄkotnÄji to izveidoja tÄ«meklÄ«, tas neietekmÄs.
- MobilÄ lietotne. Nesen jÅ«s varat arÄ« rakstÄ«t mobilÄs lietojumprogrammas, atrodoties tajÄ paÅ”Ä ekosistÄmÄ. Å eit ir nedaudz sarežģītÄk nekÄ ar tÄ«mekļa klientu; ierÄ«Äu specifika liek jums rakstÄ«t tieÅ”i tÄm, taÄu jÅ«s tomÄr nealgojat atseviŔķu mobilo izstrÄdÄtÄju komandu. Ja jums ir nepiecieÅ”ama lietojumprogramma uzÅÄmuma iekÅ”ÄjÄm vajadzÄ«bÄm (kad mobilais korporatÄ«vÄs problÄmas risinÄjums ir svarÄ«gÄks par dzeltenu lietotÄja interfeisa dizainu), vienkÄrÅ”i izmantojiet to paÅ”u platformu.
- ZiÅoÅ”ana. Ar Å”o vÄrdu es nedomÄju BI sistÄmu ar lieliem datiem un aizkavÄÅ”anos ETL procesÄ. Tas attiecas uz operatÄ«vo darbinieku pÄrskatiem, kas ļauj novÄrtÄt grÄmatvedÄ«bas stÄvokli Å”eit un tagad. Atlikumi, savstarpÄjie norÄÄ·ini, pÄrklasificÄÅ”ana utt. 1C tiek piegÄdÄts kopÄ ar pÄrskatu sistÄmu ar elastÄ«giem iestatÄ«jumiem grupÄÅ”anai, filtriem un vizualizÄcijai lietotÄja pusÄ. JÄ, tirgÅ« ir vÄsÄki analogi. TaÄu ne risinÄjuma āviss vienÄā ietvaros un par cenu, kas dažkÄrt ir augstÄka par āviss vienÄā risinÄjumu. Un biežÄk tas ir pat otrÄdi: tikai ziÅoÅ”ana, bet dÄrgÄka nekÄ visa platforma un sliktÄka kvalitÄte.
- DrukÄjamas veidlapas. Izmantojiet .NET, lai atrisinÄtu problÄmu, kas saistÄ«ta ar algu lapiÅu PDF formÄtÄ nosÅ«tÄ«Å”anu darbiniekiem pa e-pastu. Un tagad rÄÄ·inu drukÄÅ”anas uzdevums. KÄ ar to kopiju saglabÄÅ”anu tajÄ paÅ”Ä PDF failÄ? 1C segvÄrdam jebkura izkÄrtojuma izvadÄ«Å”ana PDF formÄtÄ ir +1 koda rindiÅa. Tas nozÄ«mÄ + 40 sekundes darba laika, nevis dienas vai nedÄļas citÄ valodÄ. DrukÄto veidlapu izkÄrtojumi 1C formÄtÄ ir neticami viegli izstrÄdÄjami un pietiekami jaudÄ«gi, lai konkurÄtu ar apmaksÄtiem kolÄÄ£iem. JÄ, iespÄjams, 1C izklÄjlapu dokumentos nav daudz interaktÄ«vu iespÄju; jÅ«s nevarat Ätri iegÅ«t 3D diagrammu ar mÄrogoÅ”anu, izmantojot OpenGL. Bet vai tas tieÅ”Äm ir vajadzÄ«gs?
Å ie ir tikai daži piemÄri, kuros funkcionalitÄtes ierobežoÅ”ana vai kompromisu ievieÅ”ana izrÄdÄs nozÄ«mÄ«gs arhitektÅ«ras ieguvums nÄkotnÄ. Pat kompromiss vai ne pats efektÄ«vÄkais variants ā tas jau ir kastÄ un tiek pieÅemts kÄ paÅ”saprotams. TÄ patstÄvÄ«ga realizÄcija bÅ«s vai nu neiespÄjama (jo tÄdi lÄmumi jÄpieÅem jau projekta sÄkumÄ, un tam nav laika, un arhitekta vispÄr nav), vai arÄ« vairÄkas dÄrgas iterÄcijas. KatrÄ no uzskaitÄ«tajiem punktiem (un tas nav pilnÄ«gs arhitektÅ«ras risinÄjumu saraksts) varat sabojÄt un ieviest ierobežojumus, kas bloÄ·Ä mÄrogoÅ”anu. JebkurÄ gadÄ«jumÄ jums kÄ uzÅÄmÄjam ir jÄpÄrliecinÄs, ka jÅ«su programmÄtÄjiem, veidojot āsistÄmu no nullesā, ir taisnas rokas un viÅi uzreiz labi tiks galÄ ar smalkÄm sistÄmas problÄmÄm.
JÄ, tÄpat kÄ jebkurÄ citÄ sarežģītÄ sistÄmÄ, arÄ« paÅ”am 1C ir risinÄjumi, kas noteiktos aspektos bloÄ·Ä mÄrogoÅ”anu. TomÄr atkÄrtoju, ka, pamatojoties uz faktoru kombinÄciju, Ä«paÅ”uma izmaksÄm un jau iepriekÅ” atrisinÄto problÄmu skaitu, es neredzu tirgÅ« cienÄ«gu konkurentu. Par to paÅ”u cenu jÅ«s saÅemat finanÅ”u lietojumprogrammu ietvaru, klasteru lÄ«dzsvarotu serveri ar lietotÄja interfeisu un tÄ«mekļa saskarni, ar mobilo lietojumprogrammu, ar atskaitÄm, integrÄciju un daudzÄm citÄm lietÄm. Java pasaulÄ jÅ«s algojat priekÅ”gala un aizmugures komandu, atkļūdojat zema lÄ«meÅa mÄjÄs rakstÄ«ta servera koda kopas un maksÄjat atseviŔķi par 2 mobilajÄm lietojumprogrammÄm 2 mobilajÄm operÄtÄjsistÄmÄm.
Es nesaku, ka 1C atrisinÄs visus gadÄ«jumus, bet iekÅ”Äjai korporatÄ«vai lietojumprogrammai, kad nav jÄmarÄ·Ä UI - ko vÄl vajag?
Lidot ziedi
IespÄjams, jums radÄs iespaids, ka 1C izglÄbs pasauli un ka visi citi korporatÄ«vo sistÄmu rakstÄ«Å”anas veidi ir nepareizi. TÄ nemaz nav. No uzÅÄmÄja viedokļa, ja izvÄlaties 1C, tad papildus Ätrai ievieÅ”anai tirgÅ« ir jÄÅem vÄrÄ arÄ« Å”Ädi trÅ«kumi:
- Servera uzticamÄ«ba. NepiecieÅ”ami patieÅ”Äm kvalitatÄ«vi speciÄlisti, kas spÄj nodroÅ”inÄt tÄ nepÄrtrauktu darbÄ«bu. Es neesmu informÄts par gatavu apmÄcÄ«bu programmu Å”Ädiem speciÄlistiem no pÄrdevÄja. Ir kursi, lai sagatavotos Ekspertu eksÄmenam, bet ar to, manuprÄt, ir par maz.
- Atbalsts. SkatÄ«t iepriekÅ”Äjo punktu. Lai saÅemtu pÄrdevÄja atbalstu, jums tas ir jÄiegÄdÄjas. KÄdu iemeslu dÄļ tas nav pieÅemts 1C nozarÄ. Un, izmantojot SAP, tas ir gandrÄ«z obligÄts pirkums, un tas nevienu neuztrauc. Bez korporatÄ«vÄ atbalsta un bez personÄla eksperta jÅ«s varat palikt viens ar 1C kļūmÄm.
- TomÄr jÅ«s nevarat darÄ«t pilnÄ«gi visu ar 1C. Å is ir rÄ«ks, un tÄpat kÄ katram rÄ«kam tam ir piemÄrojamÄ«bas robežas. 1C ainavÄ ir ļoti vÄlams, lai bÅ«tu āne-1Cā sistÄmas arhitekts.
- Labi 1C segvÄrdi nav lÄtÄki par labiem programmÄtÄjiem citÄs valodÄs. Lai gan sliktu programmÄtÄju algoÅ”ana ir dÄrga neatkarÄ«gi no valodas, kurÄ viÅi raksta.
ApzÄ«mÄsim punktus
- 1C ir ÄtrÄs lietojumprogrammu izstrÄdes (RAD) ietvars biznesam un ir pielÄgots Å”im nolÅ«kam.
- TrÄ«s lÄ«meÅu saite ar atbalstu galvenajÄm DBVS, klienta lietotÄja saskarni, ļoti labu ORM un atskaitÄm
- PlaÅ”as iespÄjas integrÄcijai ar sistÄmÄm, kas spÄj paveikt to, ko 1C nespÄj. Ja vÄlaties maŔīnmÄcÄ«Å”anos, izmantojiet Python un nosÅ«tiet rezultÄtu uz 1C, izmantojot http vai RabbitMQ
- Nav jÄcenÅ”as darÄ«t visu, izmantojot 1C, jums ir jÄsaprot tÄ stiprÄs puses un jÄizmanto tÄs saviem mÄrÄ·iem
- IzstrÄdÄtÄjiem, kuri vÄlas iedziļinÄties tehnoloÄ£iskÄ ietvara sÄ«krÄ«kos un ik pÄc N gadiem pÄrveidot, lai iegÅ«tu jaunu dzinÄju, 1C ir garlaicÄ«gi. Tur viss ir ļoti konservatÄ«vi.
- IzstrÄdÄtÄjiem ir arÄ« garlaicÄ«gi, jo no ražotÄja puses par viÅiem ir ļoti maz rÅ«pju. GarlaicÄ«ga valoda, vÄjÅ” IDE. ViÅiem nepiecieÅ”ama modernizÄcija.
- No otras puses, izstrÄdÄtÄji, kuri nevar izklaidÄties, izmantojot un apgÅ«stot citu sev tÄ«kamu tehnoloÄ£iju, ir slikti izstrÄdÄtÄji. ViÅi vaimanÄs un pÄrcelsies uz citu ekosistÄmu.
- Darba devÄji, kuri neļauj saviem 1C segvÄrdiem kaut ko rakstÄ«t Python valodÄ, ir slikti darba devÄji. ViÅi zaudÄs darbiniekus ar zinÄtkÄriem prÄtiem, un viÅu vietÄ nÄks mÄrkaÄ·u kodÄtÄji, kuri, lai arÄ« piekrÄ«tu visam, ievilks korporatÄ«vo programmatÅ«ru purvÄ. Tas joprojÄm bÅ«s jÄpÄrraksta, tÄpÄc varbÅ«t labÄk bÅ«tu ieguldÄ«t nedaudz Python nedaudz agrÄk?
- 1C ir komerciÄls uzÅÄmums un ievieÅ” funkcijas, pamatojoties tikai uz savÄm interesÄm un lietderÄ«bu. JÅ«s nevarat viÅu vainot par to, biznesam ir jÄdomÄ par peļÅu, tÄda ir dzÄ«ve
- 1C pelna naudu, pÄrdodot risinÄjumus biznesa problÄmÄm, nevis Vasjas izstrÄdÄtÄju problÄmÄm. Å ie divi jÄdzieni korelÄ, bet prioritÄte ir tieÅ”i tas, ko es teicu. Kad izstrÄdÄtÄjs Vasja bÅ«s gatavs maksÄt par 1C: Resharper personÄ«go licenci, tas parÄdÄ«sies diezgan Ätri, tam ir A. Orefkovas āResharperā. Ja pÄrdevÄjs to atbalstÄ«tu un necÄ«nÄ«tu pret to, rastos programmatÅ«ras tirgus izstrÄdÄtÄjiem. Tagad Å”ajÄ tirgÅ« ir pusotrs spÄlÄtÄjs ar apÅ”aubÄmiem rezultÄtiem, un tas viss tÄpÄc, ka integrÄcija ar IDE ir negatÄ«va un viss tiek darÄ«ts uz kruÄ·iem.
- VairÄku maŔīnu operatora prakse pazudÄ«s aizmirstÄ«bÄ. MÅ«sdienu lietojumprogrammas ir pÄrÄk lielas, lai tÄs varÄtu atcerÄties gan no koda puses, gan no biznesa lietoÅ”anas puses. ArÄ« 1C serveris kļūst arvien sarežģītÄks, vienÄ darbiniekÄ nebÅ«s iespÄjams noturÄt visu veidu zinÄÅ”anas. Tam vajadzÄtu radÄ«t pieprasÄ«jumu pÄc speciÄlistiem, kas nozÄ«mÄ 1C profesijas pievilcÄ«bu un algu pieaugumu. Ja iepriekÅ” Vasja strÄdÄja trÄ«s vienÄ par vienu algu, tad tagad ir jÄalgo divi Vasyas, un konkurence starp VasyÄm var veicinÄt viÅu lÄ«meÅa kopÄjo izaugsmi.
SecinÄjums
1C ir ļoti cienÄ«gs produkts. ManÄ cenu diapazonÄ es vispÄr nezinu analogus, rakstiet komentÄros, ja tÄdi ir. TomÄr izstrÄdÄtÄju aizplÅ«Å”ana no ekosistÄmas kļūst arvien pamanÄmÄka, un tÄ ir āsmadzeÅu aizplÅ«Å”anaā, lai kÄ uz to skatÄ«tos. Nozare ir izsalkusi pÄc modernizÄcijas.
Ja esat izstrÄdÄtÄjs, neaizraujieties ar 1C un nedomÄjiet, ka citÄs valodÄs viss ir maÄ£isks. KamÄr tu esi juniors, varbÅ«t. TiklÄ«dz bÅ«s jÄrisina kaut kas lielÄks, jau gatavie risinÄjumi bÅ«s jÄmeklÄ ilgÄk un jÄpabeidz intensÄ«vÄk. RunÄjot par āblokuā kvalitÄti, no kuriem var uzbÅ«vÄt risinÄjumu, 1C ir ļoti, ļoti labs.
Un vÄl viena lieta - ja jums tiek pieÅemts darbÄ 1C segvÄrds, tad 1C segvÄrdu var droÅ”i iecelt vadoÅ”Ä analÄ«tiÄ·a amatÄ. ViÅu izpratne par uzdevumu, priekÅ”metu jomu un sadalÄ«Å”anas prasmÄm ir lieliska. Esmu pÄrliecinÄts, ka tas ir saistÄ«ts ar DDD piespiedu izmantoÅ”anu 1C izstrÄdÄ. Persona ir apmÄcÄ«ta domÄt, pirmkÄrt, par uzdevuma jÄgu, par sakarÄ«bÄm starp priekÅ”meta jomas objektiem, un tajÄ paÅ”Ä laikÄ viÅam ir tehniskas zinÄÅ”anas integrÄcijas tehnoloÄ£ijÄs un datu apmaiÅas formÄtos.
JÄapzinÄs, ka ideÄls ietvars nepastÄv, un rÅ«pÄjies par sevi.
Labi visiem!
P.S. Liels paldies
AptaujÄ var piedalÄ«ties tikai reÄ£istrÄti lietotÄji.
Vai jÅ«su uzÅÄmumÄ ir 1C?
-
13,3%Nemaz.71
-
30,3%Ir, bet tikai grÄmatvedÄ«bÄ kaut kur. PamatsistÄmas citÄs platformÄs162
-
41,4%JÄ, uz tÄ darbojas galvenie biznesa procesi221
-
15,0%1C jÄmirst, nÄkotne pieder %technology_name%80
Nobalsoja 534 lietotÄji. 99 lietotÄji atturÄjÄs.
Avots: www.habr.com