Form İçerisinde Web Servis Çalıştırma
Form tasarımında DİA Web Servislerini çağırmak için iki adım gerekir: önce DİA Web Servis Bağlantıları ekranından bağlantı bilgilerinin tanımlanması, ardından Script Yöneticisi içindeki Web Servis adımı ile örnek JSON yapıları kullanılarak ekleme, güncelleme, listeleme ve getir işlemlerinin yazılması gerekmektedir.
🔗 DİA Web Servis Bağlantıları
🔧 Ekranda Yer Alan Alanlar
* Sunucu Adı: Hedef DİA sunucusu (örn: diademo). Varsayılan: diademo.
* Bağlantı Türü: Sabit veya Entegrasyon seçilebilir.
* Sabit seçildiğinde: Ekranda girilen Kullanıcı Adı, Şifre ve API Key alanları kullanılır. Bu bilgiler form tasarımı ile birlikte saklanır.
* Entegrasyon seçildiğinde: Entegrasyon Tanım ekranında (flw4001) DİA Web Servis türünde tanımlı kayıtlar listelenir; listeden bir entegrasyon seçilir. Kullanıcı, şifre ve API Key bilgileri seçilen entegrasyon kaydından okunur.
🧪 Bağlantı Testi
* Bağlantı Testi butonu ile girilen bilgilerle (Sabit ise ekrandaki kullanıcı/şifre/apikey, Entegrasyon ise seçilen kayıt bilgileri) DİA Web Servise login denemesi yapılır.
💡 Bağlantı Türü Özeti
| 🔲 Seçim | 📖 Kullanılan bilgi |
|---|---|
| Sabit | Ekranda girilen Sunucu Adı, Kullanıcı Adı, Şifre, API Key |
| Entegrasyon | Ekranda girilen Sunucu Adı + Entegrasyon Tanım ekranındaki DİA Web Servis türüne ait kayıttan okunan kullanıcı, şifre, API Key |
📜 Script Yöneticisi ve Web Servis Adımı
Script Yöneticisi içinde sol tarafta form nesneleri ve aksiyonlar listelenir; sağ tarafta script editörü bulunur. Editör üzerindeki Web Servis butonu ile hazır şablonlar eklenebilir. Bu şablonlar, DİA Web Servis API çağrıları için örnek JSON yapısı ve callWebService(json, after_callback) kullanımını içerir.
📝 Genel JSON Yapısı
JSON yapısı
{
"servis_adi": {
"firma_kodu": "...",
"donem_kodu": "...",
... diğer parametreler
}
}
Callback örneği
def after_xxx(sonuc):
print("Sonuç:", sonuc)
callWebService(json, after_xxx)
📝 Örnek Tanımlar
Aşağıdaki örnekler Script Yöneticisi Web Servis menüsündeki şablonlarla uyumludur. firma_kodu ve donem_kodu değerleri ortamınıza göre düzenlenmelidir
📝 Örnek Tanımlamalar
📋 Listeleme
json = {
"sis_ozelkod_listele": {
"firma_kodu": {firma_kodu},
"donem_kodu": {donem_kodu},
"filters": [{"field": "turkodu", "operator": "=", "value": "CHK3"}],
"sorts": [{"field": "turkodu", "sorttype": "DESC"}],
"params": "",
"limit": 0,
"offset": 0
}
}
def after_listeleme(sonuc):
print("Sonuç:", sonuc)
callWebService(json, after_listeleme)
🔍 Getir (Tekil Kayıt)
json = {
"sis_ozelkod_getir": {
"firma_kodu": {firma_kodu},
"donem_kodu": {donem_kodu},
"key": "12345"
}
}
def after_getir(sonuc):
print("Sonuç:", sonuc)
callWebService(json, after_getir)
➕ Ekleme
json = {
"sis_ozelkod_ekle": {
"firma_kodu": {firma_kodu},
"donem_kodu": {donem_kodu},
"kart": {
"aciklama": "ÖZEL KOD WS",
"durum": "A",
"kod": "WS0022",
"turkodu": "M2"
}
}
}
def after_ekle(sonuc):
print("Sonuç:", sonuc)
callWebService(json, after_ekle)
✏️ Güncelleme
json = {
"sis_ozelkod_guncelle": {
"firma_kodu": {firma_kodu},
"donem_kodu": {donem_kodu},
"kart": {
"_key": {"kod": "WS003", "turkodu": "M2"},
"aciklama": "ÖZEL KOD WS",
"durum": "A",
"kod": "WS003",
"turkodu": "M2"
}
}
}
def after_guncelle(sonuc):
print("Sonuç:", sonuc)
callWebService(json, after_guncelle)
🗑️ Silme
json = {
"sis_ozelkod_sil": {
"firma_kodu": {firma_kodu},
"donem_kodu": {donem_kodu},
"key": "12345"
}
}
def after_sil(sonuc):
print("Sonuç:", sonuc)
callWebService(json, after_sil)

