Bu eğitimde, dosya ve içerik yakalama, iş akışı, dosya listesi, çıktı sistemleri ve bilgi erişim sistemlerini birleştirmek için nasıl bir uygulama geliştirileceği gösterilmektedir. Ayrıca, dosyaleri izlemek, saklamak ve kontrol etmek için kullanılan süreçler de bulunmaktadır.
──────────────────────────────
Uygulamanızı Tasarlayın
Bu örnekte işlevselliği kapsayacak şekilde 5 farklı form oluşturacağız:
Dosya Tanımlama: Dosya tanımlamak için oluşturulacak form.
Dosya Revizyonu Ekle: dosya revizyonu ekleme ve kaydetme, okuma, talep etme işlemlerinin yapılacağı form.
Dosya Oku: dosya durumunun seçileceği ve gösterileceği form.
Kullanıcı Parametreleri: Kullanıcılara ait parametrelerin yer aldığı formdur.
Dosya Listesi: dosya listesinin oluşturulduğu form.
──────────────────────────────
Lütfen unutmayın, Xpoda Studio’da bulunan araç çubuğundan ''Kaydet'' düğmesine tıkladıktan hemen sonra veritabanında alanlar oluşturacaktır. Emin olmak için ''Kaydet'' düğmesini sık sık kullanın, aksi takdirde veri kaybedebilirsiniz.
Uygulama Geliştirme
Artık uygulama verilerimizi ve kullanıcı ara yüzümüzü tasarladığımıza göre, Xpoda Studio kullanarak bir uygulama geliştirmenin zamanı geldi. Xpoda Studio'ya giriş yapın ve yeni bir form ekleyin.
──────────────────────────────
Dosya Tanmlama
Dosya Adı: Dosya adını yazmak için.
Dosya Grubu: Dosya grubunu seçmek için.
Durum: Belge durumunu seçmek için: Belge durumunu seçmek için (Aktif/Pasif).
Erişim Yetkisi: Seçilen kullanıcının erişimini yetkilendirmek için.
1- Yeni bir form ekleyin tablo adını ''XP_DOSYA_TANIMLAMA'', Name alanını “Dosya_Tanimlama” ve son olarak Display Name alanını “Dosya Tanımlama Formu” olarak düzenleyin.
Ardından Dosya Adı yazmak için Text Box, Dosya Grubu, Durumu, Erişim Yetkisi için Drop Down Box ve son olarak Listelemek için Liste araçlarını formumuza ekleyin ve hepsini isimlendirin.
2- Dosya Grubu olarak belirlediğimiz Drop Down Box aracının Field Style alanını “SQL Query” olarak seçip aşağıdaki sorguyu yazmanız gerekiyor;
SELECT UserTableID, Dosya_Adi
FROM XP_DOSYA_TANIMLAMA WITH (NOLOCK)
WHERE Dosya_Adi NOT IN ('','$PDosya_Adi$')
3- Durumu olarak belirlediğimiz diğer alanda Field Style alanını “Constant Value” olarak ayarlayıp aşağıdaki verileri Values alanına yazın;
Aktif
Pasif
4- Erişim Yetkisi olarak isimlendirdiğimiz diğer alana Field Style’ı “SQL Query” olarak seçip, XPODA_CLIENT_USERS tablosundaki kullanıcıları yetkili olarak varsayarak sorgu sihirbazından bu SQL sorgusunu yazalım;
SELECT UserID, UserFullName
FROM dbo.XPODA_CLIENT_USERS WITH (NOLOCK)
5- Sorumlu bilgilerini görüntülemek için yeni bir Liste ekleyin. Bunu yaptıktan sonra SQL Sorgusunu bulmanız gerekir. Sorgu sihirbazını kullanarak veri tabanına gidiyoruz ve bu sorguyu kullanmamız gerekiyor;
SELECT
DT.UserTableID,
CU.UserFullName AS [Oluşturan Kişi],
DT.Dosya_Adi, Dosya_Grubu AS [Dosya Grubu],
DT.Durumu AS [Durumu],
CU2.UserFullName as [Erişim Yetkisi]
FROM dbo.DOSYA_TANIMLAMA DT WITH (NOLOCK)
LEFT OUTER JOIN XPODA_CLIENT_USERS CU WITH (NOLOCK) ON CU.UserID = DT.CreateUser
LEFT OUTER JOIN XPODA_CLIENT_USERS CU2 WITH (NOLOCK) ON CU2.UserID = DT.Erisim_Yetkisi
6- Şimdi formunuza birkaç aksiyon ekleyin.
Önce ''Dosya Adı''nı seçin ve sağ bölmedeki alandan aksiyon ekleyin. “On Value Change / Update Value” ikilisini kullanın ve Value Area alanını “All Forms” olarak seçin. Ardından sorgu alanına aşağıdaki sorguyu ekleyin;
SELECT * FROM XP_DOSYA_TANIMLAMA WITH (NOLOCK) WHERE Dosya_Adi = '$PDosya_Adi$'
Dosya Adı alanına bir aksiyon daha ekleyin ve “On Value Change / Update Value” ikilisini kullanarak “Dosya_Grubu” alanını güncelleyin.
Şimdi, listeye aksiyon ekleyelim. Listeye tıklayın ve “When the row is selected / Update Value” ikilisini seçin. Value Area alanını “All Forms” olarak seçtikten sonra SQL Query alanına aşağıdaki sorguyu ekleyin;
SELECT * FROM XP_DOSYA_TANIMLAMA WITH (NOLOCK) WHERE UserTableID = '$PUserTableID$'
Listenin içindeki veriler form açıldığında güncellensin istediğimiz için Formu seçip aksiyon ekleyin. “”Bu forma aksiyonler ekleyelim. “When the form is opened / Update Value” ikilisini seçip Value Area alanını “Dosya_Listesi” olarak belirleyin.
Son olarak kaydetmeden önce Dosya Adı’nın dolu olup olmadığı kontrol etmek adına bir aksiyon daha ekleyin. “Before Recording / Validation” ikilisini ayarlayıp aşağıdaki sorguyu kullanın;
SELECT CASE WHEN '$PDosya_Adi$' = '' THEN 0 ELSE 1 END
Formumuzun studiodaki son hali bu şekilde görünecektir:
Kaydedip projemizi çalıştırdığımızda formumuzun görüntüsü bu olacaktır:
──────────────────────────────
Dosya Revizyonu Ekle
Dosya Kodu: dosya kodunu göstermek için.
Dosya Ekle: Bilgisayardan dosya eklemek için.
Dosya Adı: dosya adını yazmak için.
Durum: dosya durumunu seçmek için: dosya durumunu seçmek için (Aktif/Pasif).
Okuma Yetkisi: Seçilen kişiye okuma yetkisi vermek için.
Revizyon Yetkisi: Seçilen kişiye revizyon yetkisi vermek için.
Okuma Durumu: Dosyanın okunma durumunu göstermek için kullanılır.
Son Okuma Tarihi: Dosyanın son okuma tarihini göstermek için kullanılır.
1- Yeni bir form ekleyin ve adını ''XP_DOSYA_REVIZYON'' koyun.
2- Ardından Dosya Kodu, Okuma Durumu, Dosya Adı, Okuyan Kişi ID ve Revizyon Yorumu alanları için beş tane Text Box,
Klasör, Durumu, Okuma Yetkisi, Revizyon Yetkisi alanları için DropDown Box, RevizyonID ve DosyaID alanları için Figures Box,
Son Okuma Tarihi için Date-Time,
Dosya eklemek için Add File,
son olarak da 5 adet Button ekleyin ve uygun şekilde isimlendirin..
3- Klasör Drop Down Box alanında SQL Query seçip, aşağıdaki sorguyu ekleyin;
SELECT UserTableID, Dosya_Adi
FROM XP_DOSYA_TANIMLAMA WITH (NOLOCK)
WHERE Durumu <> ‘Pasif’ AND Dosya_Grubu <> '' AND $PActiveUser = Erisim_Yetkisi
4- Durum Drop Down Box alanında Field Style alanını “Constant Value” olarak seçip aşağıdaki verileri yazın;
Aktif
Pasif
5- Okuma Yetkisi olarak adlandırdığımız Drop Down Box’ın Autofill ve Selection Compulsory özelliklerini etkinleştirin, Field Style alanını “SQL Query” olarak seçin. Bunu yaptıktan sonra yetkililerin XPODA_CLIENT_USERS tablosundaki kullanıcılar olduğunu varsayarak aşağıdaki sorguyu yazmanız gerekiyor;
SELECT UserID, UserFullName FROM XPODA_CLIENT_USERS WITH (NOLOCK)
6- Revizyon Yetkisi olarak adlandırdığımız Drop Down Box’ın Autofill ve Selection Compulsory özelliklerini etkinleştirin, Field Style alanını “SQL Query” olarak seçin. Bunu yaptıktan sonra yetkililerin XPODA_CLIENT_USERS tablosundaki kullanıcılar olduğunu varsayarak aşağıdaki sorguyu yazmanız gerekiyor;
SELECT UserID, UserFullName FROM XPODA_CLIENT_USERS WITH (NOLOCK)
7- Revizyon Yorumu adını verdiğiniz alanın Multi Line özelliğini YES olarak ayarlayın ve Table Length 250 olarak ayarlayın.
8- Okuma Durumu adını verdiğiniz alanın Multi Line özelliğini etkinleştirin.
9- Butonlar
1-
Butona tıklandığında Dosya Listesi’nin gelmesini istediğimiz için aksiyon ekliyoruz. “When Clicked / Open Form (List)” ikilisini seçin ve Value Area alanını “All Forms” olarak ayarlayın. Ardından sorgu sihirbazını kullanarak aşağıdaki sorguyu yazıyoruz. Aksiyonu kaydettiğinizden emin olun.
SELECT
UserTableID,FormTypeID,ProjectID,Dosya_Kodu,RevizyonID,Dosya_Adi,
CASE WHEN Durum, Revizyon_Yorumu, Okunma_Durumu
FROM XP_DOSYA_REVIZYON WITH (NOLOCK)
WHERE UserTableID IN (SELECT MAX(UserTableID)
FROM XP_DOSYA_REVIZYON WITH (NOLOCK) Group By Dosya_Kodu )
ORDER BY Dosya_Kodu
2-
Revizyon Butonuna aksiyon olarak “When clicked / Validation” ikilisini kullanıp doğrulama kontrolü yapılacaktır. Warning Message alanına “Lütfen Dosyayı Kaydedin!” şeklinde uyarı yazabilirsiniz. Ardından aşağıdaki sorguyu SQL Query alanına ekleyin;
SELECT CASE WHEN $PUserTableID = 0 OR '$PUserTableID$' = '' THEN 0 ELSE 1 END
Bir başka aksiyon daha ekleyerek “When clicked / Create New Revision” ikilisini kullanıp, Value Area olarak “RevizyonID” seçin.
3-
Kaydet butonuna aksiyon olarak “When clicked / Save” ikilisini kullanın.
4-
Oku butonunda kullanmak için doğrulama aksiyonu gerekmektedir. Burada dosyanın kayıt olup olmadığını kontrol etmeliyiz. Bunun için “When clicked / Validation” ikilisini kullanıp, Warning Message alanına “Lütfen Dosyayı Kaydedin!” yazabilirsiniz. Ardından aşağıdaki sorguyu ekleyin;
SELECT CASE WHEN $PUserTableID = 0 OR '$PUserTableID$' = '' THEN 0 ELSE 1 END
Bir diğer aksiyonumuzda değer güncellemek istiyoruz. Bunun için “When clicked / Update Value” ikilisini kullanıp, Value Area alanını “Itself” olarak seçin. Ardından aşağıdaki sorguyu yazın;
UPDATE XP_DOSYA_EKLE
SET
Okunma_Durumu = 'Okundu',
Son_Okuma_Tarihi = GETDATE(),
OkuyanKisiID = '$POkuyanKisiID$'
WHERE UserTableID = '$PUserTableID$'
Bu butondaki son aksiyonumuz “When clicked / Show Message” ikilisini kullanılarak yapılacaktır. Böylece dosya durumunun güncellendiğini bilgi olarak ekranımızda görebileceğiz. Message Title alanına “Dosya Durumu”, Message Content alanına da “Dosya Durumu Güncellendi” bilgisi ekleyerek Message Type alanını “Information” olarak seçin.
5-
Son butonumuz olan Revizyon Talebi içinse kullanımımız bu şekilde olacaktır:
Öncelikle butona tıkladığımızda dosyaların okunup okunmadığını kontrol etmeniz gerekmektedir. Bu sebeple kontrol yapabileceğimiz Validation aksiyonunu kullanacağız. “When clicked / Validation” ikilisini kullanıp sorgu alanına aşağıdaki sorguyu ekleyin ve Show Message alanına “Dosyalar Okunmalıdır!” mesajını ekleyin.
SELECT CASE WHEN '$POkunma_Durumu$' = '' THEN 0 ELSE 1 END
Ardından revizyon isterken mail gönderimi sağlamak istiyoruz. Bunun için “When clicked / Send E-mail” aksiyonlarını kullanıp sorgu alanına aşağıdaki sorguyu ekleyin;
SELECT UserEmail FROM XPODA_CLIENT_USERS WITH (NOLOCK) WHERE UserID = '$PRevizyon_Yetkisi$'
Son haliyle revizyon talebimizin aksiyonu bu şekilde görünecektir.
Revizyon maili
Confirmation Form alanı ''Dosya_Revizyon'', Confirmation ID alanı ''DosyaID'' olacaktır. Link Text alanına ''Dosyayı revize etmek için tıklayın'' yazın.
10- Sağlıklı bir kullanım için Dosya_Kodu alanının değeri değiştiğinde Dosya Listesi butonunun pasif hale gelmesini istiyoruz. Bunun için Dosya_Kodu alanını seçip aksiyon ekliyoruz. Aksiyon olarak “On Value Change / Change Properties” ikilisini seçip Condition alanını “Equal”, Value alanını “1”, Fields alanını da pasif hale getirmek istediğimiz “Dosya Listesi” butonunu seçin. Type alanını da “Passive” olarak belirleyip ardından aşağıdaki sorguyu SQL Query alanına ekleyin;
SELECT CASE WHEN $PActiveUser = Revizyon_Yetkisi THEN 0 ELSE 1 END
FROM XP_DOSYA_REVIZYON WITH (NOLOCK) WHERE UserTableID = (SELECT MAX(UserTableID)
FROM XP_DOSYA_REVIZYON WITH (NOLOCK) WHERE Dosya_Kodu = '$PDosya_Kodu$' )
11- Dosya_Kodu alanına bir aksiyon daha ekleyelim. Değeri değiştiğinde Oku butonunun pasif hale gelmesini istiyoruz. Bunun için aksiyon olarak “On Value Change / Change Properties” ikilisini seçip Condition alanını “Equal”, Value alanını “1”, Fields alanını da pasif hale getirmek istediğimiz “Oku” butonunu seçin. Type alanını da “Passive” olarak belirleyip ardından aşağıdaki sorguyu SQL Query alanına ekleyin;
SELECT CASE WHEN $PActiveUser = Okuma_Yetkisi THEN 0 ELSE 1 END
FROM XP_DOSYA_REVIZYON WITH (NOLOCK)
WHERE UserTableID = (SELECT MAX(UserTableID)
FROM XP_DOSYA_REVIZYON WITH (NOLOCK)
WHERE Dosya_Kodu = '$PDosya_Kodu$' )
12- ''Okunma Durumu''na aksiyon ekleyin ve “On Value Change / Change Properties” ikilisini seçip Condition alanını “Equal”, Value alanını “1”, Fields alanını da pasif hale getirmek istediğimiz “Son Okuma Tarihi” alanlarını seçin. Type alanını da “Visibilty” olarak belirleyip ardından aşağıdaki sorguyu SQL Query alanına ekleyin;
SELECT CASE WHEN '$POkunma_Durumu$' <> '' THEN 1 ELSE 0 END
13- Şimdi bu forma aksiyonlar ekleyelim. Formu kaydetmeden önce birkaç alanın boş olmaması, doldurulması gerektiğini belirten bir aksiyon ekleyeceğiz. Bunun için “Before Recording / Validation” ikilisini kullanıp aşağıdaki sorguyu ekleyin:
SELECT CASE WHEN '$PDosya_Adi$' = ''
OR '$PDurumu$' = ''
OR '$POkuma_Yetkisi$' = ''
OR '$PRevizyon_Yetkisi$' = '' THEN 0 ELSE 1 END
14- Form açıldığında değeri güncellemek için ikinci aksiyonu ekleyin. “When the form is opened / Update Value” ikilisini seçip aşağıdaki sorguyu ekleyin:
SELECT '$PActiveUser$'
15- Form açıldığında değerini güncellemek istediğimiz “Dosya_Kodu” alanının değerini güncellemek için başka bir aksiyon daha ekleyip “When the form is opened / Update Value” ikilisinis eçip, Value Area alanına “Dosya_Kodu”nu seçin. Ardından aşağıdaki sorguyu ekleyin:
SELECT ISNULL(max(UserTableID),0)+1 FROM XP_DOSYA_REVIZYON WITH ( NOLOCK)
16- Form açıldığında değerini güncellemek istediğimiz “Son Okuma Tarihi” alanının değerini güncellemek için başka bir aksiyon daha ekleyip “When the form is opened / Update Value” ikilisinis eçip, Value Area alanına “Son_Okuma_Tarihi” olarak seçin. Ardından aşağıdaki sorguyu ekleyin:
SELECT CreateDate FROM XP_DOSYA_REVIZYON WHERE UserTableID = '$PUserTableID$'
17- Seçili alanların değiştirilememesi için yetkiyi bu forma ekleyin. “Authority of Field / It can not change field” ikilisini seçip, alanları ''Dosya_Kodu'', ''RevizyonID'' ve ''Okunma_Durumu'' olarak belirleyiniz. Value Area alanı ''All Users'' olacaktır.
18- Seçilen alanların görülememesi için bu forma ikinci yetkiyi ekleyin. Authority of Field / It can not see field” ikilisini seçip, alanları ''Son_Okuma_Tarihi'', ''Lbl - (Son Okuma Tarihi)'', ''Lbl - (DosyaID)'' ''DosyaID'', ''Btn - (Revizyon Talebi)'' ve ''Lbl - (OkuyanKisiID)'' olarak belirleyiniz. Value Area alanı ''All Users'' olacaktır.
Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.
──────────────────────────────
Dosya Okuma
Durum: dosya durumunu seçmek için (Tümü/Okuma)
Liste: Kayıtlı durumu listelemek için.
Düğme: Listedeki kayıtları göstermek için.
1- Öncelikle bu formda bir rapor ekranı oluşturmak istiyoruz. Yeni bir form ekleyin ve formun türünü rapor olarak değiştirin. Name alanına “Dosya_Okuma”, Display Name alanına “Dosya Okuma” yazın.
2- Drop Down Box ekleyin ve adını ''Durum'' olarak belirleyin. Bunu yaptıktan sonra sağ panelde Field Style alanını “Constant Value” seçip, Values alanına aşağıdaki verileri yazın:
Hepsi
Okundu
3- Sorumlu bilgilerini görüntülemek için yeni bir Liste ekleyin. Bunu yaptıktan sonra SQL Query bulmanız gerekiyor. Sorgu Sihirbazı'nı kullanarak veritabanına gidin ve bu sorguyu yazın:
SELECT
DR.UserTableID,
DR.CreateDate,
UserFullName AS [Oluşturan Kişi],
DR.Dosya_Kodu,
DR.RevizyonID,
DT.Dosya_Adi AS [Klasör Adı],
DR.Dosya_Adi,
DR.Revizyon_Yorumu
FROM dbo.XP_DOSYA_REVIZYON DR WITH (NOLOCK)
LEFT OUTER JOIN dbo.XPODA_CLIENT_USERS WITH (NOLOCK) on DR.CreateUser = UserID
LEFT OUTER JOIN dbo.XP__DOSYA_TANIMLAMA DT WITH (NOLOCK) on DR.Klasor = DT.UserTableID
WHERE DR.Durumu = ‘Aktif’ AND $PActiveUser = Okuma_Yetkisi AND (Okunma_Durumu = '$PDurumu$' OR '$PDurumu$' = 'All')
AND DR.UserTableID IN (SELECT MAX(UserTableID)
FROM XP_DOSYA_REVIZYON WITH (NOLOCK) GROUP BY Dosya_Kodu)
4- Ayrı bir alana yeni bir Figures Box ekleyin ve adını ''DosyaID'' koyun.
5- Satır değiştiğinde değeri güncellemek için Listeye ilk aksiyon ekleyin. “When the row is selected / Update Value” ikilisini seçin ve Value Area ''DosyaID'' olacak ve sorgu alanına aşağıdaki sorguyu ekleyin;
SELECT '$PUserTableID$'
6- Listeye ikinci aksiyonu ekleyip “When double clicked on row / Open Form- Linked” ikilisini seçin. Module ''Doküman Yönetimi'', Form ''Dosya Revizyon Formu'' olacaktır. Ardından Mapping alanına sorgumuzu ekliyoruz:
DosyaID|0|DosyaID
7- Araç çubuğundan yeni bir buton ekleyin ve bu butona aksiyon ekleyin. Aksiyonumuz “When Clicked / Update Value” ikilisi olacaktır. Value Area alanına listemizi seçin ve kaydedin.
8- Şimdi forma aksiyon ekleyin. Bu aksiyon “When the form is opened / Update Value” ikilisini kullanın. Value Area alanına “Durum” seçin ve SQL sorgu alanına aşağıdaki sorguyu ekleyin.
SELECT ‘Okundu’
9- Form açıldığında listenin yüklenmesini sağalayabileceğiniz bir aksiyon daha ekleyin. Bunun için “When the form is opened / Update Value” ikilisini kullanın ve Value Area alanına “GridListe_1” seçin.
10- Seçili alanları görememek için bu forma yetki ekleyin. Type ''Authority of Field”, Type of Authority “It can not see fields” olmalıdır. Ardından Fields alanına ''Lbl - (DosyaID)'' ve ''DosyaID'' seçilir. Users Type ise “All Users” olsun.
12- Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.
──────────────────────────────
Kullanıcı Parametreleri
Kullanıcı: Kayıtlı kullanıcıyı seçmek için
Listele: Kontrol edilen kullanıcıyı listelemek için.
1- Yeni bir form ekleyin ve adını ''XP_KULLANICI_PARAMETRELERI'' koyun.
2- Kullanıcıları görüntülemek adına DropDown Box ekleyin ve adını '' Kullanıcılar '' koyun. Bunu yaptıktan sonra SQL Query bulmanız gerekiyor. Sorgu Sihirbazı'nı kullanarak veritabanına gidiyoruz ve bu sorguyu kullanmamız gerekiyor;
SELECT UserID, UserFullName FROM dbo.XPODA_CLIENT_USERS WITH (NOLOCK)
3- Ardından Check Box ekleyin ve “Kontrol Sorumlusu” olarak adlandırın.
4- Sorumlu bilgilerini görüntülemek için yeni bir Liste ekleyin. Bunu yaptıktan sonra SQL Sorgusu bulmanız gerekiyor. Sorgu Sihirbazı'nı kullanarak veritabanına gidiyoruz ve bu sorguyu kullanmamız gerekiyor;
SELECT UserTableID,UserFullName, CASE WHEN Check_Manager = 1 THEN 'Manager' ELSE '' END AS [Status]
FROM XP_USER_PARAMETERS WITH (NOLOCK)
LEFT OUTER JOIN XPODA_CLIENT_USERS WITH (NOLOCK) ON UserID = Users
5- Araç çubuğundan yeni bir Buton ekleyin ve arama ikonu atayın.
6- Sağ bölmeden butona tıklandığında formun açılması için aksiyon ekleyin. “When clicked / Open Form- List” ikilisini kullanarak Value Area alanını “All Forms” seçin. Ardından aşağıdaki soguyu SQL Query alanına ekleyin:
SELECT
UserTableID,
Kullanicilar AS [|KullanıcıID],
UserFullName,
Kontrol_Sorumlusu
FROM dbo.XP_KULLANICI_PARAMETRELERI WITH (NOLOCK)
left outer join XPODA_CLIENT_USERS WITH (NOLOCK) ON UserID = Kullanicilar
7- Bu forma aksiyon ekleyelim. Sağ bölmeden, form açıldığında değeri güncellemek için aksiyon ekleyin. “When the form is opened / Update Value” ikilisini kullanıp, Value Area “GridList_1” seçin. Böylece formumuz açıldığında listemize veriler gelecektir.
8- Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.
──────────────────────────────
Doküman Listesi
Liste: Evrak listesini göstermek için.
1- Öncelikle bu formda bir rapor ekranı oluşturmak istiyoruz.
Yeni bir form ekleyin ve formun türünü rapor olarak değiştirin.
2- Yeni bir Label ekleyin ve adını ''Doküman Listesi'' olarak değiştirin.
3- Sorumlu bilgilerini görüntülemek için yeni bir Liste ekleyin. Bunu yaptıktan sonra SQL Query bulmanız gerekiyor. Sorgu Sihirbazını kullanarak veritabanına gidiyoruz ve bu sorguyu kullanmamız gerekiyor;
SELECT
DR.UserTableID,
Dosya_Kodu AS [Dosya Kodu] ,
RevizyonID AS [Revizyon Numarası] ,
DT.File_Name AS [Dosya Adı] ,
Durumu AS [Durumu] ,
CU2.UserFullName AS [Okuma Yetkisi] ,
CU.UserFullName AS [Revizyon Yetkisi] ,
Okunma_Durumu AS [Okunma Durumu] ,
CASE
WHEN CONVERT(DATE,Son_Okuma_Tarihi) = '18991230' THEN ''
ELSE CONVERT(NVARCHAR,Son_Okuma_Tarihi,120) END AS [Son Okuma Date], Revizyon_Yorumu
FROM dbo.XP_DOSYA_REVIZYON AS DR WITH (NOLOCK)
LEFT OUTER JOIN XP_DOSYA_TANIMLAMA AS DT WITH (NOLOCK) ON DR.Klasor = DT.UserTableID
LEFT OUTER JOIN XPODA_CLIENT_USERS CU WITH (NOLOCK) ON CU.UserID = DR.Erisim_Yetkisi
LEFT OUTER JOIN XPODA_CLIENT_USERS CU2 WITH (NOLOCK) ON CU2.UserID = DR.Okuma_Yetkisi
4- Bu forma aksiyon ekleyelim. Sağ bölmeden, form açıldığında değeri güncellemek için aksiyon ekleyin. “When the form is opened / Update Value” ikilisini kullanıp, Value Area “GridList_1” seçin. Böylece formumuz açıldığında listemize veriler gelecektir.
5-Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.