Programmēšanas valodas apguve 1c 8.3. Programmēšanas pamati vidē "1c: uzņēmums"

KRIEVIJAS FILIĀLES MINISTRIJA

Federālās valsts budžeta izglītība

profesionālās augstākās izglītības iestāde

"PENZAS VALSTS UNIVERSITĀTE"

A. E. Khohlovs

Programmēšanas pamati vidē "1c: uzņēmums"

Penza, 2016. gads

UDC 631.3 (075)

R e c e n z e n t:

Lietišķās informātikas katedras vadītājs

Penzas Valsts tehnoloģiskā akadēmija,

Profesors A.P.Remontovs

Hohlovs A. E.

X86 Programmēšanas pamati 1C: Uzņēmējdarbības vide: Mācību grāmata / A.E. Khokhlov, E.M.Golobokova, Yu.V. Terjakova - Penza: Izdevniecība Penz. Valsts Universitāte, 2015. - 144 lpp.

Apmācība ļauj apgūt lietišķo risinājumu izstrādes un modificēšanas paņēmienus platformā 1C: Enterprise 8.3. Uz reāla pielietota risinājuma izveides piemēra tiek parādīta dažādu sistēmas objektu struktūra, to mērķis un lietošanas metode. Procedūras ir dotas iebūvētajā valodā, ieskaitot tās, kurās tiek izmantota vaicājuma valoda.

UDC 631.3 (075)

© Khokhlov A.E., 2016

© Penzas Valsts universitātes izdevniecība, 2016. gads

2.1. 1C: Enterprise 8 programmu sistēmas sastāvs 7

2.2. Konfigurācijas struktūra 9

2.3. 1C arhitektūra: uzņēmuma programmatūras sistēma 12

3. 1C objekta modelis: Enterprise platforma 18

7. Reģistrs 75

Ievads

Programmatūras sistēma 1C: Enterprise 8 ir paredzēta uzņēmumu, organizāciju un privātpersonu darbību automatizēšanai. Sistēmas pamatā ir elastīga tehnoloģiju platforma, kuras iespējas ļauj izveidot un modificēt visdažādākās biznesa lietojumprogrammas.

1C: Enterprise sistēmas galvenā iezīme ir tās konfigurējamība. Tehnoloģiskā platforma "1C: Enterprise" ir mehānismu kopums, kas paredzēts, lai manipulētu ar dažāda veida objektiem priekšmeta apgabalā. Konkrētu objektu kopu, informācijas masīvu struktūras, informācijas apstrādes algoritmus nosaka konkrēts konfigurācija ... Kopā ar konfigurāciju 1C: Enterprise platforma darbojas kā lietošanai gatavs programmatūras produkts, kas koncentrējas uz noteikta veida uzņēmumiem un risināmo uzdevumu klasēm.

Sistēmas darbība ir sadalīta divos procesos:

    konfigurācija (domēna modeļa apraksts, izmantojot sistēmas sniegtos līdzekļus),

    izpilde (priekšmeta apgabala datu apstrāde).

Savukārt konfigurācijas process tiek sadalīts vairākos komponentos:

    Konfigurācijas struktūras "vizuāla" izveidošana (tādi konfigurācijas objekti kā direktoriji, dokumenti utt.),

    objektu dialoglodziņu iestatīšana,

    definējot objektu, formu uzvedības specifiku (koda rakstīšana sistēmas valodā noteiktās konfigurācijas vietās),

    saskarņu, lietotāju tiesību (lomu) kopu izveide.

Izpildes procesā sistēma jau darbojas ar īpašiem jēdzieniem, kas aprakstīti konfigurācijas stadijā (preču un organizāciju uzziņu grāmatas, rēķini utt.).

Apmācībā ir sniegts konfigurācijas izstrādes piemērs platformas laidienā 8.3.6.2014 (izglītojošā versija).

Izglītojošu versiju vai versiju programmēšanas mācīšanai var lejupielādēt vietnē http://online.1c.ru/catalog/free/learning.php

Lai apgūtu programmēšanu, mums ir nepieciešams 1C 8.3 (ne mazāk kā 8.3.4.482).

Ja jums ir instalēta 1C versija 8.3 - izmantojiet to. Ja nē, lejupielādējiet un instalējiet izglītības versiju, ko 1C ražo tieši izglītības vajadzībām.

Uzdevums Ml. Lejupielādējiet un instalējiet izglītības versiju 1C 8.3.

Norādījumi izpildei:

  • 1. No saites lejupielādēto arhīvu izpakojiet atsevišķā darbvirsmas mapē:
  • 1.1. Dropbox lejupielādes saite (Nsl variants) https: //www.dropbox.eom/s/t69xyrrhsdugfzf/lC_Predprijatie_ 8.3_uchebnaja_versija.zip?dl=l
  • 1.2. saite lejupielādei no Mail.ru (2. opcija) https://cloud.mail.ru/public/59a9a532864d/lC_Predprijatie_8.3_ uchebnaja_versija.zip
  • 2. Palaidiet failu “setup.exe”.
  • 3. Noklikšķiniet uz Next, Next, Install.
  • 4. Pagaidiet, līdz instalēšana ir pabeigta.

Pēc 1. uzdevuma izpildes darbvirsmā jāparādās šādai saīsnei (1. attēls):

Enterprise e (izglītības versija)

Att. viens. Palaidiet saīsni 1C: Enterprise

Pirmā programma

Tas jau ir kļuvis par programmētāju tradīciju - apgūstot jaunu valodu, pirmais, ko viņi tajā raksta, ir programma, kas uz ekrāna izdrukā frāzi “Sveika, pasaule!”.

Liksim datoram parādīt šo frāzi krievu valodā "Sveika, pasaule!"

2. uzdevuma numurs. Uzrakstiet programmu 1C 8.3, kurā, palaižot, tiek parādīta frāze "Sveika, pasaule!"

