İstekteki değerin türü. Bir istekte Belgenin Türü (türü) nasıl elde edilir? TYPE istek üzerine

İstekteki değerin türü.  Bir istekte Belgenin Türü (türü) nasıl elde edilir?  TYPE istek üzerine
İstekteki değerin türü. Bir istekte Belgenin Türü (türü) nasıl elde edilir? TYPE istek üzerine

Rica etmek . Metin = "SEÇMEK | usStorageUnits.Referans | KİMDEN | usStorageUnits OLARAK Reference.usStorageUnits // Örnek 1. boş bir boole değeriyle karşılaştırma: |NEREDE | setStorageUnit.Allow SelectionFromStandbyZone = Yanlış // Örnek 2. ancak bu boole tanımlanmışsa, bu daha iyidir: // negatif bir boole koşulu: |NEREDE | StorageUnits ile DEĞİL.StandbyZone'dan Para Çekmeye İzin Ver // Örnek 3. "somut tip referansı" türünde boş bir alanın durumuna göre seçim |NEREDE | setStorageUnit.ActiveFilterRegion = DEĞER(Catalog.FilterRegion us.NullReference) // Örnek 3a. "belirli bir türdeki belge" türündeki boş bir alanın durumuna göre seçim |NEREDE | OurInformationRegister.Document = VALUE(Document.OurDocument.EmptyReference) // Örnek 3b. "belgeler" türündeki boş bir alanın durumuna göre seçim farklı şekiller" (bileşik alan) |NEREDE | (OurInformationRegister.Document = VALUE(Document.OurDocument1.EmptyReference) | VEYA OurInformationRegister.Document = VALUE(Document.OurDocument2.EmptyReference) | VEYA... (vb. - bu bileşik alanın olası tüm türleri için koşulları sırayla listeleyin)) // Örnek 4. veya tam tersi, "dize" türünde doldurulmuş bir değer seçmeniz gerekiyorsa, koşul yardımcı olacaktır: | NEREDE | usStorageUnits.Name > """" // Örnek 5. Belirli bir türdeki belgeleri, örneğin "Yürütülen Görevler" kaydında, bileşik bir veri türüyle seçmeniz gerekirse, "Görev" kaynağı, "Seçim" belgesinin mümkün olduğu değerler arasında bir bileşik türe sahiptir. |NEREDE | EXPRESS(BilgiKayıtYapılacak İşler.İş AS Belge.Filter) REF Belge.Filter // Örnek 5a. Belirli bir türdeki belgeleri seçmeniz gerektiğinde buna benzer başka bir örnek | SEÇİM | NE ZAMAN İFADE EDİLMESİ GEREKİR(agDocument Compliance.DocumentBU AS Document.Incoming Mal/Hizmet) REFERANS Document.Incoming Mal/Hizmet | SONRA ""Hizmet Mallarının Alınması"" | NE ZAMAN İFADE EDİLMESİ GEREKİR(ar Belgelerin Yazışmaları.BelgeBU AS Belge.Hizmet Mallarının Satışı) REFERANS Belge.Hizmet Mallarının Satışı | SONRA "Mal ve Hizmetlerin Gerçekleştirilmesi" | BAŞKA """" | KindDocument OLARAK SONLANDIRIN // Örnek 6. tanımsız bir değerin koşuluna göre seçim: |NEREDE | SavedSettings.User = Tanımsız // Örnek 7. birikim kaydının "Gelen" hareket türüne göre seçimi, "Gider" - benzer şekilde): |NEREDE | RegGoodsRetail.MovementType = VALUE(MovementAccumulationType.Income) // Örnek 8. Sorguda sorguyu yürütmenin gerekli olmadığı nasıl belirtilir (örneğin, bazı koşullara bağlı olarak program aracılığıyla boş bir sorgu sonucu döndürmeniz gerekir - Query.Text = StrReplace(Query.Text, "WHERE Doc.Link = &DocumentLink", "WHERE FALSE");). Bunu yapmak için "Where is False" koşulunu eklemeniz yeterlidir. Bu arada, numunede talep edilen veri miktarı ne olursa olsun, böyle bir talep anında yürütülecektir. |NEREDE YATAK // Örnek 9. Sorgu sonucunun veri içerip içermediğini kontrol etme: değilseRica etmek.Koşmak().Boş() Daha sonra // Örnek 10. boş bir tarihin durumuna göre seçim: |NEREDE | tbRows.CancellationDate = DATETIME(1, 1, 1)

