internet pencereler Android
Genişletmek

İlkel tip buleveo. İlkel Tip Boolevo, 1C tipi Boolevo'da ne anlama geliyor?

Bu makale, "1C geliştirmedeki ilk adımlar" makalelerinin döngüsünü sürdürmektedir. İlkel veri türleri ve onlarla çalışırken en yaygın özellikler hakkında konuşacaktır. Malzemeyi okuduktan sonra öğreneceksiniz:

  • Hangi veri türleri ilkeldir?
  • Satırlarla nasıl çalışabilirsiniz ve hangi özellikler dikkate alınmalıdır?
  • Sayısal ifadelerle çalışmanın incelikleri nelerdir?
  • Belirli bir değer nasıl tarif edilir? Boş bir tarih nasıl ayarlanır?
  • Tip dönüşüm nasıl çalışır?
  • Boş ve belirsiz - nedir ve fark nedir?
  • Hangi tür nesne / değişkenin nasıl belirlenir?

Uygulanabilirlik

Makale, 1C sürüm 8.3.496 platformu için yazılmıştır, bu nedenle bilgi platformun mevcut sürümü ile ilgilidir. Bununla birlikte, sürüm 8.3.6.1977'de satırlarla çalışmanın yeni özelliklerinin eklendiği belirtilmelidir. Bu nedenle, makaledeki eylemleri tekrarladığınızda, ekran görüntüsünde gösterilmeyen bazı işlevler sözdiziminin uygun bölümünde gösterilmeyen bazı işlevleri görürseniz şaşırmayın. Ayrıca, 8.3.10 platformunda eklenen yeni StringChange () yöntemiyle kendinizi tanıtırmanızı öneririz.

İlkel veri türleri ve bazı işlevleri

Aşağıdaki ilkel veri türlerini tahsis edin:

Dize sabitleri

İlkel veri türü Hat(kürek sabiti) oluşur farklı karakterler. Hather zaman alıntılarla çerçevelenmiştir. Bir dize sabiti örneği:

Mesaj. Metin \u003d "Boş Veri Var";

Şunlar. "Mevcut boş veri" hattına detaylara atanır. Metinnesne İleti. Alıntılarda çerçevelenmiş olan tek şey bir dize olarak kabul edilir.

Dize herhangi bir karakterden oluşabilir. Satırlar çok hatlı olabilir. Bu durumda, her yeni çizginin alıntılarda belirlenmesi gerekir. Örneğin:

Metin \u003d "Yanlış dolu sahne"
"Bir belge yürütmek imkansızdır";

Virgülle olan nokta sadece son satırın sonunda yerleştirilir.

Başka bir yol var - bütün metin sadece bazı tırnaklarda çerçevelendi, ancak her biri yeni hat Dikey bir şerit ile başlamalıdır.

Bu sözdizimi en sık tipik konfigürasyonlarda kullanılır. Özellikle, sorgu dilinde. Örneğin:

Request.Text \u003d.
"SEÇ
| Çalışanlar. Bir çalışan olarak isim,
| Çalışanlar. Dadinary gibi avantajlar
|
| Dizin. Çalışanlar olarak planlar
| Nerede
| Çalışanları olmayan.TehoGrup ";

Operasyonun satırlar için tanımlandığı belirtilmelidir. Bu bir aritmetik kullanım değildir, bir birleşme operasyonu denir.

Şunlar. Örneğin, iki satır birleştirmeniz gerekir, satırlar arasında "+" ifadesinin işaretidir:

Metin \u003d "Yanlış doldurulmuş talepler" + "Belge imkansızdır";

Böylece, satır yapışıyor. Birleşim işlemi doğal olarak, daha fazla satır için geçerlidir. Hatlar için diğer işlemler (çıkarma, çarpma, bölme) izin verilmez.

Dize içindeki bir kelime varsa, tırnak içinde çerçevelenmeniz gerekir, daha sonra çizginin içindeki tuhafın belirlenmesi gerekir. İkili alıntı. Örneğin:

Metin \u003d "Modüldeki Hata" "Ortak Modül1" "";

İÇİNDE bu örnek Dize üzerindeki ilk teklif açılır. Ayakta duran ikinci ve üçüncü alıntıların tırnak işaretlerini gösterir.

Ve sonunda, üç alıntı elde edilir: En son quotion dizgiyi kapatır, iki tane daha önce tırnak işaretlerini belirtir.

Çeşitli satır dönüşüm işlemleri, satırların üzerinde, birkaç ilk soldaki karakterin tanımlanmasını, birkaç aşırı doğru karakterlerin tanımını tanımlar, dize içinde substring aramak, vb.

Tüm bu özellikler yapılandırmada herhangi bir yerde mevcuttur.

Sözdizimi Yardımcısı'nda bölümdeydiler Gömülü dilin genel açıklamasıDahili fonksiyonlarDeğerlerle çalışma fonksiyonları.

İşlevler yeterli çok sayıda Ve genellikle dize sabitleriyle çalışmak için yeterlidir.

Dize işlevlerini kullanarak sorunu çözme örneğini analiz edeceğiz.

Görev:

Bir fonksiyon geliştirmek zorundadır. Keyfi bir dize, işlevin bir parametre olarak iletilir. Dizedeki semboller numaralar dahil olabilir.

Diğer boşluk belirtileri ile sınırlı olan sayı dizisi (bir veya daha fazla), pozitif bir sayıdır.

Örneğin, "72 ABC 6AP 31 54F -22" dizesi iki tamsayı pozitif sayı içerir: 72 ve 31. Boşluklara ek olarak, diğer tartışma karakterleri (tabalasyon, satır başı dönüşleri gibi) kullanılmaz. İşlev, tüm pozitif sayıların sayısını döndürmelidir.

Yönetilen uygulama modülüne yerleştirilmelidir. Sistemi başlatırken aramasını sağlamak için gereklidir. Bir değişken kullanarak dizeyi belirleyin.

Bu nedenle, kontrollü uygulama modülünü açacağız ve Konfigüratör panelindeki listeden seçim alanını seçeceğiz. Modülstandart işleyici PropaculatorySystems ().

İşleyicinin içinde değişkeni belirleyecektir Hat, Örneğin:

Satır \u003d "72 ABC 6AP 31 54F -22";