Norādījumi izpildei:

  • 1. Darbvirsmā palaidiet saīsni "1C: Enterprise".
  • 2. Jūs esat atvēris 1C bāzes sarakstu (2. attēls). Kā redzat, tas ir tukšs. Izveidosim mācību bāzi, kurā ieprogrammēsimies. Noklikšķiniet uz pogas "Pievienot".
  • 3. Atlasiet vienumu un nospiediet pogu "Tālāk"(3. attēls).
  • 9 u Pievienojot infobāzi / g> tpy X

Att. 3.

4. Atlasiet vienumu ... "(4. attēls) un nospiediet pogu "Tālāk".


Att. četri.

5. Norādiet bāzes nosaukumu "Izglītojošs"(5. attēls) un nospiediet pogu "Tālāk".


Att. pieci.

6. Norādiet jebkuru tukšu mapi kā bāzes direktoriju (šajā gadījumā tā ir manu dokumentu mape "Training" (6. attēls)). Noklikšķiniet uz "Next".


Att. 6.

7. Norādiet autentifikācijas opciju "Atlasīt automātiski", palaišanas režīms "Biezais klients". Nenorādiet neko kā 1. versiju С: Enterprise, noklikšķiniet uz pogas "Pabeigt" (7. attēls).


Att. 7.

8. Kā redzat, pirmā datu bāze, kuru tikko izveidojām paši, beidzot parādījās sarakstā (8. attēls)! Sāksim rakstīt kādu kodu. Noklikšķiniet uz pogas "Konfigurators".

Att. astoņi.

9. Atvērtajā logā izvēlnē atlasiet "Konfigurācija" paragrāfs "Atvērt konfigurāciju"(9. attēls).

Konfigurators (mācību versija) - konfigurators

Att. 9. Izvēlnes vienuma izvēle "Atvērt konfigurāciju"

10. Kreisajā pusē atvērtajā panelī ar peles labo pogu noklikšķiniet uz "" Konfigurācija " un atlasiet no saraksta "" Atvērt pārvaldītas lietojumprogrammas moduli "(10. attēls).

Konfigurācija

Darbības »f / | X i 4

© *? Ģenerālis _Za КрнСіаміь!.

Konfigurācija

^ Atvērt pārvaldītās lietojumprogrammas moduli Atvērt sesijas moduli

Att. 10. Atlasot “Atvērt pārvaldītā lietojumprogrammas moduli”

11. Atvērts logs ar redaktoru (11. attēls). Tekstu var rakstīt šeit! Mēs strādāsim ar viņu nākotnē.

Att. vienpadsmit. Pārvaldīts lietojumprogrammu modulis

12. Šajā logā pārrakstiet šādu tekstu (12. attēls):

Report ("Sveika pasaule!");


13. Tagad mūsu pirmās programmas kods ir pabeigts. Palaidīsim to izpildei. Caur izvēlni " Atkļūdošana" "Sākt atkļūdošanu"(vai taustiņu / ’i) (13. attēls).

Configurator (izglītības versija) - konfigurācija

і fails Rediģēt teksta konfigurāciju Otlahka Alg4nstriroe »« e Service Windows palīdzība

10 сЗЬІїХ *

es iekšā & d t? © "і а а і //

