Bu eğitim, kullanıcıların yeni bir ürün tanımlamalarını, satın alma taleplerini göndermelerini ve tüm talepleri kontrol panelinden takip etmelerini sağlamak için bir uygulamanın nasıl geliştirileceğini göstermektedir. Ayrıca bu uygulamada, yönetim yetkisine sahip kullanıcılar satın alma talebini onaylamaya veya reddetmeye karar verecektir.
▶️ Hemen İzle: Satın Alma Talebi Yönetimi
──────────────────────────────
Uygulamanızı Tasarlayın
Bu örnekte, işlevselliği kapsayacak şekilde 9 farklı form oluşturacağız:
- Departman Girişi: Departman girişleri için oluşturulacak form.
- Unvan Girişi: Unvan girişleri için oluşturulacak form.
- Parametreler: Parametreler için oluşturulacak form.
- Kullanıcı Girişi: Kullanıcı girişleri için oluşturulacak form.
- Ürün Girişi: Ürün girişleri için oluşturulacak form.
- Talep Girişi: Talep girişleri için oluşturulacak form.
- Akış: Oluşturulan formun akışını düzenlemek için
- Onay Ekranı Raporu: Onay ekranı raporu için oluşturulacak form.
- Gösterge Tablosu: Oluşturulan tüm formların gösterge tablosunu göstermek için
──────────────────────────────
Lütfen unutmayın, Xpoda Studio, araç çubuğundan '' Kaydet '' düğmesine tıkladıktan hemen sonra veritabanında alanlar oluşturacaktır. Emin olmak için '' Kaydet '' butonunu sık sık kullanın aksi takdirde veri kaybedebilirsiniz.
Uygulama Geliştirme
Uygulama verilerimizi ve kullanıcı arayüzümüzü tasarladığımıza göre, XPoda Studio kullanarak uygulamayı geliştirmenin zamanı geldi. XPoda Studio'ya giriş yapın ve yeni bir form ekleyin.
──────────────────────────────
Departman Giriş Formu
Departman: Kullanıcılar için bir departman tanımlamak için
Departman_Listesi: Birisi tarafından gönderilen departmanları göstermek için
1- Yeni bir form ekleyin ve adını “ Departman Girişi ” koyun. Araç çubuğundan “Departman” için bir Text Box, “Departman_Listesi” için List aracı ekleyin ve isimlendirin.
Formunuz böyle görünecektir:
2- Ardından Departman Listesine aşağıdaki sorguyu ekleyin:
SELECT
XP_DEPARTMAN_GIRISI.UserTableID,
XP_DEPARTMAN_GIRISI.Departman
FROM dbo.XP_DEPARTMAN_GIRISI WITH (NOLOCK)
3- Listedeki kayıtlara tıkladığımızda silme ve düzenleme gibi işlemler yapmak için kaydın forma yüklenmesi için listeye bir aksiyon ekleyin. “When double clicked on row / Update Value” ikilisini kullanın ve aşağıdaki sorguyu ekleyin;
SELECT '$PUserTableID$' AS UserTableID
4- Form açıldığında departman listesinde bütün kayıtların gelmesini istiyoruz. Bu nedenle formun sağ tarafındaki alandan aksiyon ekleyin. “When the form is opened / Update Value” ikilisini kullanın ve Value Area alanına kayıtların görünmesini istediğiniz “DepartmanListesi”ni seçin.
(Formdaki her şeyi kaydetmek için lütfen aynı bölmedeki ve yazılımın üst kısmındaki kaydet düğmesine basmayı unutmayın)
Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.
──────────────────────────────
Ünvan Giriş Formu
- Unvan: Kullanıcılar için unvan.
- Yonetici: Yönetici olup olmadığını belirtmek için kontrol alanı
- Unvan_Listesi: Ünvan Listesi
1- Öncelikle tablomuza bir isim vermeli ve “XP_UNVAN_GIRIS” olarak adlandırmalıyız. Name alanına “Unvan_Girisi”, Display alanına “Ünvan Girişi” yazmalısınız.
Ardından forma Ünvan için Text Box, Yönetici kontrol alanı için Check Box ve kayıtlı verilerin Ünvan Listesinde listelenmesi için List aracı ekleyin. Uygun isimlendirmeyi yapın.
Formunuzun görünümü bu şekilde olacaktır:
2- Ardından Ünvan Listesine aşağıdaki sorguyu ekleyin:
SELECT
XP_UNVAN_GIRIS.UserTableID,
XP_UNVAN_GIRIS.Unvan AS [Ünvan],
XP_UNVAN_GIRIS.Yonetici AS [Yönetici]
FROM dbo.XP_UNVAN_GIRIS WITH (NOLOCK)
3- Listedeki kayıtlara tıkladığımızda silme ve düzenleme gibi işlemler yapmak için kaydın forma yüklenmesi için listeye bir aksiyon ekleyin. “When double clicked on row / Update Value” ikilisini kullanın ve aşağıdaki sorguyu ekleyin;
SELECT '$PUserTableID$' AS UserTableID
4- Form açıldığında ünvan listesinde bütün kayıtların gelmesini istiyoruz. Bu nedenle formun sağ tarafındaki alandan aksiyon ekleyin. “When the form is opened / Update Value” ikilisini kullanın ve Value Area alanına kayıtların görünmesini istediğiniz “UnvanListesi”ni seçin.
(Formdaki her şeyi kaydetmek için lütfen aynı bölmedeki ve yazılımın üst kısmındaki kaydet düğmesine basmayı unutmayın)
Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.
──────────────────────────────
Parametre Formu
1- Öncelikle tablomuza bir isim vermeli ve “XP_PARAMETRELER” olarak adlandırmalıyız. Name alanına “Parametreler”, Display alanına “Parametreler” yazmalısınız.
Ardından forma Departman ve Ünvan için iki tane DropDown Box, Limit için Figures Box ve kayıtlı verilerin Parametre Listesinde listelenmesi için List aracı ekleyin. Uygun isimlendirmeyi yapın.
Formunuzun görünümü bu şekilde olacaktır:
2- Departman açılır kutusunda Field Style alanını “SQL Query” olarak ayarlayın ve sorgu alanına aşağıdaki sorguyu yazın;
SELECT
XP_DEPARTMAN_GIRISI.UserTableID,
XP_DEPARTMAN_GIRISI.Departman
FROM dbo.XP_DEPARTMAN_GIRISI WITH (NOLOCK)
3- Ünvan açılır kutusunda Field Style alanını “SQL Query” olarak ayarlayın ve sorgu alanına aşağıdaki sorguyu yazın;
SELECT
XP_UNVAN_GIRIS.UserTableID,
XP_UNVAN_GIRIS.Unvan
FROM dbo.XP_UNVAN_GIRIS WITH (NOLOCK)
4- Ardından Parametre Listesine aşağıdaki sorguyu ekleyin:
SELECT
XP_PARAMETRELER.UserTableID,
XP_DEPARTMAN_GIRISI.Departman,
XP_UNVAN_GIRIS.Unvan as [Ünvan],
XP_PARAMETRELER.Limit
FROM dbo.XP_PARAMETRELER WITH (NOLOCK)
LEFT OUTER JOIN dbo.XP_DEPARTMAN_GIRISI WITH (NOLOCK) on XP_PARAMETRELER.Departman = XP_DEPARTMAN_GIRISI.UserTableID
LEFT OUTER JOIN dbo.XP_UNVAN_GIRIS WITH (NOLOCK) on XP_PARAMETRELER.Unvan = XP_UNVAN_GIRIS.UserTableID
Listedeki kayıtlara tıkladığımızda silme ve düzenleme gibi işlemler yapmak için kaydın forma yüklenmesi için listeye bir aksiyon ekleyin. “When double clicked on row / Update Value” ikilisini kullanın ve aşağıdaki sorguyu ekleyin;
SELECT '$PUserTableID$' AS UserTableID
5- Form açıldığında ünvan listesinde bütün kayıtların gelmesini istiyoruz. Bu nedenle formun sağ tarafındaki alandan aksiyon ekleyin. “When the form is opened / Update Value” ikilisini kullanın ve Value Area alanına kayıtların görünmesini istediğiniz “ParametreListesi”ni seçin.
(Formdaki her şeyi kaydetmek için lütfen aynı bölmedeki ve yazılımın üst kısmındaki kaydet düğmesine basmayı unutmayın)
Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.
──────────────────────────────
Kullanıcı Giriş Formu
- İsim: Kullanıcının ismi
- Soyisim: Kullanıcının soyismi
- Doğum Tarihi: Kullanıcı doğum tarihi
- Cinsiyet: Kullanıcının cinsiyeti
- Telefon numarası: Kullanıcının telefon numarası
- E-posta: Kullanıcının e-posta adresi
- Departman: Kullanıcının departmanı
- Ünvan: Kullanıcının ünvanı
- Xpoda Kullanıcısı: Xpoda kullanıcısı
1- Öncelikle tablomuza bir isim vermeli ve “XP_KULLANICI_GIRISI” olarak adlandırmalıyız. Name alanına “Kullanici_Girisi”, Display alanına “Kullanıcı Giriş Formu” yazmalısınız.
Ardından forma İsim, Soyisim, Telefon numarası, E-posta alanları için 4 adet Text Box aracı,
Cinsiyet, Departman, Ünvan, Xpoda Kullanıcısı alanları için 4 adet Drop Down Box aracı,
Doğum Tarihi için Date aracı,
Kullanıcıları Listelemek için Liste aracı ekleyin ve gerekli isimlendirmeyi yapın.
Formunuzun görünümü bu şekilde olacaktır:
2- İlk olarak form açıldığında ünvan listesinde bütün kayıtların gelmesini istiyoruz. Bu nedenle formun sağ tarafındaki alandan aksiyon ekleyin. “When the form is opened / Update Value” ikilisini kullanın ve Value Area alanına kayıtların görünmesini istediğiniz “KullaniciListesi”ni seçin.
3- Cinsiyet açılır kutu alanı için Field Style alanının “Constant Value” olduğundan emin olup Values alanına aşağıdakini yazın;
Kadın
Erkek
Diğer
4- Telefon Alanının mask alanını Phone seçin
5- Departman Drop Down Box aracının Field Style alanını “SQL Query” olarak seçip aşağıdaki sorguyu sorgu alanına ekleyin;
SELECT
XP_DEPARTMAN_GIRISI.UserTableID,
XP_DEPARTMAN_GIRISI.Departman
FROM dbo.XP_DEPARTMAN_GIRISI WITH (NOLOCK)
6- Ünvan Drop Down Box aracının Field Style alanını “SQL Query” olarak seçip aşağıdaki sorguyu sorgu alanına ekleyin;
SELECT
XP_UNVAN_GIRIS.UserTableID,
XP_UNVAN_GIRIS.Unvan
FROM dbo.XP_UNVAN_GIRIS WITH (NOLOCK)
7- Xpoda Kullanıcısı Drop Down Box aracının Field Style alanını “SQL Query” olarak seçip aşağıdaki sorguyu sorgu alanına ekleyin;
SELECT
XPODA_CLIENT_USERS.UserID,
XPODA_CLIENT_USERS.UserFullName
FROM dbo.XPODA_CLIENT_USERS WITH (NOLOCK)
8- Listedeki kayıtlara tıkladığımızda silme ve düzenleme gibi işlemler yapmak için kaydın forma yüklenmesi için listeye bir aksiyon ekleyin. “When double clicked on row / Update Value” ikilisini kullanın ve aşağıdaki sorguyu ekleyin;
SELECT '$PUserTableID$' AS UserTableID
KullaniciListesi Alanı
Şimdi tüm kayıtları göstermek istiyoruz. Bunu yapmak için araç kutusundan listelememiz ve “KullaniciListesi” olarak adlandırmamız gerekir.
SQL sorgusunda aşağıdaki sorguyu girin;
SELECT
XP_KULLANICI_GIRIS.UserTableID,
XP_KULLANICI_GIRIS.Isim AS İsim,
XP_KULLANICI_GIRIS.Soyisim,
XP_DEPARTMAN_GIRISI.Departman,
XP_UNVAN_GIRIS.Unvan AS Ünvan,
XPODA_CLIENT_USERS.UserFullName AS [Xpoda Kullanıcısı]
FROM dbo.XP_KULLANICI_GIRIS WITH (NOLOCK)
LEFT OUTER JOIN dbo.XP_DEPARTMAN_GIRISI WITH (NOLOCK) on XP_KULLANICI_GIRIS.Departman = XP_DEPARTMAN_GIRISI.UserTableID
LEFT OUTER JOIN dbo.XP_UNVAN_GIRIS WITH (NOLOCK) on XP_KULLANICI_GIRIS.Unvan = XP_UNVAN_GIRIS.UserTableID
LEFT OUTER JOIN dbo.XPODA_CLIENT_USERS WITH (NOLOCK) on XP_KULLANICI_GIRIS.X_Kullanici = XPODA_CLIENT_USERS.UserID
(Formdaki her şeyi kaydetmek için lütfen aynı bölmedeki ve yazılımın üst kısmındaki kaydet düğmesine basmayı unutmayın)
Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.
──────────────────────────────
Ürün Giriş Formu
- Ürün Adı: Ürünün adı
- Fiyat: Ürün fiyatı
- UrunListesi: Birisi tarafından gönderilen ürünler
1- Öncelikle tablomuza bir isim vermeli ve “XP_URUN_GIRISI” olarak adlandırmalıyız. Name alanına “Urun_Giris”, Display alanına “Ürün Giriş Formu” yazmalısınız.
Ardından forma Ürün Adı için Text Box, Fiyat için Figures Box ve kayıtlı verilerin Ürün Listesinde listelenmesi için List aracı ekleyin. Uygun isimlendirmeyi yapın.
Formunuzun görünümü bu şekilde olacaktır:
2- Ardından Ürün Listesine aşağıdaki sorguyu ekleyin:
SELECT
XP_URUN_GIRISI.UserTableID,
XP_URUN_GIRISI.UrunAdi AS [Ürün Adı],
XP_URUN_GIRISI.Fiyat
FROM dbo.XP_URUN_GIRISI WITH (NOLOCK)
Listedeki kayıtlara tıkladığımızda silme ve düzenleme gibi işlemler yapmak için kaydın forma yüklenmesi için listeye bir aksiyon ekleyin. “When double clicked on row / Update Value” ikilisini kullanın ve aşağıdaki sorguyu ekleyin;
SELECT '$PUserTableID$' AS UserTableID
3- Form açıldığında ürün listesinde bütün kayıtların gelmesini istiyoruz. Bu nedenle formun sağ tarafındaki alandan aksiyon ekleyin. “When the form is opened / Update Value” ikilisini kullanın ve Value Area alanına kayıtların görünmesini istediğiniz “UrunListesi”ni seçin.
(Formdaki her şeyi kaydetmek için lütfen aynı bölmedeki ve yazılımın üst kısmındaki kaydet düğmesine basmayı unutmayın)
Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.
──────────────────────────────
Alanlar
- ID: Kayıt için kimlik numarası
- Sorumlu: Talebi oluşturan kullanıcı
- Departman: Talebi oluşturan kullanıcının departmanı
- Başlık: Talebi oluşturan kullanıcının unvanı
- Tutar: Eklenen ürünlerin toplam fiyatı
- Ürün Adı: Ürün seçmek için
- Miktar: Kaç adet ürün talep edileceğini yazmak için
- Birim Fiyat: Ürünün birim fiyatı
- Toplam Fiyat: Toplam ürün fiyatını hesaplayın
Detay Alanları
- ID: Eklenen ürünün ID'sini göster
- Ürün Adı: Eklenen ürünün adını göster
- Miktar: Eklenen Miktarı Göster
- Birim Fiyat: Eklenen ürünün birim fiyatını göster
- Toplam Fiyat: Satırdaki toplam fiyatı hesapla
Butonlar
- Gönder: Seçilen ürünü detay listesine ekle
Yeni bir form ekleyin ve “Request_Entry” olarak adlandırın. Araç çubuğundan “ID”, “ Sorumlu”, “Departman”, “Başlık”, “Tutar”, “Ürün Adı”, “Adet”, “Birim Fiyat”, “Toplam Fiyat”, “Gönder” ekleyin. Lütfen ID, Miktar, Adet, Birim Fiyat ve Toplam Fiyatın sayısal olması gerektiğine dikkat edin.
Öncelikle tablomuza bir isim vermeliyiz ve “RM_REQUEST_ENTRY” olarak adlandırmalıyız ve ayrıca tablo adının üzerinde “Request_Entry” adını görmeli ve bu alana yazmalısınız.
Öncelikle tablomuza bir isim vermeliyiz ve “RM_REQUEST_ENTRY” olarak adlandırmalıyız ve ayrıca tablo adının üzerinde “Request_Entry” adını görmeli ve bu alana yazmalısınız.
Bu formdaki aksiyonlar
- Herhangi bir kayıt için uniq ID tanımlamak istiyoruz. Bu yüzden form açıldığında ID alanını güncellemek için eylem ekleyeceğiz. “Request_Entry” adı seçildiğinde bunu yapmak için ‘Add New Action’ a tıklamanız gerekir. Eylem türü “Form açıldığında” olmalıdır. İşlem “Değeri güncelle” ve Değer alanı “ID” olacaktır.
SQL alanına aşağıdaki sorguyu girin;
SELECT ISNULL(MAX(RM_REQUESTS.UserTableID),0)+1
FROM
dbo.RM_REQUESTS WITH (NOLOCK)
-
Formu açan kullanıcıyı göstermek istiyoruz. Bu yüzden Sorumluyu güncellemek için aksiyon ekleyeceğiz. “Request_Entry” adı seçildiğinde bunu yapmak için ‘Add New Action’ a tıklamanız gerekir. Eylem türü “Form açıldığında” olmalıdır. İşlem “Değer güncelle” ve Değer alanı “Sorumlu” olacaktır.
SQL alanına aşağıdaki sorguyu girin;
SELECT ‘$PActiveUser$’
Bu formdaki Yetkilendirme
- Hesaplama ve kullanıcı bilgilerinin değiştirilmemesini istiyoruz. Bu yüzden form için yetki ekleyeceğiz. Bunun için “Request_Entry” ismi seçili iken “Add New Authority” tıklanmalıdır. Yetki Tipi “Alanları değiştiremez” olmalıdır. Kullanıcı Tipi “Tüm Kullanıcılar” olacaktır. Alanlar “ID”, “Sorumlu”, “Departman”, “Unvan”, “Tutar”, “Birim Fiyat”, “Toplam Fiyat” olacaktır.
ID Alanı
Uniq ID tanımlamak için bir Sayısal Kutu ekleyeceğiz. İlk olarak, bir sayısal kutu ekleyin ve her iki alanda da “ID” olarak adlandırın.
Sorumluluk Alanı
Kullanıcı oluşturmayı kaydetmek için bir Açılır Kutu ekleyeceğiz. İlk olarak, bir açılır kutu ekleyin ve her iki alanda da “Sorumlu” olarak adlandırın.
SQL alanına aşağıdaki sorguyu girin;
SELECT XPODA_CLIENT_USERS.UserID, XPODA_CLIENT_USERS.UserFullName
FROM
dbo.XPODA_CLIENT_USERS WITH (NOLOCK)
Bu alandaki aksiyonlar
-
Bu formda kullanıcının departmanını göstermek istiyoruz. Bu yüzden sorumlu alanı değiştirildiğinde departman alanını güncellemek için eylem ekleyeceğiz. “Sorumlu” adı seçildiğinde bunu yapmak için ‘Yeni Eylem Ekle’ ye tıklamanız gerekir. Eylem türü “ Değer değiştiğinde” olmalıdır. İşlem “Değeri güncelle” ve Değer alanı “Departman” olacaktır.
SQL alanına aşağıdaki sorguyu girin;
SELECT RM_USER_ENTRY.Department
FROM
dbo.RM_USER_ENTRY WITH (NOLOCK)
WHERE RM_USER_ENTRY.Xpoda_User = '$PResponsible'
-
Bu formda kullanıcının unvanını göstermek istiyoruz. Bu yüzden sorumlu alanı değiştirildiğinde başlık alanını güncellemek için eylem ekleyeceğiz. “Sorumlu” adı seçildiğinde bunu yapmak için ‘Yeni Eylem Ekle’ ye tıklamanız gerekir. Eylem türü “ Değer değiştiğinde” olmalıdır. İşlem “Değeri güncelle” ve Değer alanı “Unvan” olacaktır.
SQL alanına aşağıdaki sorguyu girin;
SELECT RM_USER_ENTRY.Title FROM dbo.RM_USER_ENTRY WITH (NOLOCK)
WHERE
RM_USER_ENTRY.Xpoda_User = '$PResponsible'
Departman Alanı
Kullanıcının departmanını göstermek için bir Açılır Kutu ekleyeceğiz. İlk olarak, bir açılır kutu ekleyin ve her iki alanda da “Departman” olarak adlandırın.
SQL alanına aşağıdaki sorguyu girin;
SELECT RM_DEPARTMENT_ENTRY.UserTableID, RM_DEPARTMENT_ENTRY.Department
FROM
dbo.RM_DEPARTMENT_ENTRY WITH (NOLOCK)
Ünvan Alanı
Kullanıcının unvanını göstermek için bir Açılır Kutu ekleyeceğiz. İlk olarak, bir açılır kutu ekleyin ve her iki alanda da “Unvan” olarak adlandırın.
SQL alanına aşağıdaki sorguyu girin;
SELECT RM_TITLE_ENTRY.UserTableID, RM_TITLE_ENTRY.Title FROM dbo.RM_TITLE_ENTRY WITH
(NOLOCK)
Tutar Alanı
Listedeki toplam fiyatı hesaplamak için bir Sayısal Kutu ekleyeceğiz. İlk olarak, her iki alana da sayısal bir kutu ekleyin ve “Tutar” olarak adlandırın.
Bu alandaki eylemler
- Listedeki toplam fiyatı hesaplamak istiyoruz. Bu yüzden yeni bir satır eklendiğinde tutar alanını güncellemek için eylem ekleyeceğiz. “Tutar” adı seçildiğinde bunu yapmak için ‘Yeni Eylem Ekle’ ye tıklamanız gerekir. Eylem türü “Değer değiştiğinde” olmalıdır. İşlem “hesapla” olacaktır. Hesaplama “sum(Total)” olmalıdır
Ürün Adı Alanı
Bir ürün seçmek için bir Açılır Kutu ekleyeceğiz. İlk olarak, bir açılır kutu ekleyin ve her iki alanda da “Ürün Adı” olarak adlandırın.
SQL Sorgusunda aşağıdaki sorguyu girin;
SELECT RM_PRODUCT_ENTRY.UserTableID, RM_PRODUCT_ENTRY.Name FROM
dbo.RM_PRODUCT_ENTRY WITH (NOLOCK)
Bu alandaki faaliyetler
- Ürünün birim fiyatını göstermek istiyoruz. Bu nedenle, ürün adı alanı değiştirildiğinde birim fiyat alanını güncellemek için eylem ekleyeceğiz. “Ürün Adı” adı seçildiğinde bunu yapmak için ‘Yeni Eylem Ekle’ ye tıklamanız gerekir. Eylem türü “Değer değiştiğinde” olmalıdır. İşlem “Değeri güncelle” ve Değer alanı “Birim Fiyat” olacaktır.
SQL alanına aşağıdaki sorguyu girin;
SELECT RM_PRODUCT_ENTRY.Price FROM dbo.RM_PRODUCT_ENTRY WITH (NOLOCK)
WHERE
RM_PRODUCT_ENTRY.UserTableID = '$PProduct_Name'
Miktar Alanı
Kaç birim talep edileceğini yazmak için bir Sayısal Kutu ekleyeceğiz. İlk olarak, bir Sayısal kutu ekleyin ve her iki alanda da “Adet” olarak adlandırın.
Bu alandaki aksiyonlar
- Ürünün toplam fiyatını göstermek istiyoruz. Bu yüzden Qty alanı değiştirildiğinde toplam fiyat alanını güncellemek için eylem ekleyeceğiz. “Qty” adı seçildiğinde bunu yapmak için ‘Add New Action ’a tıklamanız gerekir. Eylem türü “Değer değiştiğinde” olmalıdır. İşlem “Matematiksel İşlemler” ve Bağlı alan “Toplam_Fiyat” olacaktır. Hesaplama alanı “ ‘$PQty$’ * ‘$PUnit_Price$’ ” olmalıdır
Birim Fiyat Alanı
Ürünün birim fiyatını göstermek için bir Sayısal Kutu ekleyeceğiz. İlk olarak, her iki alana da sayısal bir kutu ekleyin ve “Birim Fiyat” olarak adlandırın.
Toplam Fiyat Alanı
Ürünün toplam fiyatını göstermek için bir Sayısal Kutu ekleyeceğiz. İlk olarak, her iki alana da sayısal bir kutu ekleyin ve “Toplam Fiyat” olarak adlandırın.
Submit Button
Şimdi detay listesine satır eklemek için bir Düğme ekleyeceğiz. İlk olarak, bir düğme ekleyin ve “Gönder” olarak adlandırın.
Bu alandaki aksiyonlar
- Detay listesine satır eklemek istiyoruz. Bu yüzden gönder butonuna tıklandığında detay listesine eşleme yapmak için aksiyon ekleyeceğiz. Bunun için “Submit” ismi seçildiğinde “Add New Action” tıklanmalıdır. Aksiyon tipi “Tıklandığında” olmalıdır. İşlem “Grid - Satır Ekle” olacaktır.
Eşleme alanına aşağıdaki metni girin;
ID = Product_Name
Name = Product_Name_Text
Qty = Qty
UnitPrice = Unit_Price
Total = Total_Price
Detay Listesi Alanları
- ID Alanı
Bundan sonra ürün bilgilerini kaydetmek için bir grid ekleyeceğiz. Öncelikle grid üzerinde bulunan “Add New Field” butonuna tıklayın ve alan tipini “Integer” olarak seçin. Görünen ad ve alan adı “ID” olacak ve biçim alan türüyle aynı olmalıdır. Lütfen “Değiştirilebilir” alanının “Hayır” olması gerektiğine dikkat edin. Daha sonra Grid Alanı İşlemlerinde kaydet butonuna tıklanır.
- İsim Alanı
Grid alanı işlemlerinde yeni bir alan ekleyeceğiz. Öncelikle grid üzerinde bulunan “Add New Field” butonuna tıklanır ve alan tipi “Text” olarak seçilir. Görünen ad ve alan adı “Ad” olacak ve biçim boş olmalıdır. Lütfen “Değiştirilebilir” alanının “Hayır” olması gerektiğine dikkat edin. Daha sonra Grid Alanı İşlemlerinde kaydet butonuna tıklanır.
- Miktar Alanı
Grid alanı işlemlerinde yeni bir alan ekleyeceğiz. Öncelikle grid üzerinde bulunan “Add New Field” butonuna tıklanır ve alan tipi “Integer” olarak seçilir. Görünen ad ve alan adı “Miktar” olacak ve biçim alanın türüyle aynı olmalıdır. Lütfen “Değiştirilebilir” alanının “Hayır” olması gerektiğine dikkat edin. Daha sonra Grid Alanı İşlemlerinde kaydet butonuna tıklanır.
- Birim Fiyat Alanı
Grid alanı işlemlerinde yeni bir alan ekleyeceğiz. Öncelikle grid üzerinde bulunan “Add New Field” butonuna tıklanır ve alan tipi “Integer” olarak seçilir. Görünen ad ve alan adı “Birim Fiyat” olacak ve biçim alanın türüyle aynı olmalıdır. Lütfen “Değiştirilebilir” alanının “Hayır” olması gerektiğine dikkat edin. Daha sonra Grid Alanı İşlemlerinde kaydet butonuna tıklanır.
- Total Alanı
Son olarak grid alanı işlemlerine son bir alan ekleyeceğiz. Öncelikle grid üzerinde bulunan “Add New Field” butonuna tıklanır ve alan tipi “Integer” olarak seçilir. Görünen ad ve alan adı “Toplam” olacak ve biçim alanın türüyle aynı olmalıdır. Lütfen “Değiştirilebilir” alanının “Hayır” olması gerektiğine dikkat edin. Bundan sonra Izgara Alanı İşlemlerinde kaydet düğmesine tıklayın.
(Formdaki her şeyi kaydetmek için lütfen aynı bölmedeki ve yazılımın üst kısmındaki kaydet düğmesine basmayı unutmayın)
Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.
──────────────────────────────
-
Belge: Akışın çalışacağı form
-
Başla: Akışı başlatmak için
-
Belge Oluşturun: Hat kaydının silinmesine veya kaydedilmesine karar verin
-
Silme: Akış devamı için kayıt silme
-
Bitiş: Kayıt silinir ve akış sona erer
-
Karar: Onay gönderilecek veya tamamlanacak satıra karar verin
-
Onaya Gönder: Kullanıcıya karar vermek için istek gönder
-
Tamamlandı: Kayıt tamamlandı ve akış sona erdi.
-
DecisionQuery: Karar alanında sorgu ile karar verin
Akış ekranını açacağız ve “Belge”, “Başlangıç”, “Belge Oluştur”, “Sil”, “Son” alanlarını göreceğiz. Bundan sonra alanları çizgilerle bağlayacağız.
Doküman Alanı
Burada akışı kullanacağımız forma karar vereceğiz. Metin alanı “Belge” olacak. Belge alanı “Request_Entry” olarak seçilmelidir. Lütfen Otomatik başlatmanın “Evet” olması gerektiğine dikkat edin.
Başlangıç Alanı
Bu alan başlangıç aracıdır. Metin alanı “Start” olacaktır.
Doküman Yarat
Bu alan aracı oluşturmaya veya silmeye karar verir. Bu alandan sonra çizgilerin nereye gideceğini belirlemeliyiz. Belge kaydedildiğinde akış karar alanına gider. Belge silindiğinde akış alanı silecektir.
Silme Alanı
Bu alan silme aracıdır. Metin alanı “Sil” olacaktır. Belge silindiğinde akış bu satırı seçecektir.
Bitiş Alanı
Bu alan bitiş aracıdır. Metin alanı “Son” olacaktır. Belge silindiğinde veya reddedildiğinde akış bu satırı seçecektir.
DecisionQuery Alanı
Nesne aracı ekleyeceğiz. Bu alanı akıştaki kayıtla ilgili satıra karar vermek için kullanacağız. Metin alanı “DecisionQuery” olacak. Akış, toplam talep miktarı sorumlu limitinden fazla olduğunda onaya göndermeyi seçer.
SQL sorgusunda aşağıdaki sorguyu girin;
SELECT CASE WHEN RM_TITLE_ENTRY.Manager=1 THEN 0 WHEN RM_TITLE_ENTRY.Manager=0
AND RM_PARAMETERS.Limit >= RM_REQUESTS.Amount THEN 0 ELSE 1 END AS SendManager
FROM dbo.RM_REQUESTS WITH (NOLOCK) LEFT OUTER JOIN dbo.RM_TITLE_ENTRY WITH
(NOLOCK) on RM_REQUESTS.Title = RM_TITLE_ENTRY.UserTableID LEFT OUTER JOIN
dbo.RM_PARAMETERS WITH (NOLOCK) on RM_REQUESTS.Department =
RM_PARAMETERS.Department and RM_PARAMETERS.Title = RM_REQUESTS.Title WHERE
RM_REQUESTS.UserTableID = '$PUserTableID'
Decision Alanı
Akışa karar ekleyeceğiz. Sorgu sonucu 1 döndüğünde akış “onaya gönder” seçilir. Aksi takdirde otomatik olarak onaylanacaktır.
Send to Approval Alanı
Onay aracına gönderme ekleyeceğiz. Kullanıcılarda talep hakkında karar verecek kullanıcıyı seçeceğiz. Kullanıcı Eylemleri düğmesine tıklayın ve açılan pencereden kullanıcı seçin.
End Alanı
Son olarak bitiş aracını ekleyeceğiz ve alanlar arasındaki tüm çizgileri birleştireceğiz.
(Formdaki her şeyi kaydetmek için lütfen aynı bölmedeki ve yazılımın üst kısmındaki kaydet düğmesine basmayı unutmayın)
Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.
──────────────────────────────
Alan
- Flow_List: Akıştaki talepleri gösterin (onaya gönderildi)
Butonlar
- Yorum ekle: Akışa yorum ekleyin.
- Onaylayın: İsteği onaylayın
- Reddet: İsteği reddet
Yeni bir form ekleyin ve adını “Confirmation_Screen” koyun. Araç çubuğundan “Flow_List”, “Comment”, “Approve”, “Reject”, “Show Request” ekleyin.
Öncelikle formumuza bir isim verelim ve “Onay Ekranı” olarak adlandıralım. Türü “Rapor” olarak seçeceğiz.
Bu Formdaki Aksiyonlar
- Listedeki tüm kayıtları göstermek istiyoruz. Bu yüzden form açıldığında Flow_List alanını güncellemek için eylem ekleyeceğiz. Bunun için “Confirmation_Screen” ismi seçili iken “Add New Action” tıklanmalıdır. Eylem türü “Form açıldığında” olmalıdır. İşlem “Değer güncelle” ve Değer alanı “Akış_Listesi” olacaktır.
Flow_List Alanı
Bekleyen talepleri göstermek için bir liste ekleyeceğiz. İlk olarak, bir liste ekleyin ve her iki alana da “Flow_List” adını verin.
SQL Sorgusunda aşağıdaki sorguyu girin;
SELECT XPODA_WORK_FLOWS.FlowID AS [|FlowID], RM_REQUESTS.UserTableID,
RM_REQUESTS.ProjectID, RM_REQUESTS.FormTypeID, XPODA_CLIENT_USERS.UserFullName AS
Responsible, RM_REQUESTS.Amount FROM dbo.XPODA_WORK_FLOWS WITH (NOLOCK) LEFT
OUTER JOIN dbo.RM_REQUESTS WITH (NOLOCK) on XPODA_WORK_FLOWS.FlowDocumentID =
RM_REQUESTS.UserTableID LEFT OUTER JOIN dbo.XPODA_CLIENT_USERS WITH (NOLOCK) on
RM_REQUESTS.CreateUser = XPODA_CLIENT_USERS.UserID WHERE
XPODA_WORK_FLOWS.FlowProses = 'a23' AND XPODA_WORK_FLOWS.FlowState = '0' AND
XPODA_WORK_FLOWS.FlowUserID = '$PActiveUser'
Yorum Alanı
Akışa yorum eklemek için bir Metin Kutusu ekleyeceğiz. İlk olarak, bir metin kutusu ekleyin ve her iki alana da “Yorum” adını verin.
Butonlar
- Onay Butonu
Listedeki akışı güncellemek için bir düğme ekleyeceğiz. İlk olarak, bir düğme ekleyin ve her iki alanda da “Onayla” olarak adlandırın.
Bu alandaki aksiyonlar
- Listede seçili satırı güncellemek istiyoruz. “Onayla” adı seçildiğinde bunu yapmak için ‘Yeni Eylem Ekle’ ye tıklamanız gerekir. Aksiyon tipi “ Tıklandığında” olmalıdır. İşlem “ Akışı Güncelle” olacaktır. Açıklama “Yorum” olacaktır. İşlem Türü “Tamamlandı” olacaktır. Bağlantılı Liste “Flow_List” olacaktır. Liste ID Alanı “FlowID” olacak.
- Satır onaylandığında listedeki satırı kaldırmak istiyoruz. Bunu yapmak için “Onayla” adı seçildiğinde “Yeni Eylem Ekle” ye tıklamanız gerekir. Eylem Türü “Tıklandığında” olmalıdır. İşlem “Listeden Satır Kaldır” ve Bağlı Liste “Akış_Listesi” olacaktır.
Reject Butonu
Listedeki akışı güncellemek için bir düğme ekleyeceğiz. İlk olarak, bir düğme ekleyin ve her iki alanda da “Reddet” olarak adlandırın.
Bu alandaki aksiyonlar
- Listede seçili satırı güncellemek istiyoruz. “Reddet” adı seçildiğinde bunu yapmak için ‘Yeni Eylem Ekle’ ye tıklamanız gerekir. Eylem türü “ Tıklandığında” olmalıdır. İşlem “ Akışı Güncelle” olacaktır. Açıklama “Yorum” olacaktır. İşlem Türü “Tamamlandı” olacaktır. Bağlantılı Liste “Flow_List” olacaktır. Liste ID Alanı “FlowID” olacak.
- Satır onaylandığında listedeki satırı kaldırmak istiyoruz. Bunu yapmak için “Reddet” adı seçildiğinde “Yeni Eylem Ekle” ye tıklamanız gerekir. Eylem Türü “Tıklandığında” olmalıdır. İşlem “Listeden Satır Kaldır” ve Bağlı Liste “Akış_Listesi” olacaktır.
Show Request Butonu
Listedeki akışı güncellemek için bir düğme ekleyeceğiz. İlk olarak, bir düğme ekleyin ve her iki alanda da “İsteği Göster” olarak adlandırın.
Bu alandaki aksiyonlar
- Pop-up ile satır detayını göstermek istiyoruz. Bunun için “Show Request” ismi seçildiğinde “Add New Action” tıklanmalıdır. Aksiyon tipi “ Tıklandığında” olmalıdır. İşlem “ Formu Aç (Detay)” olacaktır. Koşul “Yeni pencerede” olacaktır. Proje “Talep Yönetimi Eğitimi” olacaktır. Form “Talep Girişi” olacaktır. Bağlı liste “Akış_Listesi” olacaktır. Liste Alanı Kimliği “UserTableID” olacaktır. Liste Türü Alanı “FormTypeID” olacaktır.
(Formdaki her şeyi kaydetmek için lütfen aynı bölmedeki ve yazılımın üst kısmındaki kaydet düğmesine basmayı unutmayın)
Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.
──────────────────────────────
- İstek_Listesi: Tamamlanmış talepleri gösterin.
- Department_Chart: Tamamlanan talepleri departmanlara göre gösterin.
- Title_Chart: Başlıklara göre tamamlanmış talepleri gösterin.
Yeni bir form ekleyin ve “Dashboard” olarak adlandırın. Araç çubuğundan “Request_List”, “Department_Chart”, “Title_Chart” ekleyin.
Öncelikle formumuza bir isim verelim ve “Dashbord” olarak adlandıralım. Türü “Rapor” olarak seçeceğiz.
Bu alandaki aksiyonlar
- Listedeki tüm kayıtları göstermek istiyoruz. Bu yüzden form açıldığında Request_List alanını güncellemek için eylem ekleyeceğiz. Bunun için “Dashbord” ismi seçildiğinde “Add New Action” tıklanmalıdır. Eylem türü “Form açıldığında” olmalıdır. İşlem “Değeri güncelle” ve Değer alanı “İstek_Listesi” olacaktır.
- Grafikteki tüm kayıtları departmana göre göstermek istiyoruz. Bu yüzden form açıldığında Department_Chart alanını güncellemek için aksiyon ekleyeceğiz. “Dashbord” adı seçildiğinde bunu yapmak için ‘Yeni Eylem Ekle’ ye tıklamanız gerekir. Eylem türü “Form açıldığında” olmalıdır. İşlem “Değer güncelle” ve Değer alanı “Departman_Cizelgesi” olacaktır.
- Grafikteki tüm kayıtları unvanlarına göre göstermek istiyoruz. Bu yüzden form açıldığında Title_Chart alanını güncellemek için aksiyon ekleyeceğiz. Bunu yapmak için “Dashbord” adı seçildiğinde “Yeni Eylem Ekle” ye tıklamanız gerekir. Eylem türü “Form açıldığında” olmalıdır. İşlem “Değer güncelle” ve Değer alanı “Title_Chart” olacaktır.
Request_List Alanı
Tamamlanmış talepleri göstermek için bir liste ekleyeceğiz. Öncelikle bir liste ekleyin ve her iki alana da “Request_List” adını verin.
SQL Sorgusunda aşağıdaki sorguyu girin;
SELECT RM_REQUESTS.UserTableID, RM_REQUESTS.ProjectID, RM_REQUESTS.FormTypeID,
RM_TITLE_ENTRY.Title, RM_DEPARTMENT_ENTRY.Department,
XPODA_CLIENT_USERS.UserFullName AS Responsible, RM_REQUESTS.Amount, CASE WHEN
XPODA_WORK_FLOWS.FlowItemText='Complited' THEN 'Approved' WHEN
XPODA_WORK_FLOWS.FlowItemText <>'Complited' THEN 'Rejected' ELSE 'Waiting' END AS Status
FROM dbo.RM_REQUESTS WITH (NOLOCK) LEFT OUTER JOIN dbo.RM_TITLE_ENTRY WITH
(NOLOCK) on RM_REQUESTS.Title = RM_TITLE_ENTRY.UserTableID LEFT OUTER JOIN
dbo.RM_DEPARTMENT_ENTRY WITH (NOLOCK) on RM_REQUESTS.Department =
RM_DEPARTMENT_ENTRY.UserTableID LEFT OUTER JOIN dbo.XPODA_CLIENT_USERS WITH
(NOLOCK) on RM_REQUESTS.Responsible = XPODA_CLIENT_USERS.UserID LEFT OUTER JOIN
dbo.XPODA_WORK_FLOWS WITH (NOLOCK) on RM_REQUESTS.UserTableID =
XPODA_WORK_FLOWS.FlowDocumentID AND RM_REQUESTS.ProjectID =
XPODA_WORK_FLOWS.FlowProjectID WHERE XPODA_WORK_FLOWS.FlowProses = 'a2'
Bu alandaki aksiyonlar
- Satır detayını göstermek istiyoruz. Bunu yapmak için “Dashbord” adı seçildiğinde “Yeni Eylem Ekle” ye tıklamanız gerekir. Eylem türü “ Satıra çift tıklandığında” olmalıdır. İşlem “ Formu Aç (Detay)” olacaktır. Koşul “Yeni pencerede” olacaktır. Proje “Talep Yönetimi Eğitimi” olacaktır. Form “Talep Girişi” olacaktır. Bağlı liste “Akış_Listesi” olacaktır. Liste Alanı Kimliği “UserTableID” olacaktır. Liste Türü Alanı “FormTypeID” olacaktır.
Department_Chart Alanı
Departmana göre tamamlanmış kayıtları göstermek için bir Grafik ekleyeceğiz. İlk olarak, bir Grafik ekleyin ve “Departman_Grafik” olarak adlandırın. Metin “Departman Tutarı” olarak
SQL Sorgusunda aşağıdaki sorguyu girin;
SELECT sum(RM_REQUESTS.Amount) as Amount, RM_DEPARTMENT_ENTRY.Department FROM
dbo.RM_REQUESTS WITH (NOLOCK) LEFT OUTER JOIN dbo.RM_DEPARTMENT_ENTRY WITH
(NOLOCK) on RM_REQUESTS.Department = RM_DEPARTMENT_ENTRY.UserTableID GROUP BY
RM_DEPARTMENT_ENTRY.Department
Title_Chart Alanı
Tamamlanmış kayıtları başlıklara göre göstermek için bir Grafik ekleyeceğiz. İlk olarak, bir Grafik ekleyin ve “Title_Chart” olarak adlandırın. Metin “Başlık Miktarı” olarak
SQL Sorgusunda aşağıdaki sorguyu girin;
SELECT sum(RM_REQUESTS.Amount) as Amount, RM_TITLE_ENTRY.Title FROM
dbo.RM_REQUESTS WITH (NOLOCK) LEFT OUTER JOIN dbo.RM_TITLE_ENTRY WITH (NOLOCK) on
RM_REQUESTS.Title = RM_TITLE_ENTRY.UserTableID GROUP BY RM_TITLE_ENTRY.Title
(Formdaki her şeyi kaydetmek için lütfen aynı bölmedeki ve yazılımın üst kısmındaki kaydet düğmesine basmayı unutmayın)
Değişiklikleri/yeni eklenen formları görmek için uygulamamızı kaydedelim ve çalıştıralım.