Miktar \u003d zil (string);

Tamsayıların sayısı hakkında bir mesaj vereceğiz:

Rapor ("String" + miktar + "tamsayılar");

Bu durumda, değişken numara dolaylı olarak türüne dönüştürülecek Dize sabiti. Sonra üç satır için bir birleştirici işlem gerçekleştirilecek ve bir mesaj iletilir.

Başlangıcını ve sonunu (yani şablon) işlevlerini tanımlarız. Zil (Dize).

Şimdi bir işlevi geliştirmek için olası seçeneklerden birini düşünün. Zil (Dize). Bu durumda, çizgilerle çalışmak üzere tasarlanmış bazı yerleşik özelliklerle tanışacağız.

Her şeyden önce, fonksiyonla tanışmalısınız Kodsimvol.. Bu özellik, iletilen satırda belirtilen sayıdaki konumda bulunan bir sembol kodu alır.

Sözdizimi:

Codeimvol (,)

Parametreler:

(zorunlu)

(İsteğe bağlı), kodu elde edilmesi gereken bir dizgedeki bir karakter numarasıdır. Dizedeki karakterlerin numaralandırılması 1 ile başlar.

Geri dönüş değeri:
İletilen sembolün kodu. Kod, Unicode kodlamasına göre geri döner.

Parametrenin 1 varsayılan değeri var.

Dize ayrıca bir sembolden oluşabilir. Böylece, 0 ve Kod 9 kodunu belirlemek mümkündür ve diğer tüm numaraların kodları, aralarında aralıkta, bildiğiniz gibi bulunur.

Uygun değişkenleri ve değerlerini tanımlarız:

Kod 0 \u003d Codeimvol ("0");
Code9 \u003d Codeimvol ("9");

Görevi çözmek için aşağıdaki şemayı seçin:

  1. Herhangi bir miktardaki başlangıç \u200b\u200bveya nihai boşluklar hatta mevcutsa, o zaman özel bir işlev ile onlardan kurtulacaksınız. Sonra iç mekanlar arasındaki karakter gruplarıyla ilgileneceğiz. Grup bazı numaralardan oluşursa, bu bir tamsayıdır. İlk boşluğun konumunu belirleyebileceğiniz özel bir işlev vardır.
  2. İlk boşluğun konumunu aldıktan sonra, başka bir işlevi kullanarak, boşluğun soluna bir grup karakter grubu (alt dizin) alabilirsiniz.
  3. Grubu oluşturan ve tanımlayan karakterleri analiz ediyoruz: bir tamsayı olup olmadığı. Tanımlanan tamsayılar özel bir değişkende özetleyecektir.
  4. Alanın sağındaki tüm karakterleri başka bir fonksiyonla seçerek başlangıç \u200b\u200bçizgisini köklendirin. Bu boşluk yalnız olamazdı, ancak bir sıra bir dizi boşluk serisine gidiyor, bu nedenle geri kalan çizgide, özel bir işlev, tüm aşırı sol boşluklardan (üst üste gidiyor) ve 2. paragrafa geri dönecek. Paragraf 2'den Paragraf'tan 4, Dize'de boşluk olmayacak olana kadar paragraf 4'e kadar tekrarlayacaktır. Bu durumda, kısaltılmış dize analiz edilen karakterlerin son grubu olacaktır.

Şimdi sorunu çözmemiz gereken işlevleri analiz edeceğiz.

Sokrlp
Sözdizimi: COPLP ()
Parametreler: (zorunlu).
Satırdaki ilk karakter sembolünün solundaki ve satırdaki son işaret sembolünün sağında duran boşlukları (önemsiz karakterler) keser.

Bulmak
Sözdizimi: Bul (,)
Parametreler: (zorunlu), (zorunlu).
Substring bulunan ilk işaretin konumunu döndürür.
Dizedeki karakterlerin numaralandırılması 1. Dize belirtilen alt diziyi içermiyorsa, 0 döndürülürse 0 döndürülür. Bizim durumumuzda, bir alet olarak bir alan kullanacağız ("").

bir aslan
Sözdizimi: Aslan (,)
Parametreler: (zorunlu), (zorunlu).
İlk sol string sembollerini seçer. Bu özellik ile analiz için karakter tanımlayacağız (ilk boşluğa sola).

Strotina
Sözdizimi: Strotina ()
Parametreler: (zorunlu).
Dizedeki karakter sayısını alır. Dizenin uzunluğunu belirlemek için kullanacağız.
İşlev Kodsimvol.Daha önce açıklanan tam sayı olan karakter gruplarını belirlemek için kullanılacaktır.

Sağ
Sözdizimi: Haklar (,)
Parametreler: (zorunlu), (zorunlu).
Dize sembollerinin aşırı sağını seçer. Bu özelliği kullanarak, bir RAW satır bölümü tahsis edeceğiz.

Sokrel
Sözdizimi: Sokrel ()
Parametreler: (zorunlu).
Aralar boşluklar (önemsiz karakterler), satırdaki ilk anlamlı sembolün solundan ayakta durur. Hattın kalan kısmının solundaki olası boşlukları gidermek için bu özelliği kullanıyoruz.

Aşağıda, yorumları olan özelliklerin olası bir algoritmasıdır.

Sayısal ifadeler

Sayısal, değişken modüller ve veritabanı nesnelerinin detayları olabilir.
Numara için bit bir sınırlaması var. Sayısal sahne için, bütün parçanın uzunluğu 32 karakteri aşamaz.

Kesirli parçanın doğruluğu 10 haneyi geçemez. Değişken tarif edildiğinde ve sayısal değer ona atanırsa, o zaman hiçbir yerde deşarj değildir. Ancak, değişkenler için ayrıca sınırlamalar vardır.

Asistan sözdizimi, sayı için izin verilen maksimum bit oranının 38 karakter olduğunu söylüyor. Böyle bir sınırlama, herhangi bir ekonomik görevin çözümüne müdahale etmez, yani. Herhangi bir para bu numaralarla tanımlanabilir.

Bununla birlikte, bazı matematiksel görevleri çözmek için büyük değerleri tanımlamanız durumunda, daha sonra programlama teorisinde, mevcut kısıtlamalara dayanarak herhangi bir boyutla numaraları tanımlamanıza izin veren algoritmalar vardır.

