Bu örnek; kullanıcıların yeni bir bilet açıp göndermelerine, görevleri son teslim tarihlerine göre paylaşmalarına ve görev programlarını görmelerine izin veren bir uygulamanın nasıl geliştirileceğini gösterir. Kullanıcılar herhangi bir sorun veya isteğin mesajını ekleyebilirler.
▶️ Şimdi İzleyin: Görev Yönetimi
──────────────────────────────
Uygulamanızı Tasarlayın
Bu örnekte, işlevselliği kapsayacak şekilde 4 farklı form oluşturacağız:
Task Identification: Görev tanımlamaları için oluşturulacak form.
Variable Definition: Değişken tanımı için oluşturulacak form.
Activites: Aktiviteler için oluşturulacak form.
Canban: Kanban için oluşturulacak form.
──────────────────────────────
Lütfen unutmayın! Octopod Studio, 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ı arayüzünü tasarladığımıza göre, Octopod Studio kullanarak uygulamayı geliştirme zamanı geldi. Octopod Studio'ya giriş yapalım.
──────────────────────────────
Task Identification Form (Görev Tanımlama Formu)
Task Type (Görev Türü): Herhangi bir istek/sorun.
Task Title (Görev Başlığı): Sorunun/talebin adı.
Status (Durum): Görevin durumu (yeni, devam ediyor, tamamlandı, iptal edildi vb.).
Comments (Yorumlar): Bazı ek notlar.
Deadline (Son Tarih): Bilet verilen belirli bir zaman.
Priority (Öncelik): Bir öncelik seçmek için.
Responsible (Sorumlu): Biletten sorumlu kişi.
Attachment (Ek): Herhangi bir ek dosya eklemek için.
GridListe_1: Birisi tarafından gönderilen mesajlar.
Submit Activity (Etkinlik Gönder): Projedeki herhangi bir iş/istek.
Hours (Saatler): Görevin çalışma saati.
Percentage (Yüzde): Görevin çalışma yüzdesi.
UserTableID: Görevlere bağlı mesajları göstermek için.
DUID: Form, açılır pencere olarak açıldığında tüm formları güncellemek için.
Buton - Submit (Gönder): Yeni mesajı/aktiviteyi göndermek için.
Yeni bir form ekleyelim. Öncelikle tablomuzu “TM_TASKS” olarak adlandıralım ve tablo adı kısmına “Task Identification” yazalım.
Task Type Field (Görev Tipi Alanı)
Şimdi verileri veritabanımızdan çekmek için bir Açılır Kutu ekleyeceğiz. İlk olarak, bir açılır kutu ekleyelim ve “Task Type” olarak adlandıralım. Veri tabanımızdan veri çekmek için. “Task Type” açılır kutusununa tıklayıp sağ taraftaki ayarlar sekmesinden Field Type SQL Query olarak değiştirmeliyiz. Sorgu kutusuna aşağıdaki sorguyu girelim;
SELECT
TM_VARIABLE.UserTableID,
TM_VARIABLE.Name
FROM dbo.TM_VARIABLE WITH (NOLOCK)
WHERE TM_VARIABLE.Type = '1'
Task Title Field (Görev Başlığı Alanı)
Konuya/talebe bir isim vermek için Metin Kutusu ekleyelim ve “Task Title” olarak adlandıralım.
Alandaki Aksiyon
-
Alandaki ikona tıklandığında tüm kayıtları göstermemiz gerekiyor. "Task_Title" alanına yeni bir aksiyon ekleyelim. Type of Action "Keyboard imput", Access “F10”, Operation “Open form (list)”, Condition "In new window" olarak seçelim. Value area “all form” olmalıdır, çünkü kullanıcılar herhangi bir satırı tıkladıklarında tüm formları güncellememiz ve kayıt dışı göstermemiz gerekir.
Sorgu kutusuna aşağıdaki sorguyu girelim;
SELECT
TM_TASKS.UserTableID,
TM_TASKS.Task_Title AS Title,
TM_TASKS.Comments,
TM_TASKS.Deadline,
TM_VARIABLE.Name AS Status, XPODA_CLIENT_USERS.UserFullName AS Responsible
FROM dbo.TM_TASKS WITH (NOLOCK) LEFT OUTER JOIN dbo.TM_VARIABLE WITH (NOLOCK) on
TM_TASKS.Status = TM_VARIABLE.UserTableID LEFT OUTER JOIN dbo.XPODA_CLIENT_USERS
WITH (NOLOCK) on TM_TASKS.Responsible = XPODA_CLIENT_USERS.UserID
Status Field (Durum Alanı)
Şimdi verileri veritabanımızdan çekmek için bir Açılır Kutu ekleyelim ve “Status” olarak adlandıralım. Veri tabanımızdan veri çekmek için. “Status” açılır kutusuna tıklandığında alan türünü SQL Query olarak değiştirmeliyiz. Sorgu kutusuna aşağıdaki sorguyu yazalım;
SELECT
TM_VARIABLE.UserTableID,
TM_VARIABLE.Name
FROM dbo.TM_VARIABLE WITH (NOLOCK)
WHERE TM_VARIABLE.Type = '6'
Comment Field (Yorum Alanı)
Projenin,konunun veya talebin ne hakkında olduğunu açıklamak için ekleyeceğimiz alandır. Forma bir Text Box ekleyelim ve “Comments” olarak adlandıralım.
Deadline Field (Son Tarih Alanı)
Projeye termin vermemiz gerekiyor ve bunu yapabilmek için; sol bölmedeki araç kutusundan bir Tarih alanı ekliyoruz ve “Deadline” olarak adlandırıyoruz.
Priority Field (Öncelik Alanı)
Şimdi verileri veritabanımızdan çekmek için bir Açılır Kutu ekleyeceğiz. İlk olarak, bir açılır kutu ekleyelim ve “Priorty” olarak adlandıralım. Veri tabanımızdan veri çekmek için. “Priorty” açılır kutusunun alan tipini SQL Query olarak değiştirmeliyiz. Sorgu kutusuna aşağıdaki sorguyu girelim;
SELECT
TM_VARIABLE.UserTableID,
TM_VARIABLE.Name
FROM dbo.TM_VARIABLE WITH (NOLOCK)
WHERE TM_VARIABLE.Type = '11'
Responsible Field (Sorumlu Alanı)
Verileri veritabanımızdan çekmek için bir Açılır Kutu ekleyeceğiz. İlk önce bir açılır kutu ekleyelim ve “Responsible” olarak adlandıralım. Alan türünü SQL Query olarak değiştirelim. Sorgu kutusuna aşağıdaki sorguyu girelim;
SELECT
XPODA_CLIENT_USERS.UserID,
XPODA_CLIENT_USERS.UserFullName
FROM dbo.XPODA_CLIENT_USERS WITH (NOLOCK)
Attachments Field (Ekler Alanı)
Dosyalarla (resimler, dokümanlar vb.) sorunu tespit etmek ve sorunumuzu/talepimizi daha anlaşılır kılmak isteyebiliriz. Sol taraftaki bölmeden “Add File” alanını ekleyelim ve “Attachments” olarak adlandıralım.
GridListe_1 Alanı
Şimdi, seçilen görevdeki kullanıcılar tarafından gönderilen görev mesajlarını göstermek istiyoruz. Bunun için araç kutusundan Grid List'e ihtiyacımız var. Grid List ekleyelim ve “GridListe_1” olarak adlandıralım. Sorgu kutusuna aşağıdaki sorguyu yazalım;
SELECT
TM_ACTIVITIES.UserTableID,
TM_ACTIVITIES.Message,
TM_ACTIVITIES.Hours,
TM_ACTIVITIES.Percentage
FROM dbo.TM_ACTIVITIES WITH (NOLOCK)
WHERE TM_ACTIVITIES.Task_ID = '$PUserTableID'
Message Field (Mesaj Alanı)
Görevle ilgili bir mesaj / istek yazmak için bu alanı kullanacağız. Bunu yapmak için, bir Text Box ekleyelim ve “Message” olarak adlandıralım. Alan uzunluğunu diğer metin kutularından daha fazla belirleyebiliriz. Metin kutusunun "Form Only" ve "Multi Line" özelliklerinin "Yes" olarak seçilmesi gerektiğine dikkat edelim.
Hours Field (Saat Alanı)
Bu alanı çalışma zamanı için kullanacağız. Araç sekmesinden Hour aracını ekleyelim ve “Hours” olarak adlandıralım. "Form Only" özelliği "Yes" olarak seçilmelidir.
Percentage Field (Yüzde Alanı)
Bu alanı çalışma zamanı için kullanacağız. Araç sekmesinden Numeric Box aracını ekleyelim ve “Percentage” olarak adlandıralım. "Form Only" özelliği "Yes" olarak seçilmelidir.
UserTableID Alanı
Bu alanı aktivite listesini güncellemek ve görev mesajlarını göstermek için kullanacağız. Numeric Box "Form Only" özelliği "Yes" olarak seçilmelidir.
Alandaki Aksiyon
-
Tüm görev mesajlarını göstermek istiyoruz. "UserTableID" alanına yeni bir aksiyon ekleyelim.Type of Action "When value changes", Operation "Update Value", Value area “GridListe_1” olarak seçilmelidir.
DUID Alanı
Bu alanı kanban formuna bağlanmak için kullanacağız. Kullanıcılar ek eklemek için herhangi bir görevi seçtiklerinde veya kanban formundan görev alanlarını güncellediğinde bu formu güncelleyeceğiz. Lütfen Numeric Box aracının "Form Only" özelliği "Yes" olarak seçilmelidir.
Alandaki Aksiyon
-
“DUID” alanına yeni bir aksiyon ekleyelim. .Type of Action "When value changes", Operation "Update Value", Value area “all form” olarak seçilmelidir. Sorgu kutusuna aşağıdaki sorguyu girelim;
SELECT * FROM TM_TASKS WHERE UserTableID = '$PDUID$'
Butonlar
Submit "Gönder" Düğmesi
Bir görevi, doldurulan mesajı, saati ve yüzdeyi seçtikten sonra, görev yöneticisi tarafından görebilmesi için bu aktiviteyi kaydetmemiz gerekiyor. Araç kutusundan bir Buton ekleyelim ve “Submit” olarak adlandıralım. Şimdi butonun çalışması için yeni bir aksiyon eklemeliyiz. Bu buton seçiliyken, aksiyonlar panelinden bir aksiyon ekleyelim. Type of Action "When clicked" ve Operation “Open form (linked)” olarak seçelim.
Alandaki Aksiyon
-
“Submit” butonuna tıklandığında aktivite/görev talebini kaydetmek istiyoruz. Bunu yapmak için yeni bir aksiyon oluşturmalıyız. “Submit” butonu seçiliyken, yeni bir aksiyon ekleyelim. Type of Action "When clicked", Operation “Open form (linked)”, Project “Task Management”, Form ise Activities olacaktır.(Aktiviteler formu ileriki adımlarda oluşturulduktan sonra seçilecektir.) İki formu eşleştirmeliyiz (Task Management - Activities). “Save when turned on” ve "Form hide" özelliklerine dikkat edin. Bu özellikler "Yes" olarak seçilmelidir çünkü kullanıcıların "Activities" formunu görmesine gerek yoktur. Tüm mesajları "Activities" formunda kaydedeceğiz. Mapping alanına aşağıdaki sorguyu girelim;
Message|0|Message
Hours|0|Hours
Percentage|0|Percentage
UserTableID|0|Task_ID
Formdaki Aksiyonlar
-
Forma pop-up olarak ulaşılıyor, kaydetme/silme işleminden sonra kapatmak için aksiyonlar oluşturmamız gerekiyor. “Task Identification” alanına tıkladıktan sonra, sağ tarafta bulunan aksiyonlar sekmesinden "Add New Action" tıklamamız gerekir. Type of Action "After Recording" olmalıdır. Operation "Close form" olmalıdır çünkü her kayıttan sonra form açılırken pencereyi kapatmak istiyoruz. İkinci işlem, kayıt silindikten sonra aynı amaçla eklenecektir. Tek fark, aksiyon tipinin "After record is deleted" olması gerektiğidir.
Formdaki Yetkiler (Dokümandaki bütün formlar eklendikten sonra yetkiler verilecek)
-
Form açıldığında bazı alanları kullanıcılardan gizlemek için bir yetki oluşturmamız gerekiyor. “Task Identification” alanına tıkladıktan sonra, sağ tarafta bulunan yetkiler sekmesinden "Add New Authority"ye tıklamamız gerekir. Type "Authority of field" olmalıdır. Type of authority "It can not see fieldsg" olmalıdır. Fields’ta “lbl 13 - UserTableID”, “UserTableID”, “lbl_16 - DUID” ve “DUID” seçilmelidir. Users Type “All users” olarak seçilmelidir.
(Formdaki her şeyi kaydetmek için üst kısımdaki kaydet düğmesine basmayı unutmayın.)
-Değişiklikleri görmek için uygulamamızı kaydedip çalıştıralım.-
──────────────────────────────
Variable Definition Form (Değişken Tanımlama Formu)
Name : Değişkenin adı.
Type :Değişken türleri (görev türü, durum, öncelik vb.)
GridListe_1 :Tüm kayıtlar.
Add a new form and name it "Variable Definition". From the toolbar add "Name”, "Type", "GridListe_1.
Yeni bir form ekleyelim . Ad kısmına “TM_VARIABLE” yazalım ve tablo adı kısmına “Variable_Definition” yazalım. Kullanıcılar bu formu göremeyecekleri için bir tasarım hazırlamamıza gerek yoktur. Bu formun kayıtlarını Görev Tanımlama formunda kullanacağız.
Name Field (Ad Alanı)
Forma bir textbox ekleyelim ve “Name” olarak adlandıralım.
Type Field (Tür Alanı)
Değişkene başlık seçmek için forma bir açılır kutu ekleyelim ve “Type” olarak adlandıralım. Veri tabanımızdan veri çekmek için. “Type” açılır kutusu seçiliyken alan tipini SQL Query olarak değiştirelim ve sorgu kutusuna aşağıdaki sorguyu yazalım;
SELECT
TM_VARIABLE.UserTableID,
TM_VARIABLE.Name
FROM dbo.TM_VARIABLE WITH (NOLOCK)
WHERE TM_VARIABLE.Type = ''
GridListe_1 Alanı
Son olarak tüm kayıtları göstermek için listeyi ekleyelim ve “GridListe_1” olarak adlandıralım. Sorgu kutusuna aşağıdaki sorguyu yazalım;
SELECT
V1.UserTableID,
V1.Name,
V2.Name
FROM dbo.TM_VARIABLE AS V1 WITH (NOLOCK)
LEFT JOIN dbo.TM_VARIABLE AS V2 WITH (NOLOCK) ON V2.UserTableID = V1.Type
Formdaki Aksiyon
-
Form açıldığında kayıtları göstermek istiyoruz. “Variable_Definition” formu seçiliyken yeni bir aksiyon ekleyelim ve Type of Action "When the form is opeden" olarak, Operation "Update value" olarak seçelim.
(please don’t forget to hit save button on the same pane and on the top of the software to save everything in the form.)
-Değişiklikleri görmek için uygulamamızı kaydedip çalıştıralım.-
──────────────────────────────
Activites Form (Aktivite Formu)
Name : Aktivite Mesajı
Hours : Aktivite Süresi
Percentage : Aktivite Yüzdesi
Task ID : Görev ID’si
Yeni bir form ekleyelim . Ad kısmına “TM_ACTIVITIES” yazalım ve tablo adı kısmına “Activities” olarak adlandıralım. Kullanıcılar bu formu göremeyecekleri için bir tasarım hazırlamamıza gerek yok. Bu formun kayıtlarını Görev Tanımlama formunda kullanacağız.
Message Field (Mesaj Alanı)
Mesajları kaydetmek için textbox ekleyelim ve “Message” olarak adlandıralım. Bağlantılı formların özellikleri aynı olması gerektiğinden mesaj alanı uzunluğunu 500 olarak ayarlamalıyız.
Hours Field (Saat Alanı)
Bu alanı çalışma süresi için kullanacağız. Bir saat aracı ekleyelim ve “Hours” olarak adlandıralım.
Percentage Field (Yüzde Alanı)
Bu alanı, aktivitenin yüzdesi için kullanacağız. Bir rakam kutusu ekleyelim ve “Percentage” olarak adlandıralım.
Task ID Field
Bu alanı bağlantılı görev kimliği (ID’si) için kullanacağız. Bir rakam kutusu ekleyelim ve “Task ID” olarak adlandıralım.
Formdaki Aksiyon
-
Form kaydedildiğinde pencereyi kapatmak istiyoruz. Bu form açılır pencere olarak kullanılacaktır. “Actions” formu seçiliyken yeni bir aksiyon ekleyelim. Type of Action"After Recording", Operation "Close form" olarak seçelim.
──────────────────────────────
ListCard_1: Tüm yeni görevler.
GroupBox_1: Görev Tanımlanacak Kartlar (Sorumlu,Yorum,Görev Türü vb.).
ListCardCon_1: "Devam Ediyor" durumundaki tüm görevler.
ListCardCon _2: “Bitti” durumundaki tüm görevler.
ListCardCon _3: “İptal Edildi” durumundaki tüm görevler.
GridList_1: Birisi tarafından gönderilen mesajlar.
Message: Göreve yönelik herhangi bir çalışma/istek.
Hours: Görevin çalışma saati.
Percentage: Görevin çalışma yüzdesi.
UserTableID: Göreve bağlı mesajlar.
DUID: Form bir açılır pencere olarak açıldığında tüm formu güncelleyin.
Buton - Submit: Yeni mesaj/aktivite göndermek için.
Buton - New Task Yeni görev tanımlamak için.
Yeni bir form ekleyelim ve "Canban" olarak adlandıralım. Form seçiliyken sağ taraftaki form ayarlarından Type-”Rapor” olarak seçelim.Tüm görevleri listelemek için bu formu kullanacağımız için tablomuza bir isim vermemize gerek yok.
ListCard_1 Alanı
Bu listede durumu "New" olan tüm görevleri göstereceğiz. Bunu yapmak için araç kutusundan forma bir Liste (Kart) ekleyelim ve “ListCard_1” olarak adlandıralım. Sorgu kutusuna aşağıdaki sorguyu yazalım;
SELECT
TM_TASKS.UserTableID,
TM_TASKS.Task_Title,
TM_VARIABLE.Name AS TaskType,
TM_TASKS.Comments,
XPODA_CLIENT_USERS.UserFullName AS Responsible,
dbo.TM_TASKS.Status
FROM dbo.TM_TASKS WITH (NOLOCK) LEFT OUTER JOIN dbo.TM_VARIABLE WITH (NOLOCK) on
TM_TASKS.Task_Type = TM_VARIABLE.UserTableID LEFT OUTER JOIN dbo.XPODA_CLIENT_USERS
WITH (NOLOCK) on TM_TASKS.Responsible = XPODA_CLIENT_USERS.UserID
Alandaki Aksiyon
-
Listede kart seçildiğinde UID alanını güncelleyeceğiz. Ve görev faaliyetleri için ID kullanacağız. “ListCard_1” seçiliyken yeni bir aksiyon ekleyelim. Type of Action "When the row is changed" , Operation "Update value", Value area “UID” olarak seçelim. SQL Query alanına aşağıdaki sorguyu yazalım;
SELECT ‘$PUserTableID$’
GroupBox_1 Alanı
“Groupbox_1” başlığını “$PResponsible$” olarak değiştirelim ve "$PTask_Title$", "$PComments$" "$PTaskType$" olarak etiketler ekleyeceğiz. Son grup öğesi bir buton olacaktır. Bu etiketler ve başlık, görev kartlarının her birini gösterecektir. Buton, seçilen görev kartını düzenlemek için kullanılacaktır. Lütfen etiket adları ve sorgu (ListCard_1'de) adının aynı olması gerektiğine dikkat edin.
Alandaki Aksiyon
- Butona tıklandığında DUID alanını güncelleyeceğiz ve görev faaliyetleri için ID kullanacağız. “GroupBox_1” içinde edit butonuna tıklayıp yeni bir aksiyon ekleyelim. Type of Action "When the row is changed” Operation "Update value" olacaktır. Value area “DUID” olarak seçelim. SQL Query alanına aşağıdaki sorguyu yazalım;
SELECT ‘$PUserTableID$’
ListCardCon_1 Alanı
Liste(Kart) aracı ile bu listede "Devam Ediyor" durumundaki tüm görevleri göstereceğiz. Araç kutusundan Bağlı bir Liste Kartına (List Card) ekleyelim ve “ListCardCon_1” olarak adlandıralım. Bundan sonra "ListCard_1" sorgusunda Status adlı bağlantılı alanı belirtmeliyiz. Values filed "In Progress*8" olmalıdır çünkü görev durumunu filtrelememiz gerekir.
Alandaki Aksiyonlar
-
Aksiyon 1: Kullanıcılar görev kartını bu alana sürükleyip bıraktığında görev durumunu güncellememiz gerekir. Bu yüzden güncelleme için yeni bir aksiyon ekliyoruz. Type of Action "Record is added", Operation " Update value", Value area "itself" olarak seçelim . SQL Query alanına aşağıdaki sorguyu yazalım;
UPDATE TM_TASKS SET Status=8 WHERE UserTableID = '$PUserTableID$
-
Aksiyon 2: Listede kart seçildiğinde UID alanını güncelleyeceğiz. Ve görev faaliyetleri için ID kullanacağız. “ListCardCon_1” seçiliyken yeni bir aksiyon ekleyelim. Type of Action "When the row is changed", Operation " Update value", Value area "UID" olarak seçelim . SQL Query alanına aşağıdaki sorguyu yazalım;
SELECT '$PUserTableID$'
ListCardCon_2 Alanı
Liste(Kart) aracı ile bu listede "Bitti" durumundaki tüm görevleri göstereceğiz. Araç kutusundan List Card ekleyelim ve “ListCardCon_2” olarak adlandıralım. Bundan sonra "ListCard_1" sorgusunda Status adlı bağlantılı alanı belirtmeliyiz. Values field "Done*9" olmalıdır çünkü görev durumunu filtrelememiz gerekir.
Alandaki Aksiyonlar
-
Aksiyon 1: Kullanıcılar görev kartını bu alana sürükleyip bıraktığında görev durumunu güncellememiz gerekir. Bu yüzden güncelleme için yeni bir aksiyon ekliyoruz. “. Type of Action "Record is added" , Operation "Update value", Value area "itself" olarak seçelim. SQL Query alanına aşağıdaki sorguyu yazalım;
UPDATE TM_TASKS SET Status=9 WHERE UserTableID = '$PUserTableID$'
-
Aksiyon 2: Listede kart seçildiğinde UID alanını güncelleyeceğiz. Ve görev faaliyetleri için ID kullanacağız. Yeni bir aksiyon ekleyelim. Type of Action "When the row is changed" , Operation "Update value" , Value area “UID” olarak seçelim. SQL Query alanına aşağıdaki sorguyu yazalım;
SELECT '$PUserTableID$'
ListCardCon_3 Alanı
Liste(Kart) aracı ile bu listede "İptal Edildi" statüsündeki tüm görevleri göstereceğiz. Yeni bir List Card ekleyelim ve “ListCardCon_3” olarak adlandıralım. Bundan sonra "ListCard_1" sorgusunda Status adlı bağlantılı alanı belirtmeliyiz. Görev durumunu filtrelememiz gerektiğinden, Values field "Canceled*10" olmalıdır.
Alandaki Aksiyonlar
-
Aksiyon 1: Kullanıcılar görev kartını bu alana sürükleyip bıraktığında görev durumunu güncellememiz gerekir. Bu yüzden güncelleme için yeni bir aksiyon ekliyoruz. Type of Action "Record is Added" şeklinde olmalıdır. Operation " Update value" olacaktır. Value area "itself" olacaktır. SQL Query alanına aşağıdaki sorguyu yazalım;
UPDATE TM_TASKS SET Status=10 WHERE UserTableID = '$PUserTableID$'
-
Aksiyon 2: Listede kart seçildiğinde UID alanını güncelleyeceğiz. Ve görev faaliyetleri için kimliği kullanacağız. “ListCardCon_3” seçiliyken yeni bi aksiyon ekleyelim. Type of Action "When the row is changed", Operation "Update value" , Value area “UID” olarak seçelim. SQL Query alanına aşağıdaki sorguyu yazalım;
SELECT '$PUserTableID$'
GridListe_1 Alanı
Şimdi, seçilen görevdeki kullanıcılar tarafından gönderilen görev mesajlarını göstermek istiyoruz. Bunun için araç kutusundan başka bir Grid List ekliyoruz ve “GridListe_1” olarak adlandırıyoruz. SQL Query alanına aşağıdaki sorguyu yazalım;
SELECT
TM_ACTIVITIES.UserTableID,
TM_ACTIVITIES.Message,
TM_ACTIVITIES.Hours,
TM_ACTIVITIES.Percentage
FROM dbo.TM_ACTIVITIES WITH (NOLOCK)
WHERE TM_ACTIVITIES.Task_ID = '$PUID'
Message Field (Mesaj Alanı)
Görevle ilgili bir mesaj / istek yazmak için bu alanı kullanacağız. Forma bir Text Box ekleyelim ve “Message” olarak adlandıralım. Alan uzunluğunu diğer metin kutularından daha fazla belirleyebiliriz. Metin kutusunun "Form only" özelliği ve "multi line" özelliğinin "Yes" seçilmesi gerektiğine dikkat edelim.
Hours Field (Saat Alanı)
Bu alanı çalışma zamanı için kullanacağız. Form araçlarından saat aracını ekleyelim ve “Hours” olarak adlandıralım. " Form only" özelliği "Yes" olarak seçilmelidir.
Percentage Field (Yüzde Alanı)
Bu alanı çalışma yüzdesi için kullanacağız. Form araçlarından rakam kutusu ekleyelim ve “Percentage” olarak adlandıralım. " Form only" özelliği "Yes" olarak seçilmelidir.
UID Alanı
Bu alanı aktivite listesini güncellemek ve görev mesajlarını göstermek için kullanacağız. Forma rakam kutusu ekleyelim ve “UID” olarak adlandıralım. “Form only" özelliği "Yes" olarak seçilmelidir.
Alandaki Aksiyon
-
Tüm görev mesajlarını göstermek istiyoruz. "UID" alanına aksiyon ekleyelim. Type of aciton "when value changes, Operation "Update value" , Value area “GridListe_1” olarak seçelim.
DUID Alanı
Görev Tanımlama formu için bağlantı oluşturmak için bu alanı kullanacağız. Kullanıcılar ek eklemek için herhangi bir görev kartı seçtiğinde veya kanban formundan görev alanlarını güncellediğinde bu formu güncelleyeceğiz. Forma bir rakam kutusu ekleyelim ve “DUID” olarak adlandıralım. "Form only özelliğinin "Yes" seçilmesi gerektiğine dikkat edelim.
Alandaki Aksiyon
-
“DUID” rakam kutusu seçiliyken yeni bir aksiyon ekleyelim. Type of action "When value changes" , Operation "Open Form (Linked)" , Condition "In New Windows" , Project “Task Management” olacaktır. Form “Task Identification” olarak seçelim. Kullanıcılar görev özelliklerini değiştirdiğinde Rapor listesi güncellenmelidir. Yani Closing Action "Canban | When the form is opened- update listcard" olacaktır. Mapping alanına aşağıdaki sorguyu yazalım;
DUID|0|DUID
Butonlar
“Submit” Butonu
Herhangi bir görevi seçtikten ve mesajı, saati ve yüzdeyi doldurduktan sonra, görev yöneticisi tarafından görülebilmesi için bu aktiviteyi kaydetmemiz gerekiyor. Bunu yapmak için sol taraftaki araç kutusundan bir buton ekleyelim ve “Submit” olarak adlandıralım. Şimdi butonun çalışması için yeni bir aksiyon ekleyelim. Type of Action "When clicked " ve Operation “Open form (linked)” olarak kaydedelim.
Alandaki Aksiyon
-
“Submit” butonuna tıklandığında aktivite/görev talebini kaydetmek istiyoruz. Bunu yapmak için yeni bir aksiyon oluşturmalıyız. Type of Action "When clicked", Operation " Open form (linked) , Project “Task Management”, Form “Activites”olarak seçelim. İki formu eşleştirmemiz gerekiyor (Canban - Activities). "Save when turned" ve "Form hide" özelliklerine dikkat edin. Bu özellikler "Yes" seçilmelidir çünkü kullanıcıların "Activities" formunu görmesine gerek yoktur. Tüm mesajları "Activities" formunda kaydedeceğiz. Mapping alanına aşağıdaki sorguyu yazalım;
Message|0|Message
Hours|0|Hours
Percentage|0|Percentage
UID|0|Task_ID
“New Task” Butonu
Bir görevi kaydetmek için yeni bir düğme ekleyebiliriz. Bu düğme, kullanıcılar tarafından kısayol olarak kullanılabilir.
Alandaki Aksiyon
-
Buton seçiliyken yeni bir aksiyon ekleyelim. Type of Action "When clicked" , Operation "Open form (new) , Project “Task Management” olacaktır. Form “Task Identification” olarak seçelim. Kullanıcılar görev eklediğinde rapor listesi güncel olmalıdır. Yani Closing Action "Canban |When the form is opened – update listard" olmalıdır.
Formdaki Aksiyon
-
Form açıldığında tüm görevleri göstermek istiyoruz. Bu yüzden görev listesini güncellemek için eylem ekleyeceğiz. “Canban” formu seçiliyken yeni bir aksiyon ekleyelim. Type of Action "When the form is opened" , Operation "Update Value" olarak seçelim.
Formdaki Yetkiler
-
Form açıldığında bazı alanları kullanıcılardan gizlemek için bir yetki oluşturmamız gerekiyor. Bunu yapmak için “Canban” formu seçiliyken sağ menüden yeni yetki ekleyelim. Type "Authority Field", Type of authoriy "It can not see fields" olmadılır. Fields “lbl_13 - UID”, “UID”, “lbl_8 – DUID”,”DUID” olarak seçelim. User Type “All users” olarak seçelim.
(please don’t forget to hit save button on the same pane and on the top of the software to save everything in the form.)
-Değişiklikleri görmek için uygulamamızı kaydedip çalıştıralım.-