1C programlama dili örnek kodu. Boolean İfadelerini Kullanan Döngüler

Bu kitap, 1C:Enterprise sisteminin yerleşik dilinin bir açıklamasıdır ve belirli bir muhasebe otomasyonu sorununu çözmek için sistemi yapılandıran uzmanlara yöneliktir.

1C:Enterprise, kurumsal faaliyetlerin otomasyonu alanındaki çok çeşitli görevleri çözmek için kullanılabilecek esnek, özelleştirilebilir bir sistemdir. 1C:Enterprise sisteminde, 1C:Enterprise sisteminin yerleşik dilindeki metinleri içeren yazılım modüllerinde Konfigüratör yazılım bileşeni (bundan sonra yapılandırıcı olarak anılacaktır) kullanılarak özel konfigürasyon algoritmaları açıklanmaktadır.

Yerleşik dilin amacı ve kısa açıklaması

1C:Enterprise sisteminin yerleşik dili, uygulanan bir görevin işleyişine yönelik algoritmaları (konfigürasyon geliştirme aşamasında) tanımlamayı amaçlamaktadır.

Yerleşik dil (bundan sonra dil olarak anılacaktır), yalnızca profesyonel programcılar tarafından kullanılma olasılığı dikkate alınarak özel olarak tasarlanmış, alana özgü bir programlama dilidir. Özellikle, tüm dil operatörlerinin aynı kaynak metinde aynı anda kullanılabilen hem Rusça hem de İngilizce yazımları vardır. Bu kitapta anlatılan ana dil Rusçadır, ancak her dil operatörü için İngilizce eşanlamlısı verilmiştir.

Göreceli basitliğine rağmen, dilin bazı nesne yönelimli yetenekleri vardır; örneğin, özel veri türlerinin (belgeler, referans kitapları vb.) niteliklerine ve yöntemlerine erişim kuralları, diğer nesnelerde kullanılan nesnelerin özelliklerine ve yöntemlerine benzer. odaklı diller. Ancak özel veri türleri dilin kendisi kullanılarak tanımlanamaz ancak yapılandırıcının görsel modunda belirtilir.

Dilde değişkenlerin yazılması katı değildir; yani bir değişkenin türü, değerine göre belirlenir. Değişkenlerin açıkça bildirilmesine gerek yoktur. Bir değişkenin örtülü tanımı, onun atama ifadesinin sol tarafında ilk kez görülmesidir. Uygun operatörü kullanarak değişkenleri açıkça bildirmek de mümkündür. Dizilere izin verilir.

Kitap oluşturmak

Bu kitapta dilin unsurları, işlevsel odak noktalarına göre mantıksal olarak gruplandırılmış olarak anlatılmıştır, dolayısıyla bu kitabın içindekiler listesi alfabetik olarak düzenlenmemiştir. Tipik olarak bölüm, işlenen veri türüyle başlar, ardından bu verinin nitelikleri gelir ve son olarak da bu veri türünü kullanan yürütülebilir yöntemler ile başlar.

Dil öğelerini tanımlamak için format

Bu kılavuzda bahsedilen her dil öğesi (yapı) bu yazı tipiyle basılmıştır. Dil bileşenlerine ilişkin bilgiler sözdizimi diyagramı biçiminde sağlanır, Detaylı Açıklama ve örnek bir kaynak metin.

Sözdizimi diyagramlarında benimsenen kurallar ve gösterimler

Sözdizimi diyagramlarında aşağıdaki semboller kullanılır:

Dil öğesi açıklaması için sözdizimi diyagramı

Kullanılan dil öğesi açıklama biçimi bu kılavuz, aşağıdaki sözdizimi diyagramında gösterilmektedir.

Dil Öğesi

Kısa Açıklama belirli bir Dil Öğesinin ne yaptığı.

Sözdizimi:

DilElement(<Параметр1>, <Параметр2>, ...) [Anahtar Kelime Ekle]

İngilizce Söz Dizimi:(dil yapıları durumunda)

Anahtar kelime(<Параметр1>, <Параметр2>, ...)

İngilizce eşanlamlısı:(yöntemlerin, işlevlerin ve prosedürlerin açıklanması durumunda)

Seçenekler:

<Параметр1>Kısa Açıklama<Параметра1>. <Параметр2>Kısa Açıklama<Параметра2>. [AddKeyWord] AddKeyWord'un kısa bir açıklaması.

Geri dönüş değeri:

Dönüş değerinin türü ve kısa açıklaması.

Tanım:

LanguageElement öğesinin neleri uyguladığının ayrıntılı bir açıklaması.

Örnek:

· Örneğin kısa açıklaması // Orjinal metinörnek

SI'da yazarsanız
En az üç kez topal ol
Bu konuda şöyle diyorlar:
"O harika bir programcı!"
(Fidosh şarkıları - “Suxxx Nedir ve Rulezzz Nedir”)

Önsöz

Bu makalenin yazılma nedeni şuydu olumsuz tutum belirtilen platform ve programcılara profesyonel topluluk.

1C'yi seçen bir programcı olarak bu görüşün temelsiz olduğunu düşünüyorum. 1C platformu ideal olmaktan uzak ama bence en iyisi ve en önemlisi yerli bir ürün!

Daha da önemlisi, bir programcının yeteneklerini yazdığı dile göre yargılamak yetersizdir.

Bu yazıda programda kendim için bulduğum avantajları anlatacağım. Makale neredeyse bir reklama dönüşecek, bu yüzden burada bir sorumluluk reddi beyanı var:

  • 1C şirketiyle doğrudan bir ilişkim yok;
  • Bu makale sipariş edilmemiştir ve yalnızca gönüllülük esasıyla yazılmıştır;
  • Bazı durumlarda örtüşmeyebilecek kişisel görüşler ifade edilir...;
  • Önsöz hariç makalenin tamamı yazara aittir, her türlü tesadüf tesadüftür;
  • 1C Enterprise 8.2 platformu hakkında konuşacağız (şu anda sürüm 8.3 güncel, ancak henüz incelemedim - 1C 8.2 üzerinde çok fazla çalışma var). Ancak söylenenlerin çoğu hem 8.3 platformu hem de önceki sürümler için geçerli olduğu gibi bir kısmı da 7.7 sürümü için geçerli.
Öyleyse başlayalım.

Ne hakkında konuşuyoruz?