Sayılar için geçerli olan işlemler:

  • geleneksel aritmetik işlemler (-, +, *, /). Çarpma ve bölünme, ek ve çıkarma işleminden daha fazla önceliğe sahiptir. Parantezler en yüksek önceliğe sahiptir. Hala UNIRY operasyonları + ve - önceliği derhal parantezlerin arkasına geçti;
  • "Bölünmeden kalıntı" (%). Örneğin,% 12 5 \u003d 2;
  • sayılar için kullanılabilecek matematiksel işlevler (trigonometrik fonksiyonlar, karekonominin yapısı, belirtilen bite yuvarlama, sayının bütün kısmını seçin)

Sayısal değerlerin doğruluğu hakkında konuşursak, veritabanı ayrıntılarına gelince, burada doğal sınırlamalar vardır.

Ancak değişkenler için bir özellik var. Aslında, değişkenlerde çok büyük sayılarla çalıştırılabilir, ancak bilgi tabanında, tüm parçanın uzunluğu olan değerler 32 karakterden fazla değildir.

Boole değerleri

Buleveo verilerinin türüne gelince, elde edilebilecek yalnızca iki hakikat ve yalan var. farklı yollar.

Örneğin, sayıların veya tarihlerin karşılaştırma işlemlerini kullanabilirsiniz. Sonuç olarak, gelecekte koşullu operatörlerde ve döngü operatörlerinde kullanılan gelecekte olan bazı Boolean anlamı elde edilecektir.

Tarih türü değişmezleri

Tarihi tanımlamak için iki yol var. Onlardan biri değişmezlik kullanıyor. Edebi, tek tırnak içinde yazılmıştır.

İlk önce bir yıl, sonra bir ay ve sonra gün.

Gerekirse, zamanı belirleyebilirsiniz, çünkü 1C sistemde: Kurumsal 8 Herhangi bir tarih, tarih ve saati içerir. Örneğin:

Veri Dock \u003d '20140315121020';

Zaman belirtilmezse, varsayılan olarak sıfırdır. Tarih açıklamasında, herhangi bir ayırıcı kullanabilirsiniz. Örneğin:

DataDociation \u003d '2014.03.15';

Tarihi belirlemenin ikinci yolu, küresel bağlamın işlevini kullanmaktır. Tarih (). Bu durumda, bu işlevi aynı şeyin parametreleri olarak iletiyoruz: yıl, ay, virgülden sonraki gün.

Ayrıca zaman belirleyebilirsiniz. Belirtmezse, o zaman günün varsayılan günü olacaktır.

Sistem 1C'de: Kurumsal 8 Boş bir tarih, takvimin en başlangıcıdır. Kayıt seçenekleri:

Lanet \u003d '00010101';
Lanet \u003d tarih (1,1,1);

Ve aynı giriş aynı sonucu iade edecek ve bu tarih boş olarak kabul edilecektir.

Fonksiyon Kolaylığı Tarih () Bununla, belirli değerlere değil, bazı değişkenlere iletebiliriz. Bunlar, bazen farklı değişkenler toplayarak tarihi tasarlıyoruz.

İşlemin uygulandığı tarih için. Ekleme işlemi, belirtilen saniye sayısının tarihine eklenir.

İlkel veri türlerini dönüştürme

Birkaç değişkenin toplandığı atama ifadesinde (örneğin, Değişken \u003d A + IN + ile) İlkel veri türlerini dönüştürmek mümkündür. Veri tipi dönüşüm, ilk veri türünün değeri ile gerçekleştirilir.

Böylece, ilk veri türü bir dize ise, sistem tüm bu ifadelerden bir dize yapmaya çalışır. İlk veri türü numara ise, daha sonra, sistem sayısal bir veri türü elde etmeye çalışır.

Ve böylece, satır + number \u003d dize. Bazen sayı, bazı sayısal değer dizeden izole edilebilir (örneğin, 123 + "456") ise bir dize ile katlanabilir.

Mantıksal veri türü için geçerli ifadeler:

Gerçek ve 1 \u003d gerçek;
Gerçek ve 0 \u003d yalanlar.

Herhangi bir sayı sıfır gerçeğe dönüştürülür, 0 bir yalana dönüştürülür.

Daha önce belirtildiği gibi, bir numara ile katlanabileceğiniz tarih. Tarih, Boolean veri türüyle de katlanabilir.

Bu durumda, gerçek 1'e ve 0'da bir yalan döndürülür.

Operatörlerdeki türleri dönüştürme ek olarak, ilgili işlevleri kullanarak türlerin net bir şekilde dönüştürülmesi vardır: Satır (), sayı (), tarih (), booleo ().

İçin Dizeherhangi bir veri türü dönüştürülür.

Numara bir satırdan veya Boolevo'dan elde edilebilir. Boolevo dönüştürüldü: 1'de gerçek, 0'da yatıyor.

Tarihe göre, bir tarih değeri olursa, bir dize girebilirsiniz. Örneğin, tarihi ("20140315"). Daha önce belirtildiği gibi, dönüşüm pozisyonlara göre mümkündür:

Tarih (,).

Boolean'da, numarayı ve Boolean'ın değerini dönüştürebilirsiniz.

Bu işlevler, açık bir tür dönüşüm yapmak için program kodunda kullanılabilir.

İlkel veri türleri numarası, string, tarih ve Boolean veritabanı alanları olarak hareket edebilir.

Boş değerler ve belirsiz

Null bir değişmezdir. Kural olarak, iki veya daha fazla tablo bağlandığında, veritabanı sorgularında kullanılır.

İkinci tabloda kayıtları eksiktir ve NULL tipi değeri ile doldurulur. Şunlar. Bu eksik bir değerdir.

Gelecekte, sonuçlanan sonucu işleme koyarken, bu, null sıfır olmadığından, ancak karşılık gelen veri türü olarak dikkate alınmalıdır.

Tedavi etmek için, null herhangi birine yol açması gerekir. sıradan tip Aritmetik işlemlerde çıktı veya kullanılabilecek veriler.

NULL tipinin değeri gömülü dilde elde edilebilir. Bir değişkeni tanımlayabilir ve Boşluğun değerini atayabilirsiniz. Ancak, program kodundaki bu atama neredeyse hiç kullanılmaz.