Dikkat! İşte, materyalleri tamamlanmamış olabilecek dersin deneme sürümü.

öğrenci olarak giriş yap

Okul içeriğine erişmek için öğrenci olarak oturum açın

Yeni başlayan programcılar için 1C 8.3 sorgulama dili: türlerle çalışmak için işlevler ve operatörler (DEĞER TİPİ, TİP, REFERANS, IS NULL, EXPRESS)

Bir referans kitabının, belgenin veya başka herhangi bir uygulama nesnesinin her özniteliğinin (özellik, alan) kendi türüne sahip olduğunu hatırlayalım. Ve bu türü yapılandırıcıda görebiliriz:

Sorgu dili, öznitelik türleriyle çalışmak için eksiksiz bir işlev ve işleç sınıfına sahiptir. Onlara bir göz atalım.

DEĞER TÜRÜ işlevi

Bu işlev bir parametre (değer) alır ve türünü döndürür. Resimde açıklanan aksesuarlar için (yukarıda) Tatmak dizin Yiyecek aşağıdakileri döndürür:

Şimdi aksesuarlara bir göz atalım. Ayırt edici özellik dizinde şehirler:

Bu pervanenin birkaç türden biri olabileceğini görebilirsiniz: Astar, Dizin.Tatlar, Referans.Renkler. Bu tür ayrıntılara KOMPOZİT denir.

1C:Enterprise modunda böyle bir niteliğin değerini doldurmaya çalışırsak, sistem bize giriş değerinin ne tür olacağını soracaktır:

Ve sadece seçimimizden sonra, seçilen türün değerini girmenize izin verilecektir.

Böylece, aynı türdeki dizin öğeleri ( Dizin.Şehirler) aynı öznitelikte depolayabilecektir ( Ayırt edici özellik) farklı türdeki değerler (Dize, Renkler veya Tatlar).

Dizinin öğelerine tıklayarak bunu kendiniz doğrulayabilirsiniz. şehirler 1C:Kuruluş modunda. Dersin deneme sürümünü okuyorsunuz, tam dersler yer almaktadır.

Burada özellik değeri bir referans elemanıdır. tatlar:

İşte satır:

Ve burada, genel olarak, dizinin bir öğesi Renkler:

Bileşik bir veri türünün önümüze açtığı olasılıklar bunlar!

Fonksiyonun nasıl davranacağını merak ediyorum DEĞER TÜRÜ sahne üzerinde Ayırt EdiciÖğe, bileşik veri türüne sahip:

Bu zaten çok ilginç. Her satırla ayrı ayrı ilgilenelim.

Rusya öğesi için özellik değer türü şudur: HÜKÜMSÜZ. Bu türle ilk kez karşılaşıyoruz. Değerler bu türden yalnızca veritabanıyla çalışırken eksik değeri belirlemek için kullanılır.

Bunun nedeni, Rusya öğesinin bir grup olması ve dizinin sıradan bir öğesi olmamasıdır. şehirler, yani alanı yok Ayırt edici özellik. Ve yukarıda okuduğumuz gibi, eksik değerin türü her zaman eşittir HÜKÜMSÜZ.

Perm için ayırt edici özelliğin değer türü şudur: tatlar. Öyledir, çünkü Perm şehri için veritabanında puanlanan ayırt edici özelliğin değeri, dizin öğesine bir bağlantıdır. tatlar.

Krasnoyarsk için özellik türü şuna eşittir: Renkler, çünkü veritabanında seçilen değer bir sözlük öğesine referanstır Renkler.

Voronezh için özellik türü şuna eşittir: Astar, çünkü veritabanına girilen değer normal bir dizedir.

Hindistan yine bir grup, yani anlam eksik. Ve hatırladığımız gibi, eksik değerin türü HÜKÜMSÜZ.

Ve olay şu. Dizin öğesine giderseniz şehirler adı ile Sao Paulo, göreceksiniz ki alan Ayırt edici özellik tamamen doldurulmamış boş A tüm boş alanlar bileşik tipözel bir anlamı var TANIMSIZ .

İLE TANIMSIZ biz de ilk kez buluşuyoruz. Anlam TANIMSIZ kullanılması gerektiğinde kullanılır boş değer Başka hiçbir türe ait olmayan A. Bu sadece bizim durumumuz. Bir değer türü TANIMSIZ, muhtemelen zaten tahmin ettiğiniz gibi, şuna eşittir: HÜKÜMSÜZ.

işlev TİPİ

Yalnızca bir parametre alır - ilkel türün adı ( ASTAR, SAYI, TARİH, BOOLE) veya referans türünü almak istediğiniz tablonun adı.

Bu yapının sonucu, belirtilen tür için bir Tür değeri olacaktır.

Kulağa puslu geliyor, değil mi?

Bu tasarımın uygulamasına bakalım ve her şey hemen yerine oturacak.

Tüm dizin girişlerini seçmek istediğimizi varsayalım. şehirler, bileşik bir özniteliğe sahip olan Ayırt edici özellik türünde bir değere sahiptir ASTAR:

Şimdi özellik değerlerine sahip tüm kayıtları seçelim Ayırt edici özellik referans öğelerine yapılan referanslardır Renkler(masa Referans.Renkler):

Geri çekilmek

Hatırladığınız gibi, dizinin bazı öğeleri şehirler sahne donanımı yok Ayırt edici özellik. İşlev DEĞER TÜRÜ bu tür elemanlar için verir HÜKÜMSÜZ.

Talep halinde bu tür unsurların seçimini yapmak nasıl mümkün olabilir? Bunun için özel bir mantıksal operatör vardır. BOŞ(işlevi ile karıştırılmamalıdır BOŞ ki aşağıda tartışacağız). Dersin deneme sürümünü okuyorsunuz, tam dersler yer almaktadır.

İşte kullanımına bir örnek:

Harika. Ancak burada Sao Paulo öğesinin olmadığını fark ettiniz, props değer türü Ayırt edici özellik hangi de yayınlandı HÜKÜMSÜZ. Neden oldu?

Ve mesele şu ki, ayrıntıları dolduran grupların (Rusya, Hindistan, Brezilya) durumu Ayırt edici özellik Prensipte imkansız, çünkü hiç sahip değiller, özniteliği doldurmanın mümkün olduğu Sao Paulo öğesinin durumundan farklıdır, ancak basitçe doldurulmaz ve hatırladığımız gibi, özel değere eşittir. TANIMSIZ.

Destekleri olan tüm kayıtları seçmek için Ayırt edici özellik mevcut ancak doldurulmamışsa, başka bir yapı kullanılmalıdır:

Ancak boş (doldurulmamış) donanımları tanımlamak için BELİRLENMEMİŞ ile karşılaştırmak yalnızca bileşik türler için işe yarar.

Bu arada, mantıksal işleç IS NULL olumsuzlama formu şöyle görünür:

Boole operatörü REFERANS

Örneğin dizinden seçim yapalım şehirler yalnızca bileşik öznitelik değerine sahip kayıtlar Ayırt edici özellik bir referans elemanına referanstır tatlar:

Hatırladığınız gibi, aynı sorunu kullanarak çözebilirdik. DEĞER TÜRÜ Ve TİP:

işlev ISNULL

İşlev, değeri değiştirmek için tasarlanmıştır HÜKÜMSÜZ başka bir değere.

değer olduğunu hatırlıyoruz. HÜKÜMSÜZ istenen öznitelik (alan, özellik) mevcut değilse döndürülür.

sahne gibi Ayırt edici özellik dizin grupları için şehirler:

İşlev BOŞ bu değer şuna eşitse, başka bir değer vermemize yardımcı olur: HÜKÜMSÜZ. Dersin deneme sürümünü okuyorsunuz, tam dersler yer almaktadır. Bu durumda "Böyle bir özellik yok!" satırı olsun:

Görünüşe göre, fonksiyonun ilk parametresi BOŞ eşit değil HÜKÜMSÜZ, ardından geri döner. NULL ise, ikinci parametre döndürülür.

HIZLI işlevi

Bu işlev yalnızca bileşik türü olan alanlar içindir. Böyle bir alana harika bir örnek, mülktür. Ayırt edici özellik dizin öğeleri için şehirler.

Hatırladığımız gibi, bileşik alanlar yapılandırıcıda belirtilen birkaç türden biri olabilir.

alan için Ayırt edici özellik bu tür geçerli türler ASTAR, Referans.Renkler Ve Dizin.Tatlar.

Bazen bir bileşik alanın değerlerini belirli bir türe dökmek gerekli hale gelir.

Tüm alan değerlerini listeleyelim Ayırt edici özellik yazmak Referans.Renkler:

Sonuç olarak, türü olan tüm öğe değerleri Referans.Renkler, dolu kaldı ve belirtilen türe indirgendiği ortaya çıktı. Diğer türlerin tüm değerleri ( ASTAR, Dizin.Tatlar) şimdi eşit HÜKÜMSÜZ. Bu, işlevi kullanan tip dökümünün özelliğidir. İFADE ETMEK.

Bir türü ilkel bir türe çevirebilirsiniz ( BOOLE, SAYI, ASTAR, TARİH) veya bir referans türüne. Dersin deneme sürümünü okuyorsunuz, tam dersler yer almaktadır. Ancak bu bileşik alan için türler listesinde dökümün yapıldığı türün belirtilmesi gerekir, aksi takdirde sistem hata verir.

testi çöz

testi başlat

1. En doğru ifadeyi seçin

2. Birkaç türden birinin değerini alabilen niteliklere denir

3. Öznitelik değerinin türünü belirlemek için işlev uygundur

4. Doldurulmamış bileşik tip öznitelikleri önemlidir

1C sorgulama dili, 7.7 ve 8 sürümleri arasındaki temel farklardan biridir. 1C programlamayı öğrenmede en önemli noktalardan biri sorgulama dilidir. 1C 8.3'te sorgular, veri elde etmek için en güçlü ve verimli araçtır. Sorgu dili, veritabanından uygun bir şekilde bilgi almanızı sağlar.

Sözdiziminin kendisi klasik T-SQL'e çok benzer, ancak 1C'de sorgu dilini kullanarak yalnızca Select yapısını kullanarak veri alabilirsiniz. Dil ayrıca (istek içinde istek) gibi daha karmaşık yapıları da destekler. 1C 8'deki talepler hem Kiril hem de Latince yapılabilir.

Makalede 1C sorgulama dilindeki ana anahtar kelimelerden bahsetmeye çalışacağım:

  • seçmek
  • izin verildi
  • çeşitli
  • ifade etmek
  • Birinci
  • Degisim icin
  • Anlam
  • değer türü (ve REF operatörü)
  • seçenek
  • göre gruplandır
  • sahip olmak
  • BOŞ
  • NULL var
  • bağlantılar - sağ, sol, dahili, dolu.