[Coifiguradoya *

Darbības?

KoiFigūra

$ O # Vispārīgi 8? Constants 1111 Atsauces ® С] dokumenti

Dokumentu žurnāli (..)

Konfigurators (mācību versija)

L Rediģējamā konfigurācija atšķiras no datu bāzes konfigurācijas. Vai atjaunināt datu bāzes konfigurāciju?

....................

Att. 13. Programmas palaišana izpildei

14. Atbilde uz jautājumu ir jā.

15. Pēc sekundes vai divām sāk darboties 1C un zemāk esošajā logā parādīsies uzraksts "Sveika, pasaule!" Mēs ieguvām vēlamo no datora, sāka darboties mūsu pirmā programma (14. attēls).

Ziņojumi:

Sveika pasaule!

Att. četrpadsmit. Programmas rezultāti

Lielisks video kurss par programmēšanu 1C: Enterprise sistēmā. Ietver 7 kursus:

1. 1C: Uzņēmums 8.3. Izstrādātāja pirmie soļi
- pārvietoties 1C: Enterprise 8.3 jaunās versijas struktūrā;
-izprot sistēmas attīstības vispārējos principus;
-izvēlēties "1C: Enterprise 8" sistēmas turpmākas izpētes un attīstības veidus;
-izmantot darba pamatprasmes vidē "1C: Enterprise 8";
-darboties ar uzziņu grāmatām, dokumentiem un citiem objektiem, pielāgot to īpašības;
- sākotnējā līmenī strādājiet ar pamata veidlapu vadīklām, notikumu apstrādātāju un citām sistēmas funkcionalitātēm.

2. 1C: Uzņēmums 8.3. Ievads konfigurācijā. Galvenie objekti
-Jūs sapratīsit 1C: Enterprise 8 sistēmas veidošanas vispārīgos principus
- Apgūt pamata prasmes strādāt vidē "1C: Enterprise 8"

3. Vaicājumu izmantošana sistēmā 1C: Enterprise 8. Vaicājuma valoda
-Rakstiet pieprasījumus
-Darbs ar Query Builder
-Pareizi izmantojiet dažāda veida IB tabulas
-Iepazīstieties ar darba ar virtuālajām reģistru tabulām īpatnībām

4.1C: Uzņēmums 8.3. Operatīvo uzdevumu risināšana
-Darbs ar uzkrāšanas reģistriem
-Rakstiet algoritmus dokumentu nosacītai glabāšanai
-Izmantojiet pārvaldītu bloķēšanas mehānismu
-Uzziniet veidus, kā uzlabot risinājumu veiktspēju

5.1C. Uzņēmums 8.3. Grāmatvedības problēmu risināšana
- patstāvīgi izveidot kontu plānu un grāmatvedības reģistru sintētiskās, vairāku uzņēmumu, analītiskās, kvantitatīvās un valūtas uzskaites problēmu risināšanai;
-Pareizi aizpildiet reģistru ar visu veidu grāmatvedības uzskaiti gan grāmatojot dokumentus, gan reģistrējot manuālos darījumus;
-Raksturojiet optimālo un primāro un normatīvo dokumentu izpildes optimālu apstrādi ar grāmatvedības reģistra rezultātu analīzi daudzlietotāju režīmā, izmantojot konfigurācijas kontrolētas slēdzenes;
- Izmantojiet datu sastādīšanas mehānismu, lai izstrādātu grāmatvedības pārskatus, gan sintētiskos, gan detalizētos analītiskos.

6.1C: Uzņēmums 8.3. Skaitļošanas problēmu risināšana
-Neapšaubāmi pieder rīki "1C: Enterprise 8.3"
-Zināt un prast praksē pielietot algas un personāla uzskaites automatizācijas problēmu risināšanas metodes
-Prot kontrolēt izstrādātā risinājuma veiktspēju
-Izprast konfigurācijas objektu, fizisko tabulu un aprēķinu reģistra virtuālo tabulu attiecības
-Atrodiet un labojiet kļūdas: gan metodisko, gan programmatūras
-Platformas "1C: Enterprise 8.3" funkcionalitāte īpašumā daļā, kas nepieciešama skaitļošanas problēmu risināšanai

7. 1C: Uzņēmums 8.3. Integrācijas un datu apmaiņas rīki
-Darbs ar teksta failiem un dokumentiem
-Darbs ar .dbf failiem
-Kārtojiet interneta savienojumus
-Darbojieties ar e-pastu un izmantojiet protokolus http, ftp
-Izmantojiet OLE un COM tehnoloģijas
-Izmantojiet konsekventu XML piekļuves modeli
-Izmantojiet XDTO un jauktu XML modeli
-Kārtot datu apmaiņu
-Izmantojiet objekta "Apmaiņas plāni" mehānismus
-Izmantojiet konfigurāciju "Datu konvertēšana"

Pat ja iepriekš esat apguvis citas programmēšanas valodas, piemēram, C ++, PHP, Java, ir vērts atcerēties, ka 1C, lai arī daudzos aspektos tomēr ir daudz būtisku atšķirību.

1C vissvarīgākais ir tas, ka jums nav jāizdomā sava veida objekti. Visi no tiem jau ir konfigurācijā.

Instalējiet datorā 1C tehnoloģisko platformu un atveriet jaunu vai esošu bāzi konfiguratorā. Iesācējiem varat to absolūti izmantot, lai iemācītu programmēšanu.

Loga kreisajā pusē redzēsiet konfigurācijas objektu koku. Tie ietver dokumentus, direktorijus, reģistrus, biznesa procesus un daudz ko citu.

Dati tiek glabāti arī DBVS, taču izstrādātājs parasti ar tiem tieši nestrādā. Ar tehnoloģiskās platformas palīdzību programmētājs jau atsaucas uz konfigurācijas vai infobāzes objektiem.

1C, tāpat kā daudzās citās programmēšanas valodās, ļoti bieži tiek izmantoti vaicājumi. līdzīga T-SQL valodai. Pieprasījumus var rakstīt gan angļu, gan krievu valodā, tāpat kā pārējo kodu.

Šķiet, ka viss ir vienkārši, taču programmēšanas valodas zināšanas bieži vien nav pietiekamas, lai strādātu “laukā”. Fakts ir tāds, ka lielākajā daļā organizāciju, kas izmanto 1C, ir instalētas standarta konfigurācijas, un jums tās jāzina.

1C programmētāju darba plānā ir divas galvenās nozares: franšīzes ņēmēji vai strādā "sev" un strādā kā pilnas slodzes jebkuras organizācijas IT nodaļas programmētājs. Šī izvēle ir atkarīga tikai no jūsu vēlmēm.

Strādājot pie franšīzes ņēmēja, ārštata vai sava biznesa vadībā, maksājums tiks veikts pa daļām. Darba var būt daudz, un jums ir jādod viss iespējamais. Algām nav ierobežojumu, un jūs varat nopelnīt iespaidīgu naudas summu.

Ja jūs nolemjat strādāt kā ārštata darbinieks vai atvērt savu biznesu, jums nevajadzēs “dalīt” savus ienākumus nevienam (protams, izņemot valsti un ārštata platformu). Bet šajā gadījumā būs nepieciešams meklēt klientus patstāvīgi.

Ja jūs tomēr nolemjat iegūt darbu organizācijā kā pilnas slodzes programmētājs, tad daudz nebūsit atkarīgs no veiktā darba apjoma. Šajā gadījumā ir zināma stabilitāte, taču arī algas josla ir ierobežota.

Protams, šīs divas metodes var apvienot, dienas laikā strādājot par pilna laika programmētāju un vakaros - ārštata darbu.

1C programmētājiem ir labi tas, ka jums var nebūt tehniskās izglītības (piemēram, esat ekonomists, grāmatvedis utt.). Lai apstiprinātu savas zināšanas klientu vai darba devēja priekšā, varat iesniegt savus 1C sertifikātus.

Sertifikāti ir dažāda veida - gan pēc platformas (programmētājiem), gan pēc standarta risinājumiem. Tos var iegūt 1C temperatūrā, nokārtojot eksāmenu testa vai praktiskā uzdevuma veidā.

Grāmatas 1C

Vislabāk ir izpētīt 1C no grāmatām, kuras izdevis 1C. No avota, tā teikt. Daži no tiem ir aprīkoti ar standarta konfigurācijām. Jūs varat arī iegādāties atsevišķas grāmatas.

Grāmata "1C: Programmēšana iesācējiem" ir paredzēta cilvēkiem, kas tālu no programmēšanas, bet kuri vēlas uzzināt, kā no nulles izveidot savus risinājumus uz 1C 8.3.

"Sveiki, 1C" parāda visvienkāršākās, pamata iespējas, kā izstrādāt lietojumprogrammas 1C: Enterprise 8 sistēmā.

101 padomi apraksta dažādus veidus, kā veikt tos pašus uzdevumus.

Praktiska rokasgrāmata izstrādātājam 1C Enterprise 8.3 ir ļoti detalizēta rokasgrāmata, kurā aprakstīti izstrādes paņēmieni ar vienkāršiem un saprotamiem piemēriem. Šī grāmata ir viena no labākajām 1C programmēšanas apguvei.

Šajā apmācībā tiek aprakstīta vaicājuma valoda no sākuma tiem, kas pat nav pārzina SQL.

Ja jūs rakstāt SI
Esiet vismaz trīs reizes lielāks
Viņi saka par to:
"Viņš ir foršs programmētājs!"
(Fidoshnye dziesmas - "Kas ir Suxxx un Kas ir Rulezzz")

Priekšvārds

Šī raksta tapšanas iemesls bija profesionālās sabiedrības negatīvā attieksme pret šo platformu un programmētājiem.

Kā programmētājs, kurš izvēlējās 1C, manuprāt, šis viedoklis nav pamatots. 1C platforma nebūt nav ideāla, taču, manuprāt, tā ir labākā, un pats galvenais, pašmāju produkts!

Un vēl jo vairāk - spriest par programmētāja spējām pēc valodas, kurā viņš raksta, ir neadekvāti.

Šajā rakstā es aprakstīšu priekšrocības, kuras esmu sev atradis programmā. Raksts izrādīsies gandrīz reklāma, tāpēc nekavējoties atruna:

  • Man nav tiešas saistības ar 1C;
  • Šis raksts nav pielāgots un ir rakstīts tikai pēc brīvprātības principa;
  • Dažos gadījumos tiek izteikts personīgais viedoklis, kas var nesakrist ...;
  • Viss raksts, izņemot prologu, ir autors, jebkuras sakritības ir nejaušība;
  • Mēs runāsim par 1C Enterprise 8.2 platformu (šobrīd 8.3 versija ir aktuāla, bet es to vēl neesmu pētījis - daudz darba pie 1C 8.2). Tomēr lielākā daļa sacītā attiecas gan uz 8.3 platformu, gan uz iepriekšējām versijām, un daļa no tām attiecas arī uz versiju 7.7.
Tātad sāksim.

Par ko mēs runājam?

Platforma 1C Enterprise 8 ir:
  • Darbojas divās versijās - failā un serverī (trīs saites) - katram ir savas priekšrocības un trūkumi;
  • Neatkarīga grāmatvedības sistēma, kuru ir viegli uzstādīt un konfigurēt;
  • Jaudīga ekosistēma programmētājiem ar visiem nepieciešamajiem objektiem un rīkiem;
  • Jauks ergonomisks interfeiss;
  • Salīdzinoši lēts biznesa risinājums;
  • Franšīzes ņēmēju tīkls, sākotnējā apmācība;
  • Spēcīga attīstības un zināšanu bāze, kas uzkrāta gadu gaitā;
  • Reizēm problemātiska platforma sistēmas administratoriem;
  • Nav ātrākā algoritmu izpilde (lai arī ne vislēnākā) - tas ir veltījums informācijas saturam (kļūdu gadījumā tiek norādīts rindas numurs un tā saturs);
  • Programmēšanas valodai nav klases (mantojums, iekapsulēšana, polimorfisms), nav anonīmu funkciju un citu mūsdienu funkciju. Bet, lai atrisinātu lielāko daļu problēmu, tas nav nepieciešams!
Grāmatvedības organizēšanai - nepietiek ar vienu platformu. Platforma ir sava veida "dzinējs", starpsasaite starp programmu un datu bāzi. Šī "dzinēja" programmas sauc par konfigurācijām. Konfigurācija apraksta datu bāzes struktūru objektu veidā, atsevišķos moduļos saglabāto procedūru tekstus (moduļu ir daudz, tie ir gan katrā objektā, gan sistēmā kopumā, un ir arī kopīgi moduļi). Platforma nodrošina abstrakcijas līmeni, kurā nav nepieciešama tieša piekļuve datu bāzei, kā arī ļauj abstrahēties no operētājsistēmas un datu bāzes veida.

Failu un serveru datu bāzes

Platforma sastāv no vairākām daļām un var darboties faila vai servera versijā.

Faila versijā visa datubāze ir vienā failā (ar paplašinājumu "1cd") - platforma ir instalēta katrā datorā un tieši nolasa / raksta datu bāzē.

Faila opcijas priekšrocības ir zemas izmaksas un ērta izvietošana.

Mīnusi - faila "1cd" struktūra ir slēgta, nav vienas sistēmas, kas mijiedarbotos ar datu bāzi. Rezultātā to ir grūti izmantot ar lielu lietotāju skaitu (izmēģināts 20+ lietotājiem - jūs varat strādāt). Turklāt dinamiskie atjauninājumi neizdodas, ja datu bāzes lielums ir aptuveni 15 GB (vai vairāk). Šādu kļūmju novēršana ir grūts uzdevums, un datu bāzes labošanas lietderība ne vienmēr efektīvi labo un dažreiz pat apgrūtina datu bāzi.

Ir risinājums - tas, pirmkārt, ir ikdienas datu bāzes dublējuma iestatīšana. Turklāt amatnieki ne tikai publicē 1cd faila formātu, bet arī ir izstrādājuši utilītas darbam ar šādiem failiem un vairākas metodes līdzīgu problēmu risināšanai.

Servera versijā datu bāzes glabāšanas platforma izmanto SQL serveri (parasti tas ir MS SQL, bet sākot no 8.2.14 - jūs varat izmantot dažus citus, piemēram, Firebird PostgreSQL, IBM DB2, Oracle Database) un pati platforma izmanto trīs līmeņu arhitektūru:

Daļa koda tiek izpildīta klientā, daļa serverī. Šajā gadījumā tikai serveris mijiedarbojas ar datu bāzi. Tajā pašā laikā, sākot no versijas 8.2, papildus standarta darbības režīmam, ko sauca par “biezā klienta” režīmu, parādījās divi jauni darbības režīmi - “plānais klients” un “tīmekļa klients”; parādījās arī "pārvaldītās formas", kuru izskats ir veidots abstrakta elementu koka formā. Pārvaldīto veidlapu un trīs līmeņu arhitektūras programmēšana ir sarežģītāka, taču tas ļauj gandrīz visu slodzi pārsūtīt uz serveri (t.i., jūs varat iegādāties vienu jaudīgu serveri un simtu lētāko biroja datoru).

Platformas priekšrocības: "trīs saites" - slodzes sadalījums, datubāzes atvērtība (oficiāli 1C uzņēmums atsakās no atbildības par jebkādu datu bojājumu, ja SQL datu bāzē tika veiktas izmaiņas, izņemot to platformas vai servera palīdzību, taču tas maz cilvēku aptur) .

Mīnusi - cena: jums būs jāpērk atsevišķi klienta licences katram klienta datoram, atsevišķi - viena licence 1C serverim, atsevišķa licence SQL serverim, ja neizmantojat bezmaksas. Arī dažreiz datu bāzes darbībā rodas grūtības. Tie tiek atrisināti daudz ātrāk, pateicoties datu pieejamībai un ārēju rīku klātbūtnei darbam ar datu bāzi. Turklāt šajā gadījumā jums vajadzētu izveidot datu bāzes dublējumu.

Vispārēja priekšrocība ir konfigurācijas koda daudzpusība: ar dažiem izņēmumiem failu datu bāzei izstrādātā konfigurācija darbosies servera datu bāzē un otrādi. Izņēmuma piemērs ir maināmās vērtības pārsūtīšana uz serveri vai no servera uz klientu (faila versijā tas neizraisīs izņēmumus, bet klienta-servera versijā tas ir aizliegts).

Vēl viens plus: platforma ir instalēta ļoti vienkārši, apmēram šādi: "Next-Next-Next-Ok", nav nepieciešama neviena komponenta precīza pielāgošana un instalēšana.

Servera versijai ir vēl daži iestatījumi, taču viss tiek veikts instalēšanas dialoglodziņā un neprasa neko izrakstīt atsevišķos failos. SQL servera instalēšana var būt nedaudz sarežģīta, jo šajā gadījumā ir daudz vairāk iestatījumu (un, lai to precīzi pielāgotu, jums jāizpēta papildu instrukcijas). Bet tas neattiecas uz 1C platformas problēmām. Turklāt, ja instalējat, piemēram, MS SQL serveri ar visiem noklusējuma iestatījumiem, tad 1C varēs ar to strādāt.

Tas ir vairāk nekā grāmatvedība

Runājot par 1C platformu, tā vispirms tiek prezentēta kā grāmatvedības programma. Patiešām, šī ir vispopulārākā 1C platformas izmantošanas joma. Bet 1C nedzīvo tikai ar grāmatvedību!
Tie, kas zina platformu, saka, ka tā ir grāmatvedības sistēma (grāmatvedības automatizācija). Tas ir tuvāk patiesībai - ir daudz konfigurāciju gan no 1C, gan no trešo pušu izstrādātājiem. Daži ir tikai netieši saistīti ar grāmatvedību, citi nav saistīti vispār.

Parasti pareizāk ir 1C platformu attēlot kā čaulu datu bāzes, saskarnes un programmēšanas objektu modelēšanai 1C valodā. Vienīgais ierobežojums ir tas, ka katrai konfigurācijai tiek izveidota sava datu bāze un tikai viena (tomēr konfigurācijas ietvaros ir iespējams papildus pieslēgt ārējos datu avotus, t.i., citas datu bāzes).

Ekosistēma programmētājiem

Apsveriet tagad 1C valodu un platformu no izstrādātāja viedokļa:
Datu bāzes objekta modelis. Pirmkārt, mēs nestrādājam tieši ar datu bāzēm. Tas nav vajadzīgs. Mūsu ērtībai visi dati tiek parādīti kā savstarpēji saistīti objekti (direktoriji, dokumenti, informācijas reģistri, uzkrāšanas reģistri utt.), Un platforma automātiski izvelk šos datus no datu bāzes.
Piemēram, ja mainīgajā "Nomenklatūras elements" ir saite uz Nomenklatūras kataloga vienumu, Nomenklatūras katalogā ir mainīgais PrimarySupplier, kas ir Katalogs.Contractors, un Contractors katalogā ir atribūts FullName, pēc tam kods:

ItemNomenclature.PrimarySupplier.Full
... novedīs pie tā, ka 1C platforma, izmantojot iekšējos mehānismus, tabulas ierakstu, kas atbilst direktoram "Contractors", atrod ierakstu ar lauka "Main Supplier" identifikatoru un atgriež lauka vērtību, kas atbilst uz lauku "FullName" direktorijas "Contractors" objekta modelī.

Šādu noviržu var būt daudz - sistēma tiks galā. Vienīgais brīdinājums ir tāds, ka sistēma nezina, kā optimizēt novirzi, tāpēc jums jācenšas tos izņemt no visām iespējamām cilpām.

Papildus objektiem, kas apraksta datus, ir ļoti daudz sistēmas objektu - visdažādākajām funkcijām. Es izcelšu dažus no tiem:

Vērtību veikali
Masīvs- objekts, kas glabā datu kopu, atšķirībā no klasiskā masīvu attēlojuma. Tie var būt dažāda veida dati (skaitlis, virkne, atsauce, cits objekts). Tam ir minimāla funkcionalitāte, un to galvenokārt izmanto kā pagaidu konteineru vērtību pārsūtīšanai starp citām krātuvēm.

Vērtību saraksts- objekts, galvenokārt darbam ar lietotāja saskarni. Papildus datiem katram elementam tajā var būt arī skats, karoga zīme un attēls (piktogramma). Tam ir arī metodes "SelectElement ()" un "MarkElements ()" - kad tiek izsaukts, lietotājam tiek parādīts interfeisa dialoglodziņš (kas ir ērti - konfigurācijā nav nepieciešams izveidot šo dialogu).

Struktūra un Atbilstība- sapāroto vērtību krājumi "Atslēga un vērtība". Struktūrā "Key" šī ir virkne, kas ievēro noteikumus par mainīgo nosaukšanu 1C (bez atstarpēm, sāciet nevis ar ciparu, sastāv tikai no burtiem, cipariem un pasvītrojuma). Saskaņā ar - "Atslēga" ir jebkura vērtība. Ātrākā objektu meklēšana ir atbilstoša (ātrāk nekā masīvā un indeksētā vērtību tabulā).

Vērtību tabula- ļoti ērts un diezgan ātrs objekts datu glabāšanai un apstrādei. Vērtību tabulas slejas var pievienot un noņemt neatkarīgi no ierakstu skaita. Šajā gadījumā rindās esošie dati netiek zaudēti (vai tiek dzēsti tikai dati no šūnām, kas atbilst izdzēstajām kolonnām). Tam ir arī metode "SelectRow ()", kas izsauc rindas izvēles dialoglodziņu. Ir indeksi.

Vērtību koks- objekts, kas attēlo hierarhiskos datus. Satur kolonnas, kolonnu kopa visiem ierakstiem visos līmeņos ir vienāda. Kolonnu noņemšana / pievienošana vērtību kokā ir tikpat vienkārša kā vērtību tabulā. Turklāt tam ir metode "SelectRow ()".

Saskarnes objekti un objekti darbam ar dažādiem datiem TextDocument, SpreadsheetDocument, Web pārlūks, FileReader, FileWrite, ZIPFile Reading, ZIPFileWrite, XMLReader, XMLWriter, HTTPRequest un daudzi citi objekti, kuriem visiem ir iebūvēta palīdzība visam. Uzskaitīto objektu mērķis ir redzams pēc to nosaukumiem, un tas viss ir uzreiz pieejams platformā.

Atsevišķi jāatzīmē, ka ir objekts "Metadati" - ar kuru jūs varat izpētīt datu struktūru programmēšanas valodā, kā arī katrai saitei vai objektam uzziņu grāmatai, dokumentam, kontu plānam utt. pastāv metode "Metadati ()" - sniedzot šīs uzziņu grāmatas / dokumenta / kontu plāna / utt. aprakstu. datu bāzē (kāda informācija, tabulas sadaļas ir pieejamas, koda / numura garums utt.). Tas bieži vien ir ļoti ērti.

Mums arī atsevišķi jāpiemin objekti: "Query", "QueryConstructor", "QueryBuilder", "ReportBuilder", "DataCompositionSchema". Šī saime īsteno objektu kopu darbam ar jaudīgo 1C vaicājuma valodu.

Vaicājuma valoda. Vaicājumi 1C tiek izmantoti tikai, lai iegūtu datu paraugu ar ērtu atlasi, šķirošanu, grupēšanu. Pirmais aptuvenais ir SQL izraksts “SELECT”, kas tulkots krievu valodā, taču 1C vaicājuma valodā ir arī funkcionalitāte, kuras SQL nav, proti:

  • Darbs ar 1C konfigurācijas objektiem, nevis SQL tabulām;
  • Darbs ar saitēm, nevis SQL identifikatora laukiem;
  • Atbalsts novirzīšanai līdzīgi tam, kā tas tiek darīts kodā;
  • Atlase pēc iekļaušanas grupā (uzziņu grāmatām);
  • Hierarhiskas kopsummas;
  • Pagaidu tabulas un apakšvaicājumi (SELECT * FROM (SELECT…));
  • Vaicājumu konstruktors - ērts, uz objektu orientēts, automātiski optimizējot vaicājuma tekstu ātrai lasīšanai, kas var parsēt vaicājuma tekstu (parsēt vaicājuma tekstu un no tā izveidot objekta modeli);
  • Report Builder ir vaicājumu dzinēja papildinājums, kas ir pievienojis automātiskās rezultātu prezentēšanas funkcionalitāti, kā arī paša vaicājuma elastīgu konfigurēšanu režīmā "Uzņēmums" (ti, lietotājs). Rezultātā standarta 1C platformās parādījās universāls pārskats, kurā lietotājs var konfigurēt, kādus datus un kādā secībā viņš vēlas redzēt, kas atrodas rindās, kas atrodas kolonnās, un pats pārskats ģenerē izejas tabulu;
  • ACS (Data Composition System) ir nākamais modelis, kas ir iekļāvis universālā pārskata funkcionalitāti un papildinājis to ar dažām rezultātu apstrādes funkcijām.

Programmēšanas valoda
Sintakses ziņā 1C valoda ir līdzīga "krievu paskalam", bet atšķiras no "paskalas" mazāk stingrībā un dažu konstrukciju trūkumā:

  • Nav nepieciešams deklarēt mainīgos - inicializēt var tieši moduļa tekstā;
  • Nav stingru mainīgo lielumu tipēšanas. Sistēmai ir vērtību tipi, taču mainīgajiem nav stingru tipēšanas noteikumu. Mainīgais, kas saglabāja saiti, jau var saglabāt numuru vai virkni pāris koda rindiņās;
  • Var pievienot mainīgos ar dažāda veida vērtībām, un rezultāta veids būs tāds pats kā pirmā mainīgā tipam, piemēram:
    k = “25” +1; // k = “251”, nevis 26
  • Mainīgos ar dažādu veidu vērtībām var salīdzināt attiecībā uz vienlīdzību vai nevienlīdzību (bet ne vairāk vai mazāk, tas radīs izņēmumu) - dabiski, ka šādi mainīgie nav vienādi;
  • Ir funkcijas un procedūras, ir atļauts izmantot rekursiju (ar ierobežotu rekursijas dziļumu);
  • Norādot funkciju vai procedūru bez parametriem - tas pats, beigās noteikti iekļaujiet tukšas iekavas: here_so ();
  • Ir moduļi: katrā uzziņu grāmatā un dokumentā ir vairāki no tiem, turklāt reģistriem, pārskatiem un apstrādei ir moduļi un katra veidlapa, kā arī konfigurācijā ir iespējams izveidot kopīgus moduļus;
  • Nav klases, mantojums, iekapsulēšana, polimorfisms;
  • Funkciju nevar nodot kā atsauci, nav anonīmu funkciju;
  • Nav reversās cilpas (i: = 5 līdz 1 do), bet tas patiešām ir nepieciešams, dzēšot ierakstus. Mēs tiekam galā ar nedaudz garāku ierakstu caur "Bye" ciklu.

Rīki

  • 1C platformai ir iespēja izkraut un ielādēt konfigurāciju, salīdzināt konfigurāciju ar citu konfigurāciju un daļēji ielādēt izmaiņas;
  • Ir iespējams izkraut moduļa tekstus pakešu apstrādei un ielādēt tos atpakaļ konfigurācijā;
  • Ja konfigurācija ir atbalstīta (visas 1C konfigurācijas sākotnēji ir atbalstītas), tad vienmēr varat salīdzināt un redzēt, ko mainīja trešo pušu izstrādātāji vai vietējie speciālisti;
  • Ir iespējams arī izkraut / ielādēt visu datu bāzi (kopā ar datiem);
  • Kolektīvam darbam vienā konfigurācijā tiek izmantots konfigurācijas krājums;
  • Pastāv arī vairāki noteikumi, kā veikt izmaiņas standarta konfigurācijās, ir pat 1C dokuments, kurā aprakstītas metodes un standarti tipisko konfigurāciju (un citu) mainīšanai.

Vispārējs iespaids
1C valoda apvieno paskalu valodas tekstu skaidrību ar vieglprātību darbā ar PAMAT valodas mainīgajiem. Tam trūkst virknes iezīmju, kas raksturīgas mūsdienu programmēšanas valodām, taču to pilnīgi iespējams iztikt. Turklāt 1C platformā ir jaudīgs atkritumu savācējs, t.i. nav vajadzības, piemēram, pēc lietošanas notīrīt tabulas vai tās izdzēst.

1C Enterprise 8.2 saskarne

Uzņēmums 1C īpašu uzmanību pievērsa savas programmas saskarnei. Pirmkārt, tā ir krāsu palete. Viņa ir krāšņa! Programmu logi ir atpazīstami pat no tālienes, savukārt daudzu gadu darba laikā - tie neizraisa naidīgas izjūtas, gluži pretēji - es vēlos, lai visas programmas būtu vienādas foršas.
Tajā pašā laikā platformas stils ir ļoti stingrs, bez frills un citiem frills. Tajā pašā laikā ir ļoti noderīgas funkcijas, piemēram, atceroties logu izmērus (izmēri tiek atcerēti tikai tad, kad lietotājs tos maina, un tajā pašā laikā jūs vienmēr varat atiestatīt lietotāja iestatījumus - uz noklusējuma izmērus un pozīcijas, nospiežot Alt + Shift + R).
Tīmekļa klienta saskarne 8.2 rada vairākas sūdzības, taču šķiet, ka platforma 8.3 nes sev līdzi jaunu pārveidoto interfeisu - Taxi.

Cenas, piedāvājums un pieprasījums, franšīze

"Garšīgākais" 1C platformas plus ir tā cena. Tas jo īpaši notiek tagad, krīzes laikā. Galu galā 1C ir pilnīgi mūsu vietējais produkts. Un to pārdod mūsu koka. Šādi ārvalstu ražotāja risinājumi maksās daudz naudas. Un licences 1C ir diezgan pieņemamas.

Turklāt 1C ir interesanta licencēšanas politika. Pašas licences un konfigurācijas tiek iegādātas vienu reizi. Tajā pašā laikā licences tiek pirktas darbavietai un serverim, bet ne datu bāzēm un pat ne savienojumiem, t.i. ar vienu licenci viens un tas pats lietotājs var veikt neierobežotu skaitu 1C sesiju, strādājot ar jebkuru datubāzu skaitu. Tas pats attiecas arī uz konfigurācijām: iegādājoties vienu licenci konfigurācijai, organizācija to var izmantot, lai izveidotu jebkuru datubāzu skaitu, turklāt, izstrādājot savas konfigurācijas, ir oficiāli atļauts izmantot šīs konfigurācijas koda daļas un objektus (kamēr var pārdot / pārsūtīt pašu konfigurācijas - nosakot, ka, lai tās izmantotu, jums jāpērk konfigurācija no 1C).

Pēc šī vienreizējā pirkuma jums jāabonē tikai atjauninājumi un jāmaksā reizi gadā, lai atjaunotu abonementu, t.s. ITS. Starp citu, abonēšana ir ļoti lēta, tāpat kā divas klienta licences.

Kopumā tas viss izskatās ļoti izdevīgi.

Otrais "garšīgais", bet jau ar mušu ziedē, plus ir diezgan universālu konfigurāciju klātbūtne no paša 1C un no partneriem.

Par daudzpusību

Jēdzienu "universālums" definēja viens skolas skolotājs CWP, izmantojot gāzmasku piemēru: ir universālas, kas aizsargā pret daudziem kaitīgiem faktoriem, bet aizsardzības pakāpe ir vidēja vai zemāka par vidējo, un ir arī specializētas gāzmaskas kas aizsargā pret vienu triecienu, bet ar augstu aizsardzības pakāpi. Līdz šim es neesmu saskāries ar precīzāku definīciju.
Un konfigurācijas no 1C ir universālas. Praktiski nav tādu uzdevumu, kuros tos varētu pilnībā izmantot bez izmaiņām. Neskatoties uz to, 1C ir izdevies izveidot universālu rīku komplektu, kas aptver vairuma mūsdienu biznesa nozaru vajadzības.


Trešais plus (un arī ar mušu ziedē) ir franšīzes ņēmēju un apmācības centru tīkls gan lietotājiem, gan iesācēju programmētājiem un administratoriem. Laba ideja, bet viduvēja ieviešanas kvalitāte. Neskatoties uz to, izplatība un agresīvs mārketings ir viens no iemesliem, kāpēc mūsu valstī ir plaši izplatīta 1C (un tas ir tas pats negatīvisma, skaudības un naida iemesls).

Darvas karote

Ja krāsotu 1C visās krāsās, būtu negodīgi neteikt par tā trūkumiem, un tie patiešām ir:

Nestabili izlaidumi- gan platformā, gan konfigurācijās ir ļoti daudz kļūdu un kļūmju. Un tas ir oficiālajos izlaidumos. Pirms oficiālās versijas izlaišanas tiek izlaista “Iepazīšanās versija”. Ir arī atsauksmes par kļūdu aprakstu iesniegšanu, lai tos varētu pieņemt labošanai. Tomēr vai nu iepazīšanās versijas nav pārāk populāras, vai arī pašam 1C uzņēmumam nav laika apstrādāt visas vēstules līdz izlaišanas datumam, bet tas ir fakts. Katru reizi, kad atjaunināt platformu vai konfigurāciju, jūs varat paklupt uz negaidītākajiem "pārsteigumiem". Uzņēmumam 1C jau vairākkārt ir lūgts rūpīgāk pārbaudīt tā attīstību.

Franšīzes ņēmējs (turpmāk - franšīze)... Ideālā gadījumā saskaņā ar ideju tiem bija jābūt uzņēmumiem ar kvalificētiem speciālistiem, kuri pārzina konfigurāciju un platformas pamatprincipus. Šīm pašām firmām būtu jāpārdod platforma, konfigurācija un atbalsts, nedaudz "jāpabeidz" universālās konfigurācijas, lai tās atbilstu klienta prasībām (un reizēm - pielāgotu šīs prasības), cenšoties pēc iespējas mazāk modificēt standarta konfigurāciju. Lai pārāk nesarežģītu nākotnes atjauninājumus. Patiesībā ir tieši otrādi.

Kad klientam tiek pārdotas jaunas licences, franki saņem 50% no savas vērtības (atskaitot ienākuma nodokli 13% no šiem 50%). Tajā pašā laikā jums nekas nav jāražo pats, jums vienkārši jāpārsūta atslēgas no 1C pircējam.

Sniedzot pakalpojumus, franšīzes neko nemaksā 1C (izņemot biedru naudas), bet tām jāmaksā darbinieka alga. Jātērē arī nodokļi valstij - FIU un ienākuma nodoklis.

Izrādās, ka gan 1C, gan franki ir izdevīgi pārdot licences un nav izdevīgi, lai sniegtu turpmāku atbalstu. Tajā pašā laikā, lai klients varētu iegādāties programmu, tā sākotnēji jāpielāgo viņa prasībām. Un jums ir jāmaksā par darbu. Un šeit, lai ietaupītu naudu, tiek piesaistīti studenti, skolēni un nespeciālisti, kuriem jūs varat maksāt nedaudz, bet dažreiz nemaksāt, viņus pat nevar reģistrēt valstī (viņi strādās neoficiāli, jo ir par ko maksāt). Rezultāts ir milzīgs pārdošanas skaits ar ļoti zemu kvalitāti. Uzlabojumi parasti ietekmē svarīgus mehānismus un sarežģī nākotnes atjauninājumus. Bet pārdošanas posmā tas neinteresē ne 1C, ne franšīzes ņēmēju.

Ņemiet vērā, ka tā nav tik daudz uzņēmēju no franšīzes, kā 1C vainas dēļ. Koncentrējoties uz pārdošanu, viņa nemaz nerūpējās par atbalstu (es tagad nerunāju par skolām, bet gan par to, ka gan franšīzes ņēmējam, gan 1C būtu jāsniedz atbalsts).

Tehniskā palīdzība. 1C izpratnē tehniskais atbalsts ir piekļuves nodrošināšana platformas un konfigurāciju sadaļai "atjaunināšana", kā arī informācijas sadaļām, kurās ir aprakstīti daži 1C darbības mehānismi un funkcijas. Turklāt, abonējot, tiek nodrošināts disks ar norādītajiem materiāliem. Ir arī forums (ļoti maz, salīdzinot ar tautas). Ir iespējams arī nosūtīt e-pastu uz 1C, taču pat necerot, ka uz to tiks atbildēts (vai robots atbildēs “Vēstule ir nosūtīta attīstības departamentam.” Runājot par attīstību, Yandex.Poisk un konfiguratorā iebūvētā palīdzība sniedz daudz lielāku atbalstu.

Epilogs

Es pārgāju uz 1C 2008. gadā, un pirms tam es strādāju uzņēmumā, kas izstrādāja savu grāmatvedības programmu (Delphi 5, pēc tam Delphi 7). Pirmkārt, es iepazinos ar 1C Enterprise 7.7 platformu, un mani pārsteidza tajā esošo pārskatu izstrādes vienkāršība. Tajā pašā laikā bija skaidrs, ka pārskati tiek veidoti daudz ilgāk nekā līdzīgos mehānismos par Delfiem, taču grāmatvežiem tas nebija īpaši svarīgi. Dažu sekunžu vietā gaidīšana dažas minūtes nav problēma. Gluži pretēji, jūs varat tur krāsot nagus, dzert tēju vai apspriest jaunākās ziņas, nepārtraucot darbu. Galu galā mūsdienās pārliecinošs vairākums grāmatvežu ir sievietes.
Tomēr saskarne 7.7 bija ļoti ierobežota, un objektu kopa bija diezgan maz. Es meklēju alternatīvas. Iepazinos ar ārējiem komponentiem, bet tie netika praktiski izmantoti, tk. priekšnieks nolēma, ka ir pienācis laiks pāriet uz 8.1 (jā, 8.2 vēl nebija), un šajā platformā kā programmētājs atradu visu, kas man pietrūka agrāk.
Pašlaik man ir autoritāte gan kolēģu, gan klientu vidū, kuri pie manis ieradās no franšīzēm. Viņi, iespējams, nekad vairs nesazināsies ar frankiem.


Kopumā esmu diezgan apmierināts ar darbu 1C Enterprise 8 platformā. Tas ir piemērots, lai atrisinātu lielāko daļu grāmatvedības uzdevumu un uzdevumu, izmantojot datu bāzi.

Tagi: pievienojiet tagus