Bir istekte boş bir tarih nasıl belirtilir?

| Tarih: 4 Şubat 2016

Çoğu zaman 1C sorgularında tarihlerle çalışmanız gerekir. Özellikle periyodik bilgiler içeren meta veri nesnelerine istek yapıldığında. Kural olarak bunlar kayıtlardır (bilgi, birikim, hesaplama, muhasebe). Tarihlerle çalışmak için 1C sorgu dilinin en sık kullanılan işlevlerine bakalım. Bilgi kaydına dayalı örnekler oluşturacağız ÇalışanlarKuruluşlar ZUP yapılandırmaları sürüm 2.5.

Hata mesajının içeriği tanımlanmadığında standart bir mesaj görüntülenir. Aşağıdaki şekilde Stop işlemi için bu mesaj gösterilmektedir.

Bu eylemle ilişkili mesaj yalnızca giriş işlemini yeniden denemenize veya iptal etmenize olanak tanır. Bir hücrede İptal'i seçtiğinizde önceki değer geri yüklenir.

Uyarı ve Bilgi işlemleri sonucunda hatalı veriler alınabileceğinden kullanıcı bu değerlerin nerede bulunduğunu görmek isteyebilir. Daha sonra "Geçersiz Verileri Atla" şeklinde gösterilen ikinci komutu kullanın. Bu komutun seçilmesi, doğrulama kriterlerini karşılamayan hücrelerin oval olmasına neden olur. Hücreleri etiketlerken "Boşluğu Yoksay" onay kutusunu işaretlemeniz önemlidir.

  • TARİH SAAT

    Yılı, ayı, günü, saati, dakikayı, saniyeyi belirterek bir istekte tarih (zamanlı veya saatsiz) almanızı sağlar.
    Sözdizimi:
    DATETIME(Yıl, Ay, Gün, Saat, Dakika, Saniye)
    Genellikle saat, dakika ve saniye belirtilmez. Mini bir örnek verelim. Sorgu Konsolu'na aşağıdaki metni girin:

    TARİH SAAT SEÇİN(2016, 1, 1)

    Böyle bir görselleştirmenin bir örneği Şekil 2'de gösterilmektedir.

    Geçersiz Verilerin Altını Çiz komutunu seçtiğinizde, bu gereksinimlere ilişkin değerin geçerli olmadığı tüm hücreler dahil edilir. Slaytların kaldırılması "Geçersiz özetleri temizle" komutunu uygular. Sayfadaki bazı işlemlerden sonra, örneğin yeni bir satır eklerken, çarpı işaretleri de kaldırılacaktır.

    Kullanıcı Desteği Eğer okuduğunuz çalışma sorununuzu çözmenize yardımcı olduysa, bir soruna açıklık getirdiyse, bir sorunu anlamanıza yardımcı olduysa ya da beğendiyseniz ve buna değdiğini düşünüyorsanız maddi katkıda bulunabilirsiniz. Geriye kalan her şey bir öğeye sahip olacağından genellikle bir dizi olacak olan değişken değişkenin öğe sayısını döndürür.

    İsteğin yerine getirilmesi sonucunda - 01/01/2016 tarihini alıyoruz
    Aslında bir talepte tarihin bu şekilde belirtileceği bir durumu hayal etmek zor. Sonuçta, bir süre belirtmeniz gerektiğinde parametreler kullanılır. Ancak bu işlevin belirli bir değere sahip olduğu bir durum vardır. Bu, alanlarda veya istek koşullarında boş bir tarih belirtmemiz gerektiği zamandır. 1C dili için boş bir tarihin - 0001.01.01 biçiminde olduğunu hatırlatmama izin verin. Bu nedenle, bir istekte boş bir tarih almak için şunu belirtmeniz yeterlidir: DATETIME(1; 1; 1). Örnek olarak bilgi kaydından seçim yapalım ÇalışanlarKuruluşlar doldurulmayan kayıtlar Tamamlanma Süresi:

    Değişken bir dizi veya sayaç arayüzünü uygulayan bir nesne değilse, 1 değeri döndürülür. Bu, çok boyutlu bir dizinin tüm öğelerini sayarken kullanışlıdır. Bu alan tasarım kılavuzunda yoksa, alanı çift tıklatarak tasarım kılavuzuna ekleyin ve ardından Bu alan için ölçütlere kriterleri girin.

    "Sorguların girilmesi" bölümü. Kendi kriterlerinizi oluşturmak için başlangıç ​​noktası olarak hizmet edebilecek yaygın olarak kullanılan kriterlerin bazı örneklerini burada bulabilirsiniz. Kriter bir formül gibidir: alan referanslarından, operatörlerden ve sabitlerden oluşabilen bir dizedir. Aşağıdaki tablolarda bazı kriter örnekleri ve nasıl çalıştıklarına ilişkin bir açıklama verilmektedir.

    Kuruluş Çalışanlarını SEÇİN.Dönem, Kuruluş Çalışanları.Çalışan, Kuruluş Çalışanları.Pozisyon, Kuruluş Çalışanları.Kuruluş Bölümü KAYIT BİLGİLERİNDEN.Kuruluş Çalışanları AS Kuruluş Çalışanları NEREDE Kuruluş Çalışanları.Tamamlanma Dönemi = DATETIME(1, 1, 1)

  • DÖNEM BAŞLANGICI

    Belirtilen tarih için ait olduğu dönemin başlangıcını döndürür.
    Sözdizimi:
    DÖNEM BAŞLANGICI(Tarih, Dönem Türü)
    PeriodType aşağıdaki değerleri alabilir: DAKİKA, SAAT, GÜN, HAFTA, AY, ÇEYREK, YIL, ON YIL, YARIM YIL
    Sorgu Konsolu'nda şunu girin:

    Gördüğünüz gibi kriterler, geçerli olduğu alanın veri türüne ve özel gereksinimlerinize bağlı olarak büyük ölçüde farklılık gösterebilmektedir. Bazı kriterler basittir ve operatörleri ve temel sabitleri kullanır. Bu makalede, veri türüne göre yaygın olarak kullanılan bazı ölçütler listelenmektedir. Bu makalede sunulan örnekler özel gereksinimlerinizi karşılamıyorsa kendi kriterlerinizi oluşturabilirsiniz. Bunu yapmak için önce kendinizi tanımanız gerekir. tam liste işlevler, operatörler, özel karakterler ve alan ve harf ifadesi söz dizimi.

    DÖNEM BAŞLANGICINI SEÇİN(DATETIME(2016, 1, 15), AY)

    İstek geri dönecek - 01/01/2016
    Ve şimdi bir örnek. Bildiğiniz gibi kayıtların periyodu ÇalışanlarKuruluşlar Bir gün. Gerçek kayıt dönemi yerine ayın başlangıç ​​tarihinin görüntüleneceği bir sorgu oluşturalım.

    DÖNEM BAŞLANGICINI (Kuruluş Çalışanları. Dönem, AY) Ay Başı, Kuruluş Çalışanları. Çalışan, Kuruluş Çalışanları. Pozisyon, Kuruluş Çalışanları. Kuruluş Bölümü Kayıt Bilgilerinden SEÇİN. Kuruluş Çalışanları AS Kuruluş Çalışanları

    Daha sonra kriterlerini belirtmek istediğiniz alanları tanımlayabilirsiniz. Bir alan proje kılavuzunda zaten listelenmemişse, onu sorgu tasarım penceresinden alan kılavuzuna sürükleyerek veya alanı çift tıklatarak ekleyebilirsiniz. Son olarak kriterlerin içindeki kriterleri girin. Yani Lokasyonlar ve Veri alanlarında belirtilen kriterler şu şekilde yorumlanır.

    Yalnızca Konum alanı değerinin Brasov olduğu kayıtlar bu kriteri karşılar. Yalnızca 40 yaş ve üzeri kişilerden gelen katılımlar bu kriteri karşılayacaktır. Sonuçlara yalnızca tüm kriterleri karşılayan kayıtlar dahil edilecektir. Bu koşullardan yalnızca birini yerine getirmek isterseniz ne olur?

  • DÖNEM SONU

    Sözdizimi dönemin başlangıcıyla aynıdır. Adından da anlaşılacağı gibi tarih ve dönem türüne göre dönemin sonunu döndürür. Bunu ayrıntılı olarak ele almayacağız. Kendimizi mini bir örnekle sınırlayalım.
    Rica etmek:

    DÖNEM SONUNU SEÇİN(DATETIME(2016, 1, 15), AY)

    Geri Dönüş 31.01.2016 23:59:59
    Gördüğünüz gibi değer saniyeye doğru olarak döndürülüyor.

    Alternatif kriterleriniz veya bir seti tamamlamanın yeterli olduğu iki bağımsız kriter setiniz varsa, hem satırları, kriterleri hem de proje ızgarasında kullanabilirsiniz. Konum kriteri “Kriterler” satırında belirtilir. Birden fazla alternatif belirtmeniz gerekiyorsa satırın altındaki satırları kullanın.

    Kriterler geçiciyse veya sık sık değişiyorsa sorgu kriterlerini sık sık değiştirmek yerine sorgu sonucunu filtreleyebilirsiniz. Kriter alanlarınız değişmiyor ancak ilgilendiğiniz değerler sık ​​sık değişiyorsa parametrelerle sorgu oluşturabilirsiniz. Bir parametre sorgusu, kullanıcıdan alan değerlerini ister ve ardından bunları sorgu kriterleri oluşturmak için kullanır.

    • "Filtreleme" bölümünde.
    • Görünümdeki kayıt sayısını azaltın.
    Kriter, proje kılavuzundaki Alan Kriterleri'nde belirtilir. Köprü alanı için belirttiğiniz ölçütler varsayılan olarak alanın değer görüntüleme kısmına uygulanır.

  • EKLENMETARİHİ

    Belirtilen sayıda zaman aralığını tarihe ekler.
    Sözdizimi:
    ADDKDATE(Tarih, Dönem Türü, Miktar)
    PeriodType, işlevle aynı değerleri alır DÖNEM BAŞLANGICI
    Örneğin şubat tarihini seçelim:

    SELECT ADDKDATE(DATETIME(2016, 2, 15), AY, 2)

    Tarihi alıyoruz 04/15/2016 0:00:00 Şubat ayının kısa bir ay olmasına rağmen alınan tarihin alındığı gün orijinaliyle aynı. Aylardaki gün sayısını düşünmenize gerek kalmaması çok kullanışlıdır.
    Miktar negatif de olabilir. Daha sonra aralık ters yönde sayılır.

    Sayılar, madeni paralar ve sayılar için kriterler

    Aşağıdaki örnekler, sipariş bilgilerini saklayan bir tabloyu temel alan bir sorgudaki Ekip Tarihi alanına yöneliktir. Kriter, Sorgu Izgarasındaki Aralık Eğrileri alanında belirtilir. Ek Kriterleri: Ek içermeyen kayıtları dahil etmek için "Boş" değerini girin.

    İki tür arama alanı vardır: mevcut bir veri kaynağındaki değerleri arayanlar ve arama alanı oluşturulduğunda belirtilen değerler listesine dayalı olanlar. Belirtilen değerler listesine dayalı arama alanları bir metin türüdür ve geçerli ölçütler diğer metin alanlarıyla aynıdır.

  • FARKTARİH

    İki tarih arasındaki farkı belirtilen birimlerle hesaplayın.
    Sözdizimi:
    TARİH FARKI (Başlangıç ​​Tarihi, Bitiş Tarihi, Dönem Türü)
    Dönem türü aşağıdaki değerleri alabilir: İKİNCİ, DAKİKA, SAAT, GÜN, AY, ÇEYREK, YIL
    Örneğin:

    FARKLILIK SEÇİNTARİH(DATETIME(2016, 2, 15), DATETIME(2016, 3, 1), DAY)

    Mevcut bir veri kaynağındaki değerlere dayalı bir arama alanında kullanabileceğiniz kriterler, aradığınız verinin veri türüne değil, yabancı anahtarın veri türüne bağlıdır. Örneğin, bir çalışanın adını görüntüleyen ancak Numara yabancı anahtar veri türünü kullanan bir arama alanınız olabilir.

    Her alanın veri türü, tablonun Veri Türü sütununda gösterilir. Birden fazla değere sahip bir alan için ölçüt kullanmak üzere gizli tablonun bir satırına ilişkin ölçütleri belirtin. Çok değerli bir alan içeren bir sorgu oluşturun ve bunu Proje Görünümü'nde açın. Yanındaki artı işaretine tıklayarak çoklu değer alanını genişletin; Bir alan zaten genişletilmişse yanında bir eksi simgesi görünür. Alan adının hemen altında, çok değerli bir alandaki tek bir değeri temsil eden bir alan göreceksiniz. Sütunları proje kılavuzundan ayırmak için çok değerli bir alanı ve benzersiz bir değer alanını sürükleyin. Sadece görmek istersen tam değerler sonuçlarda birden çok değerli değer varsa, bireysel değer alanı için Görüntü Seçimi kutusunun işaretini kaldırın. Değerlerin temsil ettiği veri türüne ilişkin ölçütleri kullanarak Tek Değer Ölçütü alanına ölçütleri girin. Çok değerli bir alandaki her değer, sağladığınız kriterler kullanılarak ayrı ayrı değerlendirilecektir. Örneğin, sayıların listesini saklayan çok değerli bir alanınız olabilir. Bu alan, dize içeren çok değerli bir alanla aynı ada sahip olacaktır. . Görünümde her iki tablodaki iletişim bilgilerini görmek istiyorsunuz.

    15 değerini döndürür