Sorgu metnini en uygun şekilde oluşturabileceğiniz 1C dilinin küçük püf noktalarının yanı sıra.

1C 8.2 sistemindeki sorgularda hata ayıklamak için özel bir araç sağlanır - sorgu konsolu. Açıklamayı görebilir ve bağlantıdan indirebilirsiniz -.

1C sorgulama dilinin en önemli ve ilginç operatörlerini düşünün.

SEÇME

1C Enterprise 8 sorgu dilinde, herhangi bir sorgu şununla başlar: anahtar kelime SEÇMEK. 1C dilinde UPDATE, DELETE, CREATE TABLE, INSERT yapıları yoktur, bu manipülasyonlar nesne tekniği kullanılarak gerçekleştirilir. Amacı sadece veri okumaktır.

Örneğin:

SEÇMEK
CurrentCatalog.Name
İTİBAREN
Reference.Nomenclature AS CurrentReference

Sorgu, öğe adlarını içeren bir tablo döndürür.

yapının yanında SEÇMEK anahtar kelimeler bulunabilir DEGİSİM İCİN, İZİN VERİLMİŞ, ÇEŞİTLİ, BİRİNCİ

İZİN VERİLMİŞ- tablodan yalnızca geçerli kullanıcının haklarına sahip olduğu kayıtları seçer.

ÇEŞİTLİ- sonucun yinelenen satırları içermeyeceği anlamına gelir.

SEÇİM (VAKA)

Çoğu zaman bu yapı programcılar tarafından hafife alınır. Kullanımına bir örnek:

CurrentCatalog.Name,

NE ZAMAN CurrentCatalog.Service SONRA

"Hizmet"

BİR TÜR OLARAK END

Reference.Nomenclature AS CurrentReference

Örnek, "Adlandırma Türü" alanında dönecektir. metin değeri- "Ürün veya hizmet".

NEREDE

Alınan verilere bir seçim uygulamanıza izin veren bir 1C sorgu dili yapısı. Lütfen sistemin tüm verileri sunucudan aldığını ve ancak o zaman bu parametreye göre seçildiğini unutmayın.

SEÇMEK
Dizin.Adı
İTİBAREN
CurrentDirectory.Nomenclature AS CurrentDirectory
WHERE CurrentDirectory.Service = DOĞRU

Örnekte, "Hizmet" özniteliğinin değeri "True" olarak ayarlanmış kayıtları seçiyoruz. İÇİNDE bu örnek aşağıdaki koşulla geçinmek mümkün olacaktır:

"NEREDE Hizmet"

Temelde, anahtar kelimeden sonraki ifadesi "True"'a eşit olan satırları seçiyoruz.

Doğrudan koşulları ifadelerde kullanabilirsiniz:

NEREDE Kodu = "005215"

Koşullarda "DEĞER ()" operatörünü kullanarak, 1C sorgusunda önceden tanımlanmış öğelere ve numaralandırmalara referansı kullanın:

WHERE Öğe Türü = Değer(Sıralama. Öğe Türleri. Öğe)

Zaman değerleri şu şekilde belirtilebilir:

NEREDE DateIncoming > DATETIME(2012,01,01):

Çoğu zaman koşullar, isteğe iletilen parametreler olarak belirtilir:

267 1C video dersini ücretsiz alın:

WHERE ItemGroup= &ItemGroup

Koşul, bir bileşik türdeyse öznitelik türüne uygulanabilir:

Seçimi bir değer listesinden veya bir diziden sınırlamanız gerekirse, aşağıdakileri yapabilirsiniz:

NEREDE Biriktirme Kaydı.Kayıt Şirketi B (&Seçilecek Belgelerin Listesi)

Durum, birkaç koşuldan oluşan karmaşık olabilir:

NEREDE DateIncoming > DATETIME(2012,01,01) AND ItemGroup= &ItemGroup VE NOT Service

GRUPLANDIRMAYA GÖRE

Sonucu gruplandırmak için kullanılan 1C 8.2 sorgu dili yapısı.

Örneğin:

SEÇMEK
Malların, Hizmetlerin, Malların teslim alınması.
SUM(Gelen Mallar, Hizmetler, Mallar. Miktar) AS Miktarı,
SUM(Gelen Mallar, Hizmetler, Mallar. Tutar) AS Sum
İTİBAREN
Belge.Malların AlınmasıHizmetler.Malların Malların Alındığı GibiHizmetlerMallar

GRUPLANDIRMAYA GÖRE
Malların, Hizmetlerin, Malların teslim alınması.

Bu sorgu, kalem bağlamında tüm girişleri tutara ve miktara göre özetleyecektir.

Anahtar kelime dışında TOPLAM diğer toplama işlevleri kullanılabilir: MİKTAR, FARKLI SAYISI, MAKSİMUM, MİNİMUM, ORTALAMA.

SAHİP OLMAK

Çoğu zaman unutulan ama çok önemli ve faydalı bir yapım. Formda bir seçim belirtmenizi sağlar toplama işlevi, bu tasarımda yapılamaz NEREDE.

1C isteğinde HAVING kullanımına bir örnek:

SEÇMEK
Malların, Hizmetlerin, Malların teslim alınması.
SUM(Gelen Mallar, Hizmetler, Mallar. Miktar) AS Miktarı,
SUM(Gelen Mallar, Hizmetler, Mallar. Tutar) AS Sum
İTİBAREN
Belge.Malların AlınmasıHizmetler.Malların Malların Alındığı GibiHizmetlerMallar

GRUPLANDIRMAYA GÖRE
GoodsServicesGoods.goods'un makbuzu

TOPLA(Gelen Mallar, Hizmetler, Mallar. Miktar) > 5

Bu nedenle, 5 adetten fazla alınan mal sayısını seçeceğiz.

ANLAM()

Örneğin:

WHERE Banka = Değer(Catalog.Banks.EmptyReference)

WHERE Terminoloji Türü = Değer(Directory.Nomenclature Types.Product)

WHERE Öğe Türü = Değer(Numaralandırma. Öğe Türleri. Hizmet)

TYPE istek üzerine

Veri türü şu şekilde kontrol edilebilir: TYPE() ve VALUETYPE() işlevleri kullanılarak veya mantıksal REFERENCE işleci kullanılarak.

İFADE ETMEK()

1C sorgularındaki Ekspres operatörü, veri türlerini dönüştürmek için kullanılır.

Sözdizimi: İFADE ETMEK(<Выражение>NASIL<Тип значения>)

Bununla birlikte, dize değerlerini tarihlere veya referans değerleri dize verilerine vb. Dönüştürebilirsiniz.

Pratik kullanımda, Express() operatörü sınırsız uzunluktaki alanları dönüştürmek için sıklıkla kullanılır, çünkü sınırsız uzunluktaki alanlar seçilemez, gruplandırılamaz, vb. Bu tür alanlar dönüştürülmezse bir hata alırsınız Sınırsız uzunluktaki alanları ve uyumsuz türlerdeki alanları karşılaştıramazsınız.

SEÇMEK
İletişim Bilgileri. Nesne,
EXPRESS(ContactInformation.View AS STRING(150)) View AS
İTİBAREN
Bilgi Kaydı İletişim Bilgileri AS İletişim Bilgileri

GRUPLANDIRMAYA GÖRE
EXPRESS(İletişim Bilgileri.Dize OLARAK Temsil(150)),
İletişim Bilgileri.Nesne

ISNULL (ISNULL)

Yeterli kullanışlı özellik kayıttaki değeri ve eşit olup olmadığını kontrol eden sorgulama dili 1C HÜKÜMSÜZ, kendi değerinizle değiştirmenizi sağlar. En sık alırken kullanılır sanal tablolar gizlenecek bakiyeler ve cirolar HÜKÜMSÜZ ve net bir 0 (sıfır) koyun.

ISNULL(TaxesPrevMonth.FSS Muafiyeti Uygulandı, 0)

1C sorgu dilinin böyle bir işlevi IS NULL, bir değerin yokluğunda sıfır döndürür ve bu da bir hatayı önler.

KATILMAK

Bağlantılar 4 tiptir: SOL, SAĞ, KOMPLE, İÇ.

SOL VE SAĞ BİRLEŞTİRME

Birleştirmeler, iki tabloyu belirli bir koşulla bağlamak için kullanılır. özelliği SOL YÖNDEN KATILIM ilk belirtilen tabloyu tamamen alıp ikinci tabloyu koşula göre bağlarız. İkinci tablonun koşulla ilişkilendirilemeyen alanları değerle doldurulur. HÜKÜMSÜZ.

1C isteğinde sola birleştirme örneği:

Tablonun tamamını döndürecek ve "Banka" alanını sadece "Karşı Taraflar.Ad = Bankalar.Adı" koşulunun sağlanacağı yerlerde dolduracaktır. Koşul karşılanmazsa Banka alanı şu şekilde ayarlanır: HÜKÜMSÜZ.

1C'de SAĞ BİRLEŞTİRME 8.3 kesinlikle benzer Sol yönden katılım, bir fark dışında: SAĞ KATIL"ana" tablo birinci değil, ikinci tablodur.

TAM BAĞLANTI

TAM BAĞLANTI iki tablodaki tüm kayıtları göstermesi, yalnızca koşulla birleştirilebilenleri birleştirmesiyle soldan ve sağdan farklıdır.

Örneğin:

TAM BAĞLANTI
Dizin Bankalar AS Bankalar

İLE

Sorgu dili, yalnızca Kayıtları Birleştir koşulu karşılanırsa her iki tabloyu da tam olarak döndürür. Sol/sağ birleşiminden farklı olarak, NULL'ların iki alanda oluşması mümkündür.

İÇ BİRLEŞİM

İÇ BİRLEŞİM yalnızca belirli bir koşula göre bağlanabilecek kayıtları göstermesi bakımından tam olandan farklıdır.

Örneğin:

İTİBAREN
Directory.Karşı Taraflar AS İstemcileri

İÇ BİRLEŞİM
Dizin Bankalar AS Bankalar

İLE
Clients.Name = Banks.Name

Bu sorgu, yalnızca banka ve karşı tarafın aynı ada sahip olduğu satırları döndürür.

Çözüm

Bu, 1C 8 sorgu dilindeki sözdiziminin yalnızca küçük bir kısmı, gelecekte bazı noktaları daha ayrıntılı olarak ele almaya, göstermeye ve çok daha fazlasını yapmaya çalışacağım!

43
NULL - eksik değerler. Boş ile karıştırılmamalıdır! NULL bir sayı değil, boşluğa eşit değil, boş referans, tanımsız. NULL, tip oluşturucu bir değerdir, örn. bir NULL türü ve bu türün tek bir değeri vardır. HÜKÜMSÜZ... 26
1C platformunda veritabanı tablolarına sorgular oluşturmak ve yürütmek için, Request programlama dilinin özel bir nesnesi kullanılır. Bu nesne, Yeni İstek yapısı çağrılarak oluşturulur. Uygun istek... 18
Makale, 1C v.8.2 sorgularıyla çalışırken yararlı püf noktaları ve ayrıca sorgu dili hakkında pek iyi bilinmeyen bilgiler sağlar. vermeye çalışmıyorum Tam tanım sorgu dili, ancak yalnızca odaklanmak istiyorum ... 13
LIKE - Bir dizenin bir kalıba benzer olup olmadığını kontrol eden bir operatör. SQL'de LIKE'ın analogu. LIKE operatörü, solunda belirtilen ifadenin değerini, sağında belirtilen şablon dizesiyle karşılaştırmanıza olanak tanır. İfade değeri...

1C, defter tutmayı büyük ölçüde basitleştirmenize veya ister küçük bir dükkan ister büyük bir işletme olsun, herhangi bir organizasyonu basitçe yönetmenize olanak tanır. program ana sistem veritabanı yönetimi hakkında. Tüm bunlarda kafanızın karışmaması için çeşitli basit eylemleri gerçekleştirebilmeniz ve özü anlayabilmeniz gerekir. Daha sonra, 1C'deki bir istekte bir değerin türünü nasıl kontrol edeceğinizi, bunların genel olarak ne olduğunu ve bunları nasıl ayırt edeceğinizi anlayacaksınız.

Değer türleri

1C: İşletme, yeni sürümlere (platform 8.2) özel bir işlev ekledi. Bunu kullanarak, veri sisteminin herhangi bir adına, öğesine herhangi bir özel parametre ekleyebilirsiniz. Bu, sistemi düzenlemeyi ve oraya yeni öğeler eklemeyi kolaylaştırmak için yapıldı. Bu fonksiyon sadece "Değer Tipi" olarak adlandırılır.

Aslında bu, çoğu programlama dilini içeren temel kavramlardan biridir. Çeşitli verileri sınıflandırmak için kullanılabilir. Örneğin: tarihler, sayılar, diziler, bağlantılar. Bunlar sadece temel sınıflandırmalardır. Daha birçokları olabilir. Diyelim ki sisteminize şehirler hakkında bilgi girerseniz, şunları kullanabilirsiniz: anakara, ülke, ilçe vb.

muayene

Sorgu dilini kullanarak belirli bir alanı kontrol edebilirsiniz. Daha kesin olmak gerekirse, işlevleri: DEĞER TÜRÜ. Yani, ilgilenilen hücrenin ne tür bilgiler içerdiğini öğrenmek istiyorsak, komutunu kullanmalıyız.

VALUETYPE(Değer) = TİP(Dize)

Yukarıdaki örnekte, komutu kullanarak tanımladık, en basit hal. Başka bir istek doğrulama örneği:

Belgeler

Oldukça az sayıda tür vardır, kullanıcılar hem ilk türlerle idare edebilir hem de geliştirmek için kendi türlerini girebilirler. bilgi bankası. Bunlardan bazıları.

  • DocumentLink. için başvurulur uygun depolama sistemin diğer bölümlerindeki çeşitli nesnelere bağlantılar.
  • DocumentObject - belgeleri düzenleme.
  • DocumentSelection - nesneleri veritabanından sıralama.

Ek olarak, herhangi bir veriyi karakterize eden özel terimler vardır:

  • biçim;
  • astar;
  • mantıksal
  • sayı;
  • Tarihi;
  • sıralamak;
  • onay kutusu;
  • resim.

Bu onların sadece bir kısmı. Herhangi bir nesne yalnızca bu listeden bir şey olabilir. boole - özel parametre, iki değer alır: doğru veya yanlış. İsteği ayarlamanıza izin veren özel etiketler de vardır: ne zaman, nerede, nasıl, aksi takdirde vb. Programın davranış algoritmasını ayarlarlar. 1C, diğer her şey gibi buradaki bu kelimelerin de Rusça olarak girilebilmesi ile ayırt edilir.

Tüm bunların yeni başlayanlar ve profesyonel olmayanlar tarafından Çince bir mektup olarak algılanacağını anlamak önemlidir. Neyin tehlikede olduğunu anlamak ve 1C'yi etkin bir şekilde kullanmak için programlamanın temellerini bilmeniz gerekir. Genel olarak, 1C programındaki bir istekteki türü kontrol etmek, diğer eylemlerle karşılaştırıldığında oldukça kolay olacaktır.