Platform 1C Kurumsal 8:
  • İki versiyonda çalışır - dosya ve sunucu (üç bağlantı) - her birinin kendi avantajları ve dezavantajları vardır;
  • Kurulumu ve yapılandırması kolay bağımsız bir muhasebe sistemi;
  • Programcılar için gerekli tüm nesne ve araçları içeren güçlü bir ekosistem;
  • Güzel ergonomik arayüz;
  • İş için nispeten ucuz bir çözüm;
  • Franchise sahibi ağı, başlangıç ​​eğitimi;
  • Yıllar boyunca biriken güçlü bir gelişme ve bilgi tabanı;
  • Sistem yöneticileri için zaman zaman sorunlu bir platform;
  • Algoritmaların en hızlı yürütülmesi değil (en yavaş olmasa da) - bu bilgi içeriğine bir övgüdür (hata durumunda satır numarası ve içeriği gösterilir);
  • Programlama dilinde sınıflar (kalıtım, kapsülleme, polimorfizm), anonim işlevler ve diğer modern özellikler yoktur. Ancak çoğu sorunu çözmek için bu gerekli değildir!
Muhasebeyi düzenlemek için tek bir platform yeterli değildir. Platform bir tür “motor”, program ile veritabanı arasında bir ara bağlantıdır. Bu "motor" için programlara konfigürasyon denir. Konfigürasyon, veritabanının yapısını nesneler biçiminde, ayrı modüllerde saklanan prosedür metinlerini açıklar (çok sayıda modül vardır, hem her nesnede hem de bir bütün olarak sistemde bunlara sahiptir ve ayrıca ortak modüller de vardır). Platform, veritabanına doğrudan erişimin gerekli olmadığı bir soyutlama düzeyini temsil eder ve aynı zamanda veritabanından soyutlama yapmanızı sağlar. işletim sistemi ve veritabanı türü.

Dosya ve sunucu veritabanı

Platform birçok parçadan oluşmakta olup dosya veya sunucu versiyonunda çalışabilmektedir.

Dosya sürümünde, veritabanının tamamı tek bir dosyada ("1cd" uzantılı) bulunur - platform her bilgisayara kurulur ve doğrudan veritabanını okur/yazar.

Dosya seçeneğinin avantajları - Düşük fiyat ve dağıtım kolaylığı.

Eksileri - "1cd" dosya yapısı kapalı, hayır birleşik sistem, veritabanıyla etkileşimde bulunmak. Sonuç olarak, kullanımı zor olduğunda çok sayıda kullanıcılar (20'den fazla kullanıcı için denendi - işe yarıyor). Ayrıca, veritabanı boyutu yaklaşık 15 GB (veya daha fazla) olduğunda dinamik güncelleştirmeler başarısız olabilir. Bu tür arızaları çözmek zor bir iştir ve veritabanını onarmaya yönelik yardımcı program her zaman etkili bir şekilde onarmaz ve hatta bazen veritabanını felce uğratır.

Bir çözüm var; bu, her şeyden önce günlük bir günlük oluşturmaktır. Kopyayı rezerve et Veri tabanı. Ek olarak, zanaatkarlar yalnızca 1cd dosya formatını yayınlamakla kalmıyor, aynı zamanda bu tür dosyalarla çalışmak için yardımcı programlar ve bu tür sorunları çözmek için bir dizi yöntem de geliştirdiler.

Sunucu sürümünde, veritabanını depolama platformu bir SQL sunucusu (genellikle MS SQL, ancak 8.2.14'ten başlayarak - Firebird PostgreSQL, IBM DB2, Oracle Database gibi diğer bazılarını da kullanabilirsiniz) ve platformun kendisini kullanır. üç katmanlı bir mimari kullanır:

Kodun bir kısmı istemcide, bir kısmı sunucuda yürütülür. Bu durumda yalnızca sunucu veritabanıyla etkileşime girer. Aynı zamanda 8.2 sürümünden itibaren "kalın istemci" modu olarak adlandırılan standart çalışma moduna ek olarak iki yeni çalışma modu ortaya çıktı - "ince istemci" ve "web istemcisi"; da ortaya çıktı" yönetilen formlar», dış görünüş soyut bir element ağacı şeklinde inşa edilmiştir. Yönetilen formlar ve üç katmanlı mimari için programlama daha zordur, ancak bu, yükün neredeyse tamamını sunucuya aktarmanıza olanak tanır (yani, güçlü bir sunucu ve en ucuz yüz ofis bilgisayarını satın alabilirsiniz).

Platformun avantajları: “üç bağlantı” - yük dağıtımı, veritabanının açıklığı (resmi olarak 1C şirketi, aşağıdaki durumlarda herhangi bir veri bozulmasının sorumluluğunu reddeder: SQL veritabanı değişiklikler platform veya sunucu dışında yapıldı, ancak bu çok az insanı durduruyor), kısıtlamaların olmaması.

Eksileri - fiyat: her biri için ayrı istemci lisansları satın almanız gerekecek istemci bilgisayar, ayrı olarak - 1C sunucusu için bir lisans, ücretsiz olanı kullanmıyorsanız SQL sunucusu için ayrı bir lisans. Ayrıca bazen veritabanının çalışmasında zorluklar ortaya çıkar. Verilerin mevcudiyeti ve veritabanıyla çalışmak için harici araçların mevcudiyeti nedeniyle çok daha hızlı çözülürler. Ayrıca bu durumda veritabanının yedeğini almanız gerekir.

Ortak bir avantaj, konfigürasyon kodunun çok yönlülüğüdür: bazı istisnalar dışında, bir dosya veritabanı için geliştirilen konfigürasyon, bir sunucu veritabanında çalışacaktır ve bunun tersi de geçerlidir. Bir istisna örneği, sunucuya veya sunucudan istemciye değiştirilebilir bir değerin iletilmesidir (dosya sürümünde bu istisnalara neden olmaz, ancak istemci-sunucu sürümünde yasaktır).

Başka bir artı: platform çok basit bir şekilde kurulur, şunun gibi bir şey: "Sonraki-Sonraki-Tamam", gerekli değil ince ayar ve herhangi bir bileşenin kurulumu.

Sunucu sürümü için birkaç ayar daha vardır, ancak her şey kurulum iletişim kutusunda yapılır ve herhangi bir şey girmenizi gerektirmez. ayrı dosyalar. Bir SQL sunucusunun kurulumu biraz zor olabilir çünkü... bu durumda çok daha fazla ayar vardır (ve ince ayar yapmak için ek talimatları incelemeniz gerekir). Ancak bu 1C platformunun sorunları için geçerli değildir. Ayrıca, örneğin tüm varsayılan ayarlara sahip bir MS SQL sunucusu kurarsanız, 1C onunla çalışabilecektir.

Bu muhasebeden daha fazlası

1C platformu söz konusu olduğunda öncelikle bir muhasebe programı olarak sunulmaktadır. Aslında bu, 1C platformunun en popüler kullanım alanıdır. Ancak 1C yalnızca muhasebeyle yaşamıyor!
Platforma aşina olanlar bunun bir muhasebe (muhasebe otomasyonu) sistemi olduğunu söylüyor. Bu gerçeğe daha yakın - hem 1C'den hem de üçüncü taraf geliştiricilerden birçok yapılandırma var. Bazıları muhasebeyle yalnızca dolaylı olarak ilgilidir, bazıları ise hiç ilişkili değildir.

Genel olarak, 1C platformunu, 1C dilinde bir veritabanının, arayüzün ve programlamanın nesne modellemesi için bir kabuk olarak hayal etmek daha doğrudur. Tek sınırlama, her konfigürasyon için kendi veritabanının oluşturulması ve yalnızca bir veritabanının oluşturulmasıdır (ancak konfigürasyonun bir parçası olarak ek olarak bağlanmak da mümkündür) dış kaynaklar veriler, yani diğer bazlar).

Programcılar için ekosistem

Şimdi 1C dilini ve platformunu geliştiricinin bakış açısından ele alalım:
Veritabanı nesne modeli.Öncelikle veritabanlarıyla doğrudan çalışmıyoruz. Bu gerekli değil. Bizim rahatlığımız için, tüm veriler birbirine bağlı nesneler (dizinler, belgeler, bilgi kayıtları, birikim kayıtları, ...) biçiminde sunulur ve platform bu verileri veritabanından otomatik olarak "çeker".
Örneğin, "Nomenklatür Öğesi" değişkeninin "Nomenklatür" dizin öğesine bir referans içermesi koşuluyla, "Nomenklatür" dizini "Ana Tedarikçi" niteliğine, "Directory.Counterparties" tipine ve "Karşı Taraflar" dizinine sahip olmalıdır. “Tam Ad” özelliği ve ardından kod:

İsimlendirme Elemanı Tam Adı.
... 1C platformunun, dahili mekanizmaları kullanarak, öğe öğesinin "Ana Tedarikçi" alanındaki tanımlayıcıyla "Karşı Taraflar" dizinine karşılık gelen tabloda bir kayıt bulmasına ve karşılık gelen alanın değerlerini döndürmesine neden olacaktır. “Karşı Taraflar” dizininin nesne modelindeki “Tam Ad” alanına.

Bu türden pek çok sapma olabilir; sistem bununla başa çıkabilir. Tek uyarı, sistemin referansları nasıl optimize edeceğini bilmemesidir, bu nedenle onları her türlü döngünün dışına taşımaya çalışmalısınız.

Verileri tanımlayan nesnelerin yanı sıra, çeşitli işlevler için çok sayıda sistem nesnesi vardır. Bunlardan bazılarını vurgulayacağım:

Değer depoları
Sıralamak- klasik dizi fikrinin aksine, bir dizi veriyi depolayan bir nesne. Bu veri olabilir çeşitli türler(sayı, dize, bağlantı, diğer nesne). Minimum işlevselliğe sahiptir ve esas olarak diğer mağazalar arasında değer aktarımı için geçici bir kap olarak kullanılır.

Değerleri Listele- öncelikle kullanıcı arayüzüyle çalışmaya yönelik bir nesne. Verilere ek olarak, her öğe için bir temsil, bir bayrak niteliği ve bir resim (simge) de içerebilir. Aynı zamanda “SelectElement()” ve “MarkElements()” yöntemlerine de sahiptir - çağrıldığında kullanıcıya bir arayüz iletişim kutusu gösterilir (bu kullanışlıdır - yapılandırmada bu iletişim kutusunu oluşturmaya gerek yoktur).

Yapı Ve Yazışma- “KeyIValue” eşleştirilmiş değerlerin depolanması. Yapıda "Anahtar", 1C'deki değişkenleri adlandırma kurallarına uyan bir dizedir (boşluk yoktur, sayı ile başlamaz, yalnızca harflerden, rakamlardan ve alt çizgiden oluşur). Buna göre - “Anahtar” herhangi bir değerdir. Nesnelerin en hızlı aranması buna uygundur (bir diziden ve indekslenmiş bir değer tablosundan daha hızlıdır).

Değerler Tablosu- verileri depolamak ve işlemek için çok kullanışlı ve oldukça hızlı bir nesne. Değer tablosundaki sütunlar, kayıt sayısına bakılmaksızın eklenebilir ve silinebilir. Bu durumda satırlardaki veriler kaybolmaz (veya yalnızca silinen sütunlara karşılık gelen hücrelerdeki veriler silinir). Ayrıca satır seçimi iletişim kutusunu çağıran “SelectRow()” yöntemine de sahiptir. İndeksler var.

Değerler Ağacı- hiyerarşik verileri temsil eden bir nesne. Sütunlar içerir; sütun kümesi tüm düzeylerdeki tüm kayıtlar için aynıdır. Değer ağacındaki sütunları kaldırmak/eklemek, değer tablosundaki kadar kolaydır. Ayrıca “SelectRow()” yöntemine sahiptir.

Çeşitli verilerle çalışmak için arayüz nesneleri ve nesneleri TextDocument, SpreadsheetDocument, Web tarayıcısı, ReadFile, WriteFile, ReadZIPFile, WriteZIPFile, ReadXML, WriteXML, HTTPRequest ve daha birçok nesne ve yapılandırıcı her şey için yerleşik yardıma sahiptir. Listelenen nesnelerin amacı isimlerinden bellidir ve tüm bunlar platformda anında mevcuttur.

Ayrı olarak, bir "Meta Veri" nesnesinin var olduğuna dikkat edilmelidir - bunun yardımıyla, bir programlama dilinde, verilerin yapısını ve ayrıca bir dizin, belge, grafik için her bağlantı veya nesneyi inceleyebilirsiniz. hesaplar vb. Bu referans kitabının/belgenin/hesap planının/vb.'nin açıklamasını sağlayan bir “Metadata()” yöntemi vardır. veritabanında (hangi ayrıntılar, tablo bölümleri mevcut, kod/numara uzunluğu vb.). Çoğu zaman çok uygundur.

Ayrıca nesnelerden de ayrı ayrı bahsetmemiz gerekiyor: “Sorgu”, “Sorgu Oluşturucu”, “Sorgu Oluşturucu”, “Rapor Oluşturucu”, “Veri Kompozisyon Şeması”. Bu aile, güçlü 1C sorgu diliyle çalışmak için bir dizi nesneyi uygular.

Sorgu dili. 1C'deki sorgular yalnızca uygun seçim, sıralama ve gruplandırma ile bir veri örneği elde etmek için kullanılır. İlk yaklaşıma göre bu, SQL'den Rusça'ya çevrilmiş "SELECT" operatörüdür, ancak 1C sorgu dili aynı zamanda SQL'de eksik olan işlevselliğe de sahiptir:

  • SQL tabloları yerine 1C yapılandırma nesneleriyle çalışmak;
  • SQL tanımlayıcı alanları yerine bağlantılarla çalışmak;
  • Kodda yapıldığına benzer şekilde referans kaldırma desteği;
  • Bir gruba dahil edilerek seçim (dizinler için);
  • Hiyerarşik toplamlar;
  • Geçici tablolar ve iç içe geçmiş sorgular (SELECT * FROM (SELECT ...)));
  • Sorgu oluşturucu, sorgu metnini ayrıştırabilen (sorgu metnini ayrıştırıp ondan bir nesne modeli oluşturabilen) kullanışlı, nesne tabanlı, hızlı okuma için sorgu metnini otomatik olarak optimize eden bir araçtır;
  • Rapor oluşturucu, sorgu mekanizmasına, sonuçların otomatik biçimlendirilmesi işlevinin yanı sıra sorgunun kendisinin "Kurumsal" modunda (yani kullanıcı tarafından) esnek yapılandırılması işlevini ekleyen bir eklentidir. Sonuç olarak, standart 1C platformlarında, kullanıcının hangi verileri ve hangi sırayla satırlarda ve sütunlarda ne olduğunu görmek istediğini yapılandırabileceği ve raporun kendisinin çıktı tablosunu oluşturduğu evrensel bir rapor ortaya çıktı. ;
  • SKD (Veri Kompozisyon Sistemi), işlevselliği birleştiren bir sonraki modeldir evrensel rapor ve sonuçların işlenmesi için bazı işlevlerle desteklendi.

Programlama dili
Sözdizimi açısından, 1C dili "Rusça Pascal" a benzer, ancak daha az katılık ve bazı yapıların yokluğu açısından "Pascal" dan farklıdır:

  • Değişkenleri bildirmeye gerek yoktur; bunları doğrudan modül metninde başlatabilirsiniz;
  • Değişkenlerin katı bir şekilde yazılması yoktur. Sistemin değer türleri vardır ancak değişkenler için kesin yazım kuralları yoktur. Bağlantıyı depolayan değişken, birkaç satır koddan sonra zaten bir sayıyı veya dizeyi depolayabilir;
  • Değerleri olan değişkenler ekleyebilirsiniz farklı şekiller, bu durumda sonucun türü ilk değişkenin türüyle aynı olacaktır, örneğin:
    k = “25”+1; // k = “251”, 26 değil
  • Farklı türdeki değerlere sahip değişkenler eşitlik veya eşitsizlik açısından karşılaştırılabilir (ancak az ya da çok değil, bu bir istisnaya neden olur) - doğal olarak bu tür değişkenler eşit değildir;
  • İşlevler ve prosedürler vardır, özyinelemenin kullanılmasına izin verilir (özyinelemenin derinliğine ilişkin bir sınırlama ile);
  • Parametresiz bir fonksiyon veya prosedür belirtirken, sonunda boş parantezlerin belirtilmesi yine de gereklidir: like this();
  • Modüller vardır: her dizin ve belgede bunlardan birkaç tane bulunur; ayrıca kayıtlar, raporlar ve işlemler ve her formun modülleri vardır ve ayrıca yapılandırmanın bir parçası olarak ortak modüller oluşturmak mümkündür;
  • Sınıf, kalıtım, kapsülleme, polimorfizm yok;
  • Bir işlev referans olarak aktarılamaz; anonim işlevler yoktur;
  • Ters döngü yoktur (i:=5'ten 1 do'ya kadar), ancak kayıtları silerken buna gerçekten ihtiyaç vardır. “Güle güle” döngüsüne biraz daha uzun bir girişle yetiniyoruz.

Aletler

  • 1C platformu, bir konfigürasyonu yükleme ve indirme, bir konfigürasyonu başka bir konfigürasyonla karşılaştırma ve değişiklikleri kısmen indirme yeteneğine sahiptir;
  • Modül metinlerini indirmek mümkündür. toplu işleme ve konfigürasyona geri yükleyin;
  • Yapılandırma destekleniyorsa (başlangıçta 1C'deki tüm yapılandırmalar desteklenir), o zaman her zaman bir karşılaştırma yapabilir ve nelerin değiştiğini görebilirsiniz. üçüncü taraf geliştiriciler veya yerel uzmanlar;
  • Ayrıca veritabanının tamamını (verilerle birlikte) yüklemek/indirmek de mümkündür;
  • Bir konfigürasyon üzerinde toplu çalışma için bir konfigürasyon deposu kullanılır;
  • Standart konfigürasyonlarda değişiklik yapmak için bir takım kurallar da vardır; 1C'den değişiklik yöntemlerini ve standartlarını açıklayan bir belge bile vardır. tipik konfigürasyonlar(ve diğerleri).

Genel izlenim
1C dili, Pascal dili metinlerinin netliğini BASIC dili değişkenleriyle çalışmanın anlamsızlığıyla birleştirir. Doğasında olan bir takım özelliklerden yoksundur modern Diller programlama, ancak onlarsız da yapabilirsiniz. Ek olarak, 1C platformunun güçlü bir çöp toplayıcısı vardır; örneğin tabloları kullandıktan sonra temizlemeye veya silmeye gerek yoktur.

Arayüz 1C Kurumsal 8.2

1C şirketi, programının arayüzüne özel önem verdi. Her şeyden önce, bu renk paletidir. O muhteşem! Program pencereleri uzaktan bile tanınabilir ve uzun yıllar çalıştıktan sonra - düşmanca duygulara neden olmazlar, aksine - tüm programların da aynı derecede havalı olmasını istiyorum.
Aynı zamanda platformun tarzı, fırfırlar veya başka fırfırlar olmadan çok katıdır. Aynı zamanda çok var kullanışlı özellikler, örneğin pencerelerin boyutlarını hatırlamak (boyutlar yalnızca kullanıcı tarafından değiştirildiğinde hatırlanır ve aynı zamanda Alt+Shift+R tuşlarına basarak kullanıcı ayarlarını her zaman varsayılan boyutlara ve konumlara sıfırlayabilirsiniz) ).
8.2 Web istemci arayüzü bir takım şikayetlere neden oluyor, ancak görünen o ki 8.3 platformu, yeniden tasarlanmış yeni bir arayüz olan "Taksi"yi de beraberinde getiriyor.

Fiyatlar, arz ve talep, franchising

1C platformunun en "lezzetli" avantajı fiyatıdır. Bu özellikle şimdi, kriz sırasında geçerlidir. Sonuçta 1C tamamen bizim yerli ürünümüz. Ahşap olanlarımız için de satılmaktadır. Yabancı bir üreticinin bu tür çözümleri çok paraya mal olacak. Ve 1C lisansları oldukça makul.

Ayrıca 1C'nin ilginç bir lisanslama politikası vardır. Lisanslar ve yapılandırmalar bir kez satın alınır. Aynı zamanda lisanslar da satın alınıyor. iş yeri ve sunucuya, ancak veritabanlarına ve hatta bağlantılara bile değil, yani. tek bir lisans altında, aynı kullanıcı herhangi bir sayıda veritabanıyla çalışarak sınırsız sayıda 1C oturumu başlatabilir. Aynı durum konfigürasyonlar için de geçerlidir: bir konfigürasyon için bir lisans satın alarak, bir kuruluş bunu herhangi bir sayıda veritabanı oluşturmak için kullanabilir; ayrıca, kendi konfigürasyonlarını geliştirirken bu konfigürasyonun kod bölümlerini ve nesnelerini kullanmasına resmi olarak izin verilir ( bu durumda, kendi konfigürasyonları satılabilir/devredilebilir - şu şartla: Bunları kullanmak için 1C'den bir konfigürasyon satın almanız gerekir).

Bu tek seferlik satın alma işleminden sonra, yalnızca güncellemelere abone olmanız ve sözde yılda bir kez abonelik yenilemesi için ödeme yapmanız gerekir. ONUN. Bu arada, abonelik çok ucuz, yaklaşık iki istemci lisansıyla aynı.

Genel olarak her şey çok karlı görünüyor.

İkinci "lezzetli", ancak merhemde bir sinek artı, 1C'nin kendisinden ve ortaklardan oldukça evrensel konfigürasyonların varlığıdır.

Çok yönlülük hakkında

"Çok yönlülük" kavramı, NVP'deki bir okul öğretmeni tarafından gaz maskeleri örneğini kullanarak tanımlandı: birçok zararlı faktöre karşı koruma sağlayan evrensel olanlar var, ancak koruma derecesi ortalama veya ortalamanın altında ve ayrıca özel gaz maskeleri de var Tek bir darbeye karşı koruma sağlayan ancak yüksek koruma derecesine sahip. Şu ana kadar daha kesin bir tanıma rastlamadım.
Ve 1C'deki konfigürasyonlar evrenseldir. Uygulamada bunların değişiklik yapılmadan tam olarak kullanılabileceği hiçbir görev yoktur. Yine de 1C, modern iş dünyasının çoğu sektörünün ihtiyaçlarını karşılayan evrensel bir araç seti oluşturmayı başardı.


Üçüncü avantaj (ve ayrıca merhemde bir sinekle), hem kullanıcılar hem de acemi programcılar ve yöneticiler için franchise sahipleri ve eğitim merkezleri ağıdır. İyi bir fikir, ancak uygulanmasının kalitesi oldukça vasat. Ancak yaygınlığı ve agresif pazarlaması, 1C'nin ülkemizde yaygınlaşmasının nedenlerinden biridir (ve bu aynı zamanda olumsuzluğun, kıskançlığın ve nefretin de nedenidir).

Bir kaşık katran

1C'yi tüm renkleriyle tanımladıktan sonra eksikliklerinden bahsetmemek haksızlık olur ama bunlar var:

Kararsız sürümler- hem platformda hem de konfigürasyonlarda çok sayıda hata ve aksaklık var. Ve bu resmi sürümlerde. Serbest bırakmadan önce Resmi sürüm, bir “Değerlendirme Versiyonu” yayınlanıyor. Ayrıca hata açıklamalarının düzeltilmek üzere kabul edilmesi için gönderilmesine ilişkin geri bildirim de bulunmaktadır. Bununla birlikte, ya deneme sürümleri pek popüler değil ya da 1C şirketinin kendisinin çıkış tarihine kadar tüm mektupları işlemek için zamanı yok, ancak bu bir gerçek. Bir platformu veya konfigürasyonu her güncellediğinizde, en beklenmedik "sürprizlerle" karşılaşabilirsiniz. 1C'den, geliştirmelerini daha kapsamlı bir şekilde test etmesi için defalarca çağrıldı.

Franchise Sahibi (bundan sonra franchise sahipleri olarak anılacaktır). İdeal olarak, planlandığı gibi, bunların, konfigürasyonların ve platformların temel çalışma prensiplerini bilen nitelikli uzmanlara sahip şirketler olması gerekirdi. Aynı şirketlerin platformu, konfigürasyonu ve desteği satması, evrensel konfigürasyonları müşterinin gereksinimlerine uyacak şekilde biraz "bitirmesi" (ve bazen bu gereksinimleri ayarlaması), standart konfigürasyonu minimum düzeyde değiştirmeye çalışması gerekecekti. Gelecekteki güncellemeleri çok fazla karmaşıklaştırmamak için. Fakat gerçekte bunun tersi doğrudur.

Bir müşteriye yeni lisans satarken, franchise sahipleri maliyetlerinin %50'sini alırlar (eksi bu %50'nin %13'ü gelir vergisi). Aynı zamanda kendiniz bir şey üretmenize gerek yok, sadece 1C'nin anahtarlarını alıcıya teslim etmeniz yeterli.

Franchise sahipleri hizmet verirken 1C şirketine herhangi bir ödeme yapmazlar (üyelik ücretleri hariç), ancak çalışanın maaşını ödemeleri gerekir. Devletin ayrıca vergilere (Emeklilik Fonu ve gelir vergisi) de para harcaması gerekiyor.

Hem 1C hem de franchise sahiplerinin lisans satmasının karlı olduğu ve daha fazla destek için kârlı olmadığı ortaya çıktı. Aynı zamanda müşterinin bir program satın alabilmesi için öncelikle programın kendi gereksinimlerine göre uyarlanması gerekir. Ama iş için para ödemeniz gerekiyor. Ve burada paradan tasarruf etmek için öğrenciler, çıraklar, uzman olmayanlar getiriliyor, onlara biraz ödeme yapılabiliyor ve bazen hiç ödeme yapılmıyor, personel olarak kaydolmalarına bile gerek kalmıyor (gayri resmi olarak çalışacaklar) , neyse ki ödenecek bir şey var). Sonuç, çok düşük kalitede çok sayıda satıştır. İyileştirmeler genellikle önemli mekanizmaları etkiler ve gelecekteki güncellemeleri karmaşık hale getirir. Ancak satış aşamasında ne 1C ne de franchise sahibi bununla ilgilenmiyor.

Bunun 1C şirketi kadar Fransız işadamlarının da hatası olmadığını belirtmek isterim. Satışa odaklandığından desteği hiç umursamadı (şu anda okullardan bahsetmiyorum, destek sağlamanın hem franchise sahibi şirkete hem de 1C'ye faydalı olması gerektiğinden bahsediyorum).

Teknik Destek. 1C şirketinin anlayışına göre teknik destek, platform ve konfigürasyonlar için "güncelleme" bölümüne ve ayrıca 1C operasyonunun bazı mekanizmaları ve özelliklerinin açıklamasını içeren bilgi bölümlerine erişimin sağlanmasıdır. Ayrıca abone olduğunuzda belirtilen materyallerin bulunduğu bir disk alacaksınız. Ayrıca bir forum da var (popüler olanlarla karşılaştırıldığında çok yetersiz). gönderme imkanı da var e-posta 1C şirketine - ancak cevap vereceklerini bile ummuyorlar (veya robot "Mektup geliştirme departmanına gönderildi" diye cevap verecek). Geliştirme açısından, Yandex.Arama ve yapılandırıcıda yerleşik yardım çok daha fazlasını sağlıyor Destek.

Sonsöz

2008 yılında 1C'ye geçtim ve ondan önce kendi muhasebe programını geliştiren bir şirkette çalıştım (Delphi 5, ardından Delphi 7). İlk olarak 1C Enterprise 7.7 platformuyla tanıştım ve rapor geliştirme kolaylığından etkilendim. Aynı zamanda raporların Delphi'deki benzer mekanizmalara göre çok daha uzun süre üretildiği açıktı, ancak muhasebeciler bu konuda özellikle endişeli değildi. Birkaç saniye yerine birkaç dakika beklemek sorun değil. Tam tersine, işten ayrılmadan orada tırnaklarınızı boyayabilir, çay içebilir veya en son haberleri tartışabilirsiniz. Sonuçta günümüzde muhasebecilerin büyük çoğunluğu kadındır.
Ancak 7.7 arayüzü çok sınırlıydı ve nesne seti çok zayıftı. Alternatifler arıyordum. Dış bileşenlerle tanıştım ama pratik kullanımını öğrenemedim çünkü... patron artık 8.1'e geçme zamanımızın geldiğine karar verdi (evet, 8.2 henüz yoktu) ve bir programcı olarak daha önce kaçırdığım her şeyi bu platformda buldum.
Şu anda meslektaşlarımın yanı sıra franchise'lardan bana gelen müşteriler arasında yetkim var. Muhtemelen bir daha Fransızlarla iletişime geçmeyecekler.


Genel olarak 1C Enterprise 8 platformunda çalışmaktan oldukça memnunum. Çoğu muhasebe ve veritabanı probleminin çözümü için uygundur.

Etiketler: Etiket ekleyin

Dahili programlama dili 1C:Enterprise- 1C:Enterprise program ailesinde kullanılan programlama dili. Bu dilönceden derlenmiş, üst düzey, alana özgü bir dildir.

Dil yürütme ortamı yazılım platformu"1C:Kurumsal". Görsel geliştirme ortamı (“Yapılandırıcı”) 1C:Enterprise yazılım paketinin ayrılmaz bir parçasıdır.

1C platformlarının 7 sürümü (7.0, 7.5, 7.7) için dil lehçeleri, küçük istisnalar dışında aşağıdan yukarıya uyumludur. 1C:7x ve 1C:8x platformlarının dilleri temel operatörlerle uyumludur, ancak uygulama nesneleriyle çalışma açısından önemli ölçüde farklılık gösterir, bunun sonucunda kodu 1C:7x'ten 1C:8x'e aktarmanın bir anlamı yoktur.

Yerleşik 1C:8 dili, söz dizimi açısından Visual Basic diline en çok benzeyen dildir.

Platform sabit bir dizi çözüm odaklı temel sınıf sağlar tipik görevler uygulama alanı:

  • Devamlı,
  • Dizin,
  • Belge,
  • Belge günlüğü,
  • Aktar,
  • Rapor,
  • Tedavi
  • Hesap planı vb.

Temel sınıflara dayalı olarak, görsel yapılandırma araçlarını kullanarak istediğiniz sayıda oluşturulmuş sınıf oluşturabilirsiniz (program aracılığıyla yeni bir sınıf tanımlama olanağı yoktur). Yalnızca bir açık düzeyde sınıf mirasına izin verilir. Tipik olarak, türetilmiş sınıfların nesneleri bir veritabanındaki kayıtları (veya bazı kayıt kümelerini) temsil eder. Bu tür sınıflar bir “Meta Veri Ağacı” oluşturur. Yerleşik 1C programlama dili açısından bu tür sınıflara meta veri nesneleri denir.

Meta veri nesnelerinin ana türleri şunlardır: Dizinler, Belgeler, Raporlar, İşleme, Karakteristik türleri planları, Hesap çizelgeleri, Hesaplama türleri planları, Bilgi kayıtları, Birikim kayıtları, Hesaplama kayıtları, İş süreçleri, Görevler.

Rusça ve İngilizce komut sözdizimi desteklenmektedir.

Yerleşik 1C:Enterprise dilindeki projelere konfigürasyon adı verilir. Bu tür konfigürasyonların dağıtımı (satışı) ve uygulanması, 1C ortak şirketlerinin ana ticari faaliyetidir.

Dilin çalışma adı - “1Sik” (“odynesik”) - resmi kaynaklardan çok hızlı bir şekilde kayboldu. Artık yazılı belgelerde bu dilden bahsederken şunu yazmanız gerekiyor: 1C Programlama Dili. Artık dilin sözlü olarak telaffuz edilebilecek bir adı yok. Ancak 1C:Enterprise tartışmaları bağlamında bu dile genellikle “yerleşik dil” adı verilir.

Nesne yönelimli lehçeler

Ana sınıfları genişleten birkaç ek bileşen vardır; bunlar serbestçe eklenebilir ve değiştirilebilir; Geliştirici firma tarafından kullanılması tavsiye edilmez. Bu, 1C ve franchise sahiplerinin herhangi bir şeyi reddettiği anlamına gelir. teknik Destek Bu tür bileşenleri kullanan yapılandırmalar.

Üstelik 1C'nin veya diğer üreticilerin herhangi bir tescilli modülünü kullanmayan tamamen ücretsiz bir 2C projesi var. Bu, GPL lisansı altında serbestçe dağıtılan, 1C benzeri bir sistemin genişletilebilir bir çekirdeği olan, "sıfırdan" yeniden yazılmış bir üründür; burada dizinler ve kayıtlar gibi 1C "yerleşik nesnelerinin" bile uygulama programcısı tarafından yeniden tanımlanan sınıflar olduğu.

2C platform dili, 1C'ye yönelik mevcut gelişmelerle maksimum süreklilik hedefiyle tasarlanmıştır ve temel 1C dilinin bir uzantısıdır. Uygun temel sınıfların yazılmasıyla 2C dili hem 1C 7.7 hem de 1C 8.0'a yakınlaştırılabilir, ancak 2C:Platform, 1C:Enterprise'ın bir veya başka bir sürümünden yapılandırmaların %100 otomatik taşınabilirliğini sağlayamaz.

1C.Net:Kurumsal

1C.Net:Enterprise'ın kullanımını kolaylaştırmak için, yerel .NET kontrollerini 1C formlarına entegre etme örnekleri de dahil olmak üzere neredeyse tüm .NET çerçevesini kapsayan birçok örnek hazırlanmıştır.

Örnek program

Yerleşik 1C:Enterprise 7.7 dilinde bir metin dizisinin çıktısının alınmasına ilişkin klasik bir örnek:

Rapor("Merhaba Dünya!");

Bir sayının karesini döndüren bir fonksiyon örneği:

İşlev KareSayı (sayı)

sayıyı döndür *sayıyı;

Son Fonksiyon

Ayrıca bakınız

  • RSL, RS-Balance'da yerleşik bir programlama dilidir.

Notlar

Bağlantılar


Wikimedia Vakfı. 2010.

Diğer sözlüklerde “1C:Enterprise yerleşik programlama dilinin” ne olduğuna bakın:

    Yerleşik programlama dili 1C:Enterprise Dil sınıfı: prosedürel, alana özgü Yürütme türü: önceden derlenmiş Yazar(lar): 1C En son sürüm: 1C:Enterprise 8.2 Veri yazma: dinamik yazma Temel ... ... Wikipedia

    Programlama dili, yazmak için tasarlanmış resmi bir işaret sistemidir. bilgisayar programları. Bir programlama dili, programın ve eylemlerin görünümünü tanımlayan bir dizi sözcüksel, sözdizimsel ve anlamsal kuralları tanımlar, ... ... Vikipedi

    Dil, çoğu yaygın dilin aksine, kullanılmayan bir programlama dilidir. anahtar kelimeler, İngilizce kelimelerden alınmıştır. İçindekiler 1 İngilizce'ye dayalı programlama dillerinin hakimiyeti ... Wikipedia

    Temel alınmayan programlama dilleri ingilizce diliÇoğu yaygın dilden farklı olarak İngilizce kelime dağarcığından alınan anahtar kelimeleri kullanmayan programlama dilleri. İçindekiler 1 Yazılım dillerinin üstünlüğü ... Wikipedia

    İngilizce tabanlı olmayan programlama dilleri, çoğu yaygın dilin aksine İngilizce kelime dağarcığından alınan anahtar kelimeleri kullanmayan programlama dilleridir. İçindekiler 1 Dillerin üstünlüğü ... ... Wikipedia

    Programlama dili, program yazmak için tasarlanmış resmi bir işaret sistemidir. Bir program genellikle uygulayıcının (örneğin bir bilgisayarın) anlayabileceği bir biçimde bazı algoritmaları temsil eder. Programlama dili seti belirler... ... Vikipedi

    Tarafsızlığı kontrol edin. Tartışma sayfasında ayrıntılar olmalı... Vikipedi

    - (İngilizce Değişken tür) nesne yönelimli programlamada karmaşık bir veri türü olup, değerleri (genellikle nesneler) oluşturulduktan sonra özelliklerinin değiştirilmesine izin verir. İçindekiler 1 Örnekler ... Vikipedi

    Dil sınıfı: prosedürel, nesne yönelimli Yürütme türü: yorumlanmış Ortaya çıktığı yer: 1994 Yazar(lar): Sergey Kubrin Dosya uzantısı: mac ... Wikipedia

Kitabın

  • 1C: Kurumsal 7.7. Programlama dersleri. Kendi kendine kullanım kılavuzu45, Postovalov Sergey Nikolaevich, Postovalova Anastasia Yuryevna, 1C:Enterprise 7.7 sisteminin yönetimini, muhasebeye girişi, yerleşik dili ve sistemin ana temel nesnelerini anlatır. Nesnelerle çalışmanın özellikleri dikkate alınır... Kategori: Uygulama yazılımı Seri: Kendi kendine kullanım kılavuzu Yayıncı: BHV-Petersburg, Üretici firma:

Bu yazıda 1C programlama dilinin böyle bir yapısını ele alacağız: Döngüler.

Döngüleri düzenlemenin üç yolu vardır.

  1. Mantıksal bir ifade kullanan döngüler (mantıksal ifade doğru olduğu sürece yürütülür)
  2. Koleksiyonlar arasında döngü yapmak

Bu yöntemlerin her birine bakalım.

Döngü sayacı değişkeni kullanan döngüler

Sözdizimi:

İçin< Переменная> = < НачальноеЗначение>İle< КонечноеЗначение>DöngüSonuDöngü;

Döngüleri organize etmenin bu yöntemiyle, bir sayaç değişkenine belirli bir değer atanır. başlangıç ​​değeri ve sayaç değişkeninin değeri belirtilen son değerden küçük veya ona eşit olduğu sürece yürütülür.

Her yinelemede sayaç değeri bir artar. İşte böyle bir döngünün en temel örneği:

Sayaç için = 0 ila 1000 Döngü EndCycle;

Diğer birçok programlama dilinin aksine, 1C bir döngüdeki adımı belirtme yeteneği sağlamaz. Gerekirse döngü içindeki sayaca istenilen değer eklenerek bu yapılabilir.

Sayaç için = 0 ila 1000 Döngü Sayacı = Sayaç + 10; EndCycle;

Boolean İfadelerini Kullanan Döngüler

Sözdizimi:

Hoşçakal< ЛогическоеВыражение>DöngüSonuDöngü;

Reddet = Yanlış; GeneratorRandom = NewRandomNumberGenerator(1) ; Arıza Döngüsü Kadar RandomNumber = GeneratorRank. RastgeleSayı(0, 10); RastgeleSayı > 5 ise Başarısızlık = Doğru; EndIf ; EndCycle;

Yani döngü, beşten büyük bir rastgele sayı üretilene kadar çalışacaktır.

Koleksiyonlar arasında döngü yapmak

1C programlama dilinde koleksiyon diye bir şey var. Bir nesnenin içerdiği öğeler kümesidir.

Bu tür nesneleri bir koleksiyon olarak dahil edebiliriz: bir dizi, bir değerler tablosu, bir sorgu sonucundan bir seçim, meta veriler vb. Bu kavram oldukça gelenekseldir ancak sözdizimi asistanının her adımında görünür. Çoğu zaman, bir koleksiyonun tüm öğeleri üzerinde bazı eylemler gerçekleştirmek için sırayla yinelememiz gerektiğinde bir görevle karşılaşırız. Bu yüzden var sözdizimsel yapı:

Her biri için< ЭлементКоллекции>İtibaren< Коллекция>DöngüSonuDöngü;

Burada <ЭлементКоллекции> koleksiyondaki öğelerin sırayla yerleştirildiği bir değişkendir. Ve döngünün içinde buna göre işlenir.
Örnek olarak size bir değerler tablosunun satırları arasında geçiş yapan bir döngü vereceğim. Bırakın çağrılsın MasaÜrünleri ve şuna benziyor:

Bu tabloyu bir döngü halinde inceleyelim ve her satırda ürünün adını ve fiyatını içeren bir mesaj görüntüleyeceğiz:

Tablo Ürünlerinden Her Tablo Satırı için Döngü Adı = Tablo Satırı. İsim; Fiyat = TabloSatırı. Fiyat; Mesaj = Yeni MesajToKullanıcı; İleti. Metin = "Ürünün adı: "

Aslında aynı şey ilk seçenek kullanılarak, yani sayaç kullanan bir döngüde de yapılabilir:

Satır Sayısı = TableProducts. Miktar() ; Sayaç için = 0 Satır Sayısına Göre - 1 Döngü Tablosu Satır = TabloÜrünleri[Sayaç] ; Ad = Tablo Satırı. İsim; Fiyat = TabloSatırı. Fiyat; Mesaj = Yeni MesajToKullanıcı; İleti. Metin = "Ürünün adı: "+ İsim + "; Fiyat: " + Fiyat; İleti. Rapor etmek() ; EndCycle;

Ancak gördüğümüz gibi koleksiyon öğelerinin geçişini kullanmak çok daha basit ve kullanışlıdır

Yardımcı Operatörler

Çoğu zaman, bir nedene bağlı olarak döngünün yürütülmesini yarıda kesmenin veya devam etmenin gerekli olduğu bir durum vardır. sonraki yineleme.

Kesinti operatör kullanılarak gerçekleştirilir İptal et. Bu durumda döngünün yürütülmesi kesintiye uğrar ve kontrol, döngüyü takip eden dil yapısına aktarılır. Bir sonraki yinelemeye geçmeniz gerekiyorsa operatörü kullanmanız gerekir. Devam etmek. Daha sonra kontrol döngünün başlangıcına aktarılır. Küçük bir örnekle açıklayalım:

Sayaç = 0 için 100 Döngüyle Sayaç = 0 ise Devam Edin; EndIf ; Sayaç = 4 ise İptal Et; EndIf ; Sonuç = 1 / Sayaç; Mesaj = Yeni MesajToKullanıcı; İleti. Metin = String(Sonuç) ; İleti. Rapor etmek() ; EndCycle;

Sıfırı atlıyoruz çünkü Sıfıra bölemezsiniz. Ve değişkenin değerleri için döngü toplamda beş kez yürütülecektir. Tezgah 0'dan 4'e

Programlamaya girmek isteyen herkese, tüm programlama ders kitaplarında bahsedilmeyen bazı basit şeyleri açıklamak istiyoruz ancak 1C dilinde sıfırdan programlamaya hakim olmak isteyenlerin bunu bilmesi gerekir.

1. Bir programlama dili her şeyden önce bir Dildir.

Dil öğrenmeye başlamadan önce bu sürecin hızlı olmayacağına zihinsel olarak hazırlıklı olun. Böylece bir programlama dili öğrenmenin ne olduğunu özel olarak hayal edebilirsiniz - bu neredeyse bir yabancı dil öğrenmekle aynıdır. Okulda her şeyi okuduk yabancı Dil ve herkes bir dili bilmenin sadece bir sözlükteki kelimelerin yabancı dilden ana dilinize çevirisini öğrenmek için yeterli olmadığını çok iyi anlıyor. Örneğin, “İngilizce biliyorum” ifadesi şunları yapabilen bir kişi tarafından söylenebilir: İngilizce bir metni okuyabilir, tercüme edebilir, hatasız bir cümle oluşturabilir, kendini sözlü olarak ifade edebilir. Tercüme yabancı kelimeler Bir cümleyi doğru bir şekilde oluşturma yeteneğinin olmaması (bir programlama dilinin sözdizimini okuma), kesinlikle bir yabancı dil bilgisi anlamına gelmez. Bu nedenle, Ders 1 - bir programlama dilini öğrenmeye, o dilde tamamen uzmanlaşma hedefiyle yabancı bir dili öğrenmeye nasıl davranıyorsanız aynı şekilde davranın.

2. Pratik yapın.

Yabancı dili iyi bilen bazı kişilerin, onu kullanma pratiği yapmadan yavaş yavaş unuttuğunu mutlaka duymuşsunuzdur. 1C'de programlamanın temellerini inceledikten sonra, daha önce edinilen bilgileri kaybetmemek ve yavaş yavaş daha karmaşık görevleri üstlenmemek için her gün basit görevleri yerine getirirken pratik yapın. Becerilerinizi geliştirin.

Motivasyon varsa her iş daha iyi ilerler.Gelecekte sizin için programlama becerileri parasal bir ödüldür, aferin, kolay sosyal asansör vb. 1C Enterprise yazılım ürününün Sovyet sonrası alanda çok popüler olduğu bir sır değil. On şirketten sekizi ticari faaliyetlerini kaydetmek için 1C programını kullanıyor. Buna göre, programı sürdürecek ve iyileştirecek bir yöneticiye veya 1C programcısına ihtiyaçları var. Doğal olarak böyle bir pazarın 1C uzmanlarına ihtiyacı var. Bazen şirketler, programlama becerisine sahip, çok nitelikli olmayan bir çalışanı, kendini geliştirme koşuluyla makul bir maaş karşılığında işe almaya hazırdır. Ticari bir şirket veya franchise için çalışmak istemeseniz bile, iyi nitelikli bir programcı, serbest borsalarda iş bulabilir veya özel projeler yürütebilir. Genel olarak, bir 1C programcısı işsiz kalmayacaktır.

Giriş bölümüyle programlamanın temelleri yapılmıştı. Materyalin geri kalanı 1C dil kodunun temellerine hakim olmaya ayrılacaktır. Belki bazı bölümler çok kısaca açıklanacaktır, ancak bu materyalin amacı okuyucuyu dilin sözdizimine tamamen kaptırmak değil, daha ziyade belirli bir iskelet oluşturmak için başlangıçta uzmanları 1C dilinin mimarisine alıştırmaktır ( Base) gelecekte tüm bilgilerin asılacağı kullanıcının kafasında.