Burada 1C sorgu dilinin en sık kullanılan işlevlerini inceledik. Geri kalanı oldukça nadiren kullanılır. Gerekirse, onlarla çalışma örnekleri 1C platformunda yerleşik yardımda bulunabilir.

32
NULL – eksik değerler. Sıfır değeriyle karıştırılmamalıdır! NULL bir sayı değildir, bir boşluğa, boş bir başvuruya veya Tanımsız'a eşit değildir. NULL, tür oluşturan bir değerdir, yani. NULL türü ve bu türden tek bir değer vardır. HÜKÜMSÜZ... 11
LIKE - Bir dizenin bir desene benzerliğini kontrol etmek için kullanılan operatör. SQL'deki LIKE'ın benzeri. SIMILAR operatörü, solunda belirtilen ifadenin değerini, sağında belirtilen model dizesiyle karşılaştırmanıza olanak tanır. İfadenin anlamı... 11
Makale, 1C v.8.2 sorgularıyla çalışırken faydalı tekniklerin yanı sıra sorgu dili hakkında çok iyi bilinmeyen bilgiler sağlar. vermeye çalışmıyorum Tam tanım sorgu dili, ama sadece üzerinde durmak istiyorum... 9
Tüm ödeme belgelerini seçme ve bunları belge türüne göre gruplandırma göreviyle karşı karşıya kaldım! Tüm konut ve toplumsal hizmetlere ve internete baktıktan sonra şunu fark ettim: basit yol get Belge türü istekte yok:(Yapmam gerekiyordu...

Bunu yapmak için öncelikle her tablo için iletişim bilgilerini almak amacıyla bir arama sorgusu oluşturun ve ardından birleştirilmiş sorgular oluşturarak bu sonuçları birleştirin. Temel seçme sorgularının oluşturulmasını gözden geçirmeniz mi gerekiyor? Basit bir sınav oluşturun. Öncelikle sendika talepleri oluşturma konusunda hatırlamanız gereken birkaç nokta var.

Seçim Sorguları Oluşturma

Bir sorguya birden çok tablo veya sorgu dahil edebilmenize rağmen, bu yordam, her seçme sorgusunun tek bir tablodaki verileri içerdiğini varsayar. Tabloyu Göster iletişim kutusunda, eklemek istediğiniz alanları içeren tabloya çift tıklayın. Alanları seçtiğinizde, diğer seçme sorgularıyla aynı sayıda alanı aynı sırayla eklediğinizden emin olun. Alanlardaki veri türlerine özellikle dikkat edin ve birleştireceğiniz diğer sorgularda aynı konumdaki alanlarla uyumlu veri türlerine sahip olduklarından emin olun. Gerekirse alan ızgarası kriterleri arasına uygun ifadeleri yazarak alanlara kriter ekleyin. Alanları ve alan kriterlerini eklemeyi tamamladıktan sonra seçme sorgusunu çalıştırmalı ve sonucunu görüntülemelisiniz. Tasarım sekmesinin sonuç grubunda Çalıştır'a tıklayın. Birleştirdiğiniz her seçme sorgusu için bunu tekrarlayın. Oluştur sekmesinin Sorgular grubunda Tasarım Sorgusu'nu seçin. . Bir talebe kriterlerin uygulanmasıyla ilgili bölümde.