Şunlar. NULL, gerçekten de isteklerle çalışırken elde edilen veri türüdür. Sorgu dilindeki boş değer farklı şekilde çalışılmalıdır.

Yani, sorgu düzeyinde bir karşılaştırma olmayacak bir \u003d , uzman işlevleri kullanmanız gerekecektir. Bununla birlikte, gömülü dilde, Null değerinin karşılaştırılması doğru şekilde çalışacaktır.

Veri türü tanımsız - bu, herhangi bir ayrıntısının boş bir değeri değil.

Örneğin, referans kitabının kaydı bir veri türü olarak başka bir dizine bağlantısı varsa, bu sahnelerin boş değeri eşit derecede belirsiz olmayacaktır.

Bu tip (Belirsiz), öncelikle, belirli bir değişkenimiz varsa ve başlatılmazsa (veri türü tanımlanmamıştır).

İkinci örnek: Veri türü, eylem yürütülemiyorsa, birçok gömülü dil işlevi tarafından süresiz olarak döndürülür.

Örneğin, herhangi bir referans kitabının öğenin bu adına sahip olmadığı durumdaki ada referansın bir öğesini arar. Yöntem Yapı temeli değeri döndürecek Tanımsız.

Burada Tanımsız Bu anahtar kelime, kırmızı olarak vurgulanır. Bu aynı zamanda yazmak için bir de değişmez Tanımsız Herhangi bir alıntı, virgül, parantez vb. Kullanmaya gerek yok.

Belgelerin bir listesi varsa ve bu liste boştur (içinde, sırasıyla dizge yok), sonra akım ipi değer alacak Tanımsız.

Eğer içeride bilgi tabanı Kompozit veri türüne sahip bir şart var, daha sonra bu sahnelerin boş değeri eşit olacak Tanımsız.

Ancak, veri türü bileşik değilse, boş değer, bu türün boş değerine karşılık gelecektir (tarih için ilk yılın ilk gününün ilk saatinin ilk saniyesidir).

Boş ve belirsiz - bunlar bu türdeki veri ve değer türleridir ve bir tanedir. Null için, bu , belirsiz - süresiz olarak.

Tip Veri Türü

Bu veri türünün ana uygulaması, belirli bir değişken veya veritabanı ayrıntılarının değerini belirli bir türde karşılaştırmaktır.

Şunlar. Algoritmanın bu nesnenin ne türünü anlamaları gerekir.

Bu tür verinin değişmez olmadığı dikkat çekicidir. Boş veya belirsiz gibi yazamayız, ancak bu türün anlamını iki fonksiyonla bulabiliriz. Bir türve Tipik.

Bazı nesnelerin bir türünü elde etmek için (değişken veya veritabanı sahne veya Form Formları olabilir), bir işlev kullanılır Tipik.

Bu nesne, veri türü almak istediğiniz bu işleve iletilir.

İade edilen bir değer olarak, bu fonksiyon tam olarak tür tipi döndürür.

Gelecekte, herhangi bir faiz nesnesiyle karşılaştırılmalıdır. Örneğin:

Typny (Element) \u003d Tip ("Dandermander Shipture. Nomenculture") ise
Rapor ("bu mal");
Bitti;

Sonuç olarak, tüm kapalı malzemeyi özetleyelim.

Dahili 1C dilinin temel tasarımına baktık, değişkenlerin ve operatörlerin nasıl kullanılacağını öğrendim, hangi işlem ve işlevlerin nasıl kullanılacağı. Çoğunlukla tüm program kodumuzun bu anın kendiliğinden yeterli olduğunu unutmayın - hepimiz kendilerini sıfırdan ve en azından bazı yapılandırma veya yerleşik dillerde kendilerini yazdık.

Bir sonraki makalede, bu nesneleri daha ayrıntılı olarak inceleyeceğiz, bu yüzden geçiş yapmayın! ;)

Merhaba, Sevgili Blog Okuyucular Sitesi! En son Dahili dilde dikkat ettik: 1C: Kurumsal 8. Bugün hemen iki ikide devam edeceğiz ve konuşacağız. veri Türü - Boolean ve TarihAyrıca onlarla nasıl çalışacağınızı da düşünün. Yani, başlayalım!

İlgili veri Tipi Booleo, her şey burada oldukça basit. İki anlam var Doğru ve Yanlışbu çeşitli şekillerde elde edilebilir. Örneğin, karşılaştırma işlemlerini kullanabilirsiniz:

  • 101\u003e 1001 eşittir Yanlış
  • 101 gerçek
  • '20000101' \u003d '20000102' eşit olarak Yanlış
  • 'Açık "açık" eşittir Doğru

Gördüğünüz gibi, çeşitli karşılaştırma işlemleri numaralarını, satırları, tarihleri \u200b\u200bkullanabilirsiniz. Sonuç olarak, koşullu operatörlerde ve döngü operatörlerinde sıklıkla kullanılan bazı Boolean değeri elde edilecektir.

Şimdi düşünün İlkel Veri Türü Tarihi. Veri türünü tanımlamak için tarih Genellikle iki yol kullanılır. İlk, değişmez kullanımı. "Geçerli veri" olarak adlandırılacak bir değişken ilan edelim. Örneğin, 2 Ekim 2014'e eşit olacaktır. Bu durumda, tarih formatı yıl / ay / gün kullanılır.

Akışlı \u003d "20141002"; // 02.10.2014

Bir ihtiyaç varsa, zamanı belirleyebiliriz, çünkü 1C sistemde: Kurumsal 8 Herhangi bir tarihte ve tarih ve saat içinde bulunur. Bu nedenle, gerekirse, örneğin, bu sefer: 15 saat 5 dakika ve 50 saniye belirtebilirsiniz. Bir yıl / ay / gün / saat / dakika / saniye çıkacaktır.

Akışlı \u003d '20141002150550'; // 02.10.2014 15:05:50

Zamanı belirtmezseniz, o zaman varsayılan olarak sıfır olacaktır ve tarih burada burada açıklanabilir: '20141002'.
Netlik için, herhangi bir ayırıcı, örneğin "." Puanları kullanılabilir. Bu nedenle, tarih böyle görünebilir: '2014.10.02'. Tarihi tanımlamak için ilk yoldu. Lütfen, tek alıntıların kullanıldığını, yani, kırılamaz bir değişmez olduğunu unutmayın. Tek tırnak içinde yazılmıştır.

Tarihi belirlemenin ikinci yolu, küresel bir bağlam fonksiyonunun kullanımıdır. Tarih (). Bu durumda, bu fonksiyonun parametresi aynı şekilde iletiyoruz: yıl / ay / gün. Parametrelerin burada virgülle belirtilmesi gerekir.

Akışkan \u003d tarih (2014, 10, 02); // 02.10.2014 00:00:00

Ayrıca zaman belirleyebilirsiniz.

Akışlı \u003d tarih (2014, 10, 02, 15, 05, 50); // 02.10.2014 15:05:50

Zaman belirtmezse, o zaman günün başlangıcına eşit olacaktır. Ayrıca aşağıdaki aramayı bu özelliğe de yazabilirsiniz:

Mevcut) \u003d Tarih ("20141002150550"); // 02.10.2014 15:05:50

Formattaki Tarih içermesi gereken bir dizgeli bir parametre kullanır: yıl / ay / gün / saat / dakika / saniye.

Sistem 1C'de boş bir tarihi tanımlamak için: Kurumsal 8 aşağıdaki gibi yapılmalıdır:

Lanet \u003d ""; // 01.01.0001 00:00:00

Veya açıklamayı değişmez olarak kullanmak:

Lanet \u003d "00010101"; // 01.01.0001 00:00:00

Başka bir yol, zaten bize tanıdık küresel bağlam işlevini kullanarak:

Boş Tarih \u003d Tarih (1, 1, 1); // 01.01.0001 00:00:00

Bu yöntemlerin kullanımı aynı sonucu geri getirecek ve tarih boş olarak kabul edilecektir. Fonksiyon Kolaylığı tarih Burada spesifik değerler değil, değişkenler olmayacağımızdır. Bazen farklı değişkenler toplayarak bir tarih almanız gerekir. Bunun için çok iyi fonksiyona yardımcı olur tarih.

Ayrıca, operasyonun tarih için geçerli olduğunu not etmek istiyorum. On TIT numarasına ekleniyorsa:

Akışlı \u003d tarih (2014, 10, 02, 15, 05, 50); // 02.10.2014 15:05:50 Akan \u003d akan + 10;

Sonuç olarak, tarihi on saniye daha alacağız:

02.10.2014 15:06:00

Bu nedenle, ekleme işlemi belirtilen tarihe ekler belli bir miktar saniyeler. Bu, 1C: Kurumsal 7.7 sürümünün farkıdır: tarihleri \u200b\u200bkatlanırken ve saniyelerde değil, gün sayısının eklendiği.

Sadece programlamaya başlayan birçok kişi, ilk önce kendileri için yeni bir ilkel türle karşı karşıya kaldı boolean. Hala onu farklı aradı mantıksal tip . Bu tür, matematiksel mantıkla ilgili sorunları okuyan İngiliz Matematik George Bul'su'ndan sonra adlandırılır.

Bu ilkel türü incelemeye başlamadan önce, boolean veya mantıksal ifadelerin ne olduğunu öğreniyoruz.

Boolean ifadeleri, açık olmayan cevap veya evet olması gereken bir soru gibi bir şeydir.

5 < 7 — Да;

5 \u003d 8 - Hayır;

4\u003e 9 - hayır.

Daha karmaşık sorular da olabilirim:

Düğmeye basıldı - evet;

Düğmeye basıldı - Hayır;

Boolean ifadeleri tüm şartlı geçişlerde kullanılır:

Eğer bir< Булево выражение1> sonra

// operatörler

Aksilik< Boolean metre2.\u003e o zaman

// operatörler

Bitti;

Programlama dilinde 1C değişkeninde ilkel tip Boolean ile, açıkça ayarlayabilirsiniz:

A \u003d gerçek;

B \u003d false;

Gerçeğin ve yalanların, ilkel Boolean türünün alabileceği tek değerlerdir.

Gerçek şu ki, bazı ifadelerin doğru olduğu anlamına gelir (cevap - evet).

Yalanlar - Aksine, bazı ifadelerin gerçeğe karşılık gelmediği anlamına gelir (cevaptır).

Ayrıca, Boolean tipine sahip değişkenler, herhangi bir mantıksal ifade kullanılarak belirtilebilir.
Örneğin:

A \u003d 5.< 7 ;

B \u003d 6\u003e 9;

Bu durumda, bir değişkende ve gerçeğin değeri olacak ve bir değişken B tipi B - Yanlış;

Programlama dilinde 1C yukarıda değişkenler Türü Boolevo çeşitli işlemler yapabilir.

Örneğin:

A \u003d 5.< 7 ;

B \u003d 6\u003e 9;

B \u003d a ve b;

C \u003d a veya b;

D \u003d değil bir;

Toplam üçü - ve ya da değil.

Aşağıdaki tablolar, bu işlemlerin işlevselliğini anlamaya yardımcı olacaktır.

Operasyon ne.

FAKAT B.
Doğru Yanlış
Yanlış Doğru

Operasyon I.

C \u003d a ve b FAKAT B.
Doğru Doğru Doğru
Yanlış Yanlış Doğru
Yanlış Doğru Yanlış
Yanlış Yanlış Yanlış

Operasyon veya

C \u003d a veya b FAKAT B.
Doğru Doğru Doğru
Doğru Yanlış Doğru
Doğru Doğru Yanlış
Yanlış Yanlış Yanlış

Bu işlemleri üst üste yapmak mümkün mü?

Evet, yapabilirsin, bu işlemler soldan sağa doğru yapılır. Ve aşağıdaki kıdem seviyesine sahip olmak:

İlk: Her şeyden önce, operasyonlar parantezlerde yapılır.

İkincisi: Operasyon değil

Üçüncüsü: Çalıştırma ve

Dördüncü: Çalıştırma veya.

Operasyonlarda karıştırılmaması için, sadece mümkün olan yerlerde parantez kullanmanızı tavsiye ederim.

Örneğin:

A \u003d yanlış;

B \u003d gerçek;

C \u003d false;

D \u003d a ve c veya b;

Bu durumda, operasyon ilk çalışacak VEa ile C arasında

Masaya bakıyoruz a - Yanlış, - Yanlış, Sonuç A. VEC olacak Yanlış.

Bir sonraki adım, operasyonun yürütülmesi olacaktır. VEYAarasında Yalan(Önceki işlemin sonucu) ve B değeri, hangisi Doğru.

Sonuç olacak Doğru.

Ve önce ameliyatı geçmemiz gerekirse VEYAc ve B arasında, sonra sadece işlem VEa ile ne olursa olsun, parantez kullanmak gerekir.

A \u003d yanlış;

B \u003d gerçek;

C \u003d false;

D \u003d a ve (s veya b);

Sonuç, çapı olarak karşı çıkacaktır. Neden? Şimdi analiz edeceğiz. Parantez sayesinde, işlem ilk önce C ve B arasında gerçekleştirilir, çünkü - Yanlış, ve B - Doğru, sonuç olacak Doğru. Sonra A değeri arasında (ki Yanlış) ve anlam Doğru(önceki operasyonun sonucu) işlem işlemleri VE. Sonuç olacak Yanlış.

Birçok acemi programcı, Buleveo tipinin değişkenleri arasındaki etkileşim ilkelerini tamamen anlamaz. Sadece pratik yardımcı olabilir. Ve görev kitabımda yeterince değişken tipi Bolevo ile

1C'deki konfigürasyonun temelini öğrenin ve "1C: Kurumsal" da programlamayı öğrenin: ve "1C'de Kalkınma Temelleri: Taksi"

1C'de Programlamayı Keşfedin "1C'de 11 adımda" Program "Programı"

  1. Kitap anlaşılır ve basit dil - Acemi için.
  2. 1C'nin mimarisini anlamayı öğrenin;
  3. 1C dilinde kod yazacağız;
  4. Ana programlama tekniklerini aydınlatır;
  5. Görev kullanılarak elde edilen bilgileri güvence altına almak;

Hem yeni başlayan geliştiriciler hem de deneyimli programcılar için, yönetilen bir uygulamada mükemmel geliştirme ödeneği.

  1. Çok uygun ve anlaşılabilir bir sunum dili
  2. Kitap tarafından gönderildi e-posta içinde pDF formatı. Herhangi bir cihazda açılabilir!
  3. Yönetilen başvurunun ideolojisini 1C anlayacaksınız.
  4. Yönetilen bir uygulama geliştirmeyi öğrenin;
  5. Gelişmeyi öğren kontrollü formlar 1c;
  6. Kontrollü formların ana ve gerekli unsurlarıyla çalışabilirsiniz.
  7. Yönetilen bir uygulamanın altında programlama anlaşılabilir hale gelecektir

% 15 indirim için promo kodu - 48pvxheyu.


Bu dersin bir sorun çözmesini sağlamak için yardım ederseniz, onu sevdim ya da kullanışlı, o zaman projemi destekleyebilir, herhangi bir miktarda dinleyebilirsiniz:

el ile ödeme yapabilirsiniz:

Yandex.Money - 410012882996101
Web Para - R955262494655

Gruplarıma katıl.

Kural olarak, herhangi bir programlama dilinin incelenmesi, birinci yazma örneğiyle başlar. en basit program ("Selam Dünya!"). Bu, işi temel sözdizimi tasarımları ile görsel olarak göstermek için yapılır. Yeni bir geliştirme ortamı okurken bir malzeme dosyalama yöntemine bir istisna yapmayacağız ve bu nedenle ilk makalemiz aynı damarda düşünülmelidir. 1C'de programlama ile ilgili aşağıdaki soruların cevaplarını detaylı olarak detaylı olarak: Kurumsal 8 platformu:

  • Yerleşik 1C dilinde program kodu yazmanız nerede ve nelerdir?
  • Ne yazılım ModülleriOnlarla çalışmanın kuralları nelerdir?
  • Değişken nedir, onunla nasıl çalışılır, nasıl ve nerede ilan edilecek?
  • Hangi karşılaştırma operatörleri, ödevler ve koşullar var ve bunların nasıl uygulanacağı?
  • Boolean operasyonları - bunları nedir ve onlarla nasıl çalışılır?
  • Neden döngülere ihtiyacınız var ve nasıl kullanılır?

Makale, 1C: Enterprise 8 platformunda henüz gelişime aşina olmayanlar için faydalı olacaktır, ancak 1C için program yapmayı öğrenmek istiyor.

Uygulanabilirlik

Malzeme, sürümlerin 8.2'sinin "1C: Enterprise 8" ile ilgilidir. ve 8.3.

Değişkenler ve Operatörler

Bu yazıda, Dahili Dili 1C'yi incelemeye devam ediyoruz: Kurumsal 8. Yürütülebilir kod yazılım modüllerinde bulunur.

Çeşitli olayların işlenmesi için tasarlanmış yeterince çok sayıda modül vardır.

Bu nedenle, kullanıcının girişi bir modülde işlenir ve kullanıcının bazı düğme için basılmasını tamamlamak tamamen farklıdır.

Böylece, her modül yapılandırma davranışını belirli bir noktada açıklar. Modül, her şeyden önce, değişken açıklama bölümünü içerir. Şunlar. Modüldeki bazı değişkenleri ilan edebiliriz.

Gelecekte, bu modülün prosedürleri ve işlevlerinde kullanılabilirler. Değişken anahtar kelime dışa aktarımı ile tanımlanırsa, dışarıda mevcut olacaktır. bu modül. Değişken Duyuru Hatları Örneği:

Depo, Bölüm, Storkeeper ihracatı;

Değişkenleri ilan ettikten sonra, prosedürleri ve işlevleri içerir.

Bunlar için bu modüle referans sırasında gerçekleştirilecek olan ana programın bölümüdür.

Örneğin, ana program bölümünde, değişkenleri başlatabilirsiniz, yani. Bazı ilk değerleri atayın:

Durum \u003d 1;
Rejenerasyon \u003d 2;
Sonuç \u003d 3;

Modül, ihtiyacımız olan farklı eylemleri gerçekleştiren çeşitli operatörlerin bir kombinasyonu olarak gösterilebilir.

Operatörlerin ayırıcısı ";" sembolüdür. (noktalı virgül). Bu işaret, operatörün sonunun bir işaretidir. Şunlar. Operatör bu formda kaydedilebilir:

Sonuç \u003d 100x200
+400
-600;

Operatörün kaç satırda bulunmadığı önemli değildir.

Tabii ki, daha sık bu daha uygundur ve operatörü bir satırda temizler, ancak bazen operatörler yeterince uzundur (satır sayısı makul bir şekilde birkaç ona ulaşabilir).

Virgülle olan nokta, örneğin prosedürlerin bu tasarımın son operatörüne yerleştirilemez. Şunlar. Aşağıdaki kod çalışacaktır:

Bilgi İşlem Prosedürü ()

Çıkış \u003d 100;
Aracı \u003d Başlatma / 5;
Toplam Eğim \u003d Genişletme + Ara

Ekstrüdreler

Ancak, son operatörde virgül noktası kullanmak daha iyidir. Tasarımın devam edeceği zamanın devam etmesi mümkündür ve nihai operatör artık kesin değildir. Bu durumu özellikle izlemeliyiz.

Değişkenler, herhangi bir veri türünün bazı değerlerini saklamak için tasarlanmıştır. İşleme için ara bilgi depolama alanlarına kullanılırlar.

Pratik olarak, bazı eylemleri gerçekleştiren herhangi bir yazılım modülünde, çeşitli değişkenler vardır. 1C platformda değerlerle değişkenlerin tiptahası: Kurumsal 8 Yumuşak.

Örneğin, değişken bir veri türünün değerini içerebilir ve birkaç satırdan sonra - başka bir tür:

Oluşturuldu \u003d yanlış;
Oluşturuldu \u003d gerçek;
Oluşturuldu \u003d 100;

İlk iki operatörde, değişkenlerin Boolean'ın değeri ve üçüncüde bir sayısal değerde değişir. Şunlar. Tipnasyon, bu değişkene atanan değere bağlıdır.
Değişkenleri iki şekilde tanımlayabilirsiniz:

  • Örtük bir yöntem (atama operatörünün sol tarafında belirtilen, bu değişkeni açıklar, değişkenin AG kelimesiyle birlikte ön açıklaması yoktur, yani değişken açıklamalarının özel bir bölümü yoktur);
  • değişkenlerin açık açıklaması (MC kontrollü;). Örneğin, değişkenlerin açık bir açıklaması kullanılır, örneğin, bu değişkenin fonksiyona aktarılması varsayılır.

Değişken isimleri için, klasik bir tanımlayıcı açıklaması kullanılır. Tanımlayıcı, harflerden, sayılardan ve alt çizgiden oluşur. Tanımlayıcı, harfle ya da alt çizgiden başlamalıdır.

Bu durumda, değişkenin adı bu değişkenin anlamını göstermelidir. Bir harften değişkenlerin isimleri (A tipi, B, C) kötü örneklerdir. Değişkenlerin özünü yansıtmazlar.

Değişkenlerin doğru adının örnekleri: sayaç (döngü için değişkeni), karşı taraf. Değişken adı birkaç kelime içeriyorsa, her yeni kelime, netlik için, büyük harfle başlamalıdır.

Değişkenler adına, prosedür, işlev, döngü, EndAckel vb. Gibi ayrılmış kelimeleri kullanmak imkansızdır. (Bu tasarımlar kırmızı tabanlı bir yazılım modülünde vurgulanır).

Ayrılmış kelimeler, gömülü dilin operatörleridir ve yeterince az miktarda. Hepsi teslim edilir Sözdizimi asistanı.

Ayrılmış kelimeler için veri türlerinin (örneğin, bir dizi, boolean, gerçek, yalanlar) ilişkili olmadığı belirtilmelidir. Sistem bu tür değişken isimleri doğru olacaktır.

Bir program kodu yazmak için kayıt önemli değil. Örneğin, Word Prosedürü hem büyük hem de küçük harflerle yazılabilir. Ayrıca, büyük ve küçük harfler kelimenin içinde değişebilir.

Platform için önemli değil. Bununla birlikte, iyi ton kurallarına göre, kelimenin başlangıcı büyük harfle yazması gerekir, diğer tüm harfler küçüktür.

Dil ile ilgili olarak. Rus dilini ve İngilizce'yi ve iki dilin birleşimini kullanabilirsiniz. Birisi uygunsa, bir program kodu yazmak ve Rusça ve İngilizce birleştirmek için İngilizce'yi güvenle kullanabilirsiniz. Platform için önemli değil.

Birçok isim ingilizce dili Hatırlanması oldukça zor. İki dilin bir kombinasyonunu kullanırken, program kodunun okunabilirliği kötüleşir.

Boole operasyonları

Karşılaştırma operatörlerinde, Boolean mantığı çok sık kullanılır, bu da gerçeğin değerini veya yanlış değerini döndürür.

Örneğin, şartlı açıklamada, karşılaştırabilirsiniz: eğer bir olay \u003d satış ise, algoritma bir şubeye (gerçeğin değeri olan), duruma göre, algoritmanın başka bir dalı yapılır.

Koşullar oldukça karmaşık olabilir, bunlar birleştirilebilir, aşağıdaki operatörler kullanılır: ve veya değil. Yani, operatör için ve:

Gerçek ve gerçek \u003d gerçek;
Gerçek ve yalanlar \u003d yanlış;
Yalan ve gerçek \u003d yalanlar;
Yalanlar ve yalanlar \u003d yalanlar.

Bir defrost veya yeterli için, böylece işlenenlerden biri gerçeğe eşittir, daha sonra kombinasyon değeri doğru olacaktır. Yalanın değeri, yalnızca her iki işlenen de yalan söylediğinde elde edilir.

Operatör, geçerli değeri ters çevirmez (bir yalandaki gerçeği, gerçeği, gerçeği).

Operatörlerin verilerinin bir kombinasyonunu kullanarak, yeterince inşa etmek yeterlidir. karmaşık koşullar. Karmaşık koşullu operatörlerin hazırlanmasında öncelikler dikkate alınmalıdır.

En yüksek öncelikli bir operatöre sahip değil, aşağıdaki operatör ve ardından operatör veya sonrasında. Parantez içine alınan şey en yüksek önceliğe sahiptir ve önce yapılır.

Örneğin, yukarıdaki ifadedeki işlemler için ön öncelikler (yürütme sırası):

Değil (koşul1 veya koşulu2) ve durum3 veya durum4
1. Sonuç1 \u003d (durum1 veya koşulu2);
2. Sonuç2 \u003d sonuçlanmadı1;
3. Sonuç3 \u003d Sonuç2 ve Durum1;
4. Sonuç \u003d sonuç3 veya koşulu4;

Bir dönüşüm kuralı var:

Hayır (durum1 veya durum2) \u003d Koşulsuz1 ve hiçbir koşul yok2.

Bununla birlikte, ifadeyi basitleştirmek için her zaman çaba göstermemelidir, çünkü sıklıkla, ifadenin okunması daha kolaydır.

Uygulama operatörü

Ödev operatörünü eşitlik ile yapmak, aynı yazıya sahip olmalarına rağmen, karıştırılmamalıdır.

Atama operatörünün çalışma prensibi, sol değerin (sol taraftan değişken) eşitlik işaretinin sağındaki değere atanmasıdır. Bir örneği analiz edeceğiz:

Değişken1 \u003d değişken2 \u003d değişken3;

Değişken1, Boole Logic, yani eşitlik değeri atanmıştır. Gerçek, değişken2 \u003d değişken3 veya zıt durumda yanlış ise.

Bir acemi programcının konumuna göre test ederken, bir görev genellikle kullanılır: İki değişkenin yerlerinin değerlerini değiştirin.

Bu görev, ödev operatörü kullanılarak çözülür ve iki çözümü vardır.

Geçici bir değişken kullanarak 1 numaralı çözüm:
Geçici Değer \u003d Değişken1;
Değişken1 \u003d değişken2;
Değişken2 \u003d geçici değişken;

Karar numarası 2:
Değişken1 \u003d değişken1 + değişken2;
Değişken2 \u003d değişken1 - değişken2;
Değişken1 \u003d değişken1 - değişken2;

Koşullu Operatör

Belirli bir durumu tanımlamak için gerekli olan böyle bir operatör var (durumun kendisi oldukça büyük olabilir). Durumdan sonra, kelime o zaman yürütülen operatörler.

Sonra, ak notunu ve bir dizi diğer operatörü takip edebilir. Birkaç farklı koşul varsa, bir dizi anahtar kelime kullanabilirsiniz. Aksilik (Aşağıdaki örneğe bakınız). Tüm tasarım bir anahtar kelime ile tamamlanmalıdır. Takip etme, ardından nokta gösterilir.

Basit ve çoklu koşullara ek olarak, kısaltılmış bir form vardır. koşullu Operatör:? (durum, ifade1, ekspresyon2);

Durum doğruysa, gerçekleştirilecektir. İfade1, aksi takdirde - İfade2.. Örnek kod: expanserovar \u003d? (Ürün. Fiyat\u003e 100000, gerçek, yalanlar);

Uygulamada, anlamlı karşılaştırma kayıtları yerine Doğru (Yanlış) Tür:

Değişken \u003d gerçek olursa
ve
Değişken \u003d yatıyorsa

eşdeğer kayıtlar aslında kullanılır:

Değişken o zaman
ve
Eğer bir değişken değilse

Döngüsel Operatörler

Her türlü döngü için, bu döngünün sonunun net bir göstergesidir. anahtar kelimeler Son. Birkaç döngü türü vardır.

Sayaçla döngü - Sabit sayıda tekrarlanan bir döngü. Döngüden gelen durum çıkışı sınır değerine maruz kalmaktır. A değerini hesaplamak için bir kullanım örneği!

A \u003d 5;
Faktory \u003d 1;
Counter \u003d 1 tarafından ve döngü için
Faktory \u003d Faktör * Sayaç;
Endcycle;

Durumuna göre döngü - Gerçekten duruma kadar bu döngünün. Misal:

Kalıntılar \u003d 1000;
Fiyat fiyatları \u003d 243;
Miktar \u003d 0;
Kurtarma\u003e 0 döngüsü iken
Miktar \u003d number + 1;
Kalıntılar \u003d kalıntılar - * Fiyatlandırma hisselerinin sayısı;
Fiyat fiyatları \u003d müşteri değeri * 0.8;
Son
Miktar \u003d miktar-1;

Bu döngü, bu miktarda mal birimin (1000 ruble) satın alınabileceğini hesaplar, eğer her mal birimini satın aldıysanız, önceki fiyatı 0,8 katsayısı ile çarpılır. Ürünün ilk fiyatı 243 ruble'dir.

Bu tür yeni başlayanlar döngüsünü kullanırken bir hata örneği, döngü koşulu başlangıçta gerçekten doğru olduğunda ve çevrimin içinde değişmezse, ebedi çevrimdadır.

Koleksiyonlarda döngü (herkes için başka bir isim).

Platformda oldukça fazla sayıda koleksiyon vardır (bunlar belirli bir türün unsurlarını içeren bu tür kaplardır).

Koleksiyonun kurs öğeleri özel bir tür döngü kullanabilir.

Örneğin, bir dizi sayı var, dizinin tüm unsurlarının toplamını hesaplamak için gereklidir:

Sum \u003d 0;
Dizi döngüsünden her bir eleman için
Sum \u003d Sum + Element;
Endcycle;

Döngüler için özel operatörler var: İlerlemek ve Kesmek.

Döngünün bir noktasında, bu dönüşün daha fazla operatörünün yürütülmesi anlamsız hale gelir, daha sonra döngünün başlangıcına dönmek ve bir sonraki turunu organize etmek için operatör tarafından kullanılır. İlerlemek.

Şebeke Kesmek Döngü düzeltmesi doğru olsa bile, döngünün yürütülmesini tamamlamanızı sağlar.

Bundan, ilk tanışmamızı 1C iç dildeki gelişme ile tamamlıyoruz.

Peki ya merhaba dünya? Henüz yazmadık, değil mi? Evet, ama hiçbir şey kendiniz yapmanızı engeller, çünkü Bilgi zaten yeter. Eğer işe yaramazsa, burayı soyabilirsiniz.