Zamanla Yarışan Otomasyon: Power Platform’da Saat Dilimi Gerçekleri ve Uygulamalı Deneyim

Yazar | 26 Mart 2025

Giriş: Neden Bu Yazı?

Bu yazımda, şirket içinde uzun süredir e-posta trafiğiyle manuel yürüyen bir süreci otomatikleştirmek amacıyla geliştirmeye başladığım talep yönetimi projesi üzerinden, Power Platform araçlarıyla yaşadığım gerçek deneyimleri ve karşılaştığım önemli teknik detayları paylaşmak istiyorum. Power Automate Desktop (PAD), Power Automate Cloud (PAC) ve SharePoint gibi no-code / low-code platformlarla yapılan iş otomasyonlarında, dışarıdan basit görünen ama sürecin doğruluğunu doğrudan etkileyen konulara dikkat çekmeyi hedefliyorum.

Neden Low-Code Araçlar ve Power Platform?

Günümüzde birçok kurum, daha az teknik iş gücüyle süreçlerini dijitalleştirmek ve hızlandırmak istiyor. Power Automate, SharePoint ve PAD gibi platformlar, yazılım geliştirici olmadan da etkili çözümler üretmeyi mümkün kılıyor. Ancak bu araçları kullanırken dikkat edilmesi gereken bir şey var: Teknik detaylar tamamen ortadan kalkmıyor, sadece biraz görünmez hale geliyor. Arka plandaki işleyişi anlamadan yapılan her otomasyon, bir noktada sürprizlerle karşılaşabilir.

Gerçek Bir Problem: Saat Dilimi Farkı

Türkiye sabit UTC+3 saat diliminde çalışıyor. Ancak Power Automate ve SharePoint gibi sistemlerde bu durum genellikle UTC+2 olarak kabul ediliyor ve üzerine yaz saati (DST) uygulanacağı varsayılıyor. Bu fark, otomasyon sistemlerinde zamanla ilgili tüm hesaplamalarda 1 saatlik bir sapma yaratıyor.
Daha da önemlisi, sistemler her zaman UTC tabanlı çalışıyor ama kullanıcılar bunu fark etmiyor. Bu da görünmeyen hatalara neden oluyor.

Senaryo: 48 Saatlik Talep Kontrolü

Geliştirdiğim otomasyon sisteminde, SharePoint üzerinden toplanan taleplerin açılış saatleri kontrol edilerek 48 saatten uzun süredir açık kalan kayıtların işaretlenmesi ve raporlanması gerekiyordu. Ama PAC içinde yapılan karşılaştırmalarda, saat farkından dolayı sistem hatalı sonuçlar üretmeye başladı. Görünümde 13:00 olarak girilen tarih, sistem içinde 10:00 olarak okunuyordu. Böylece aslında henüz 48 saat dolmamış kayıtlar “eski” gibi işleniyor, gerçekten gecikenler ise fark edilmeyebiliyordu.

SharePoint ve UTC: Bilinmeyen Gerçek

SharePoint’teki tüm tarih/saat verileri UTC olarak saklanır. Siz Türkiye saatiyle 13:00 girseniz bile SharePoint bunu UTC olarak 10:00 şeklinde işler. Üstelik Power Automate Cloud (PAC) üzerinden bu veriyi çektiğinizde, yine UTC olarak gelir. Görselde doğru gibi duran veriler, sistem içinde işlenirken zaman farkıyla birlikte davranır ve hesaplamalarda kaymalara neden olur.

Çözüm: UTC ile Doğru Oynamayı Öğrenmek

Bu problemi çözmenin en net ve sade yolu şu adımları izlemektir:

  1. Veriyi SharePoint’e UTC olarak kaydetmek
    Örnek ifade:
    “formatDateTime(utcNow(), ‘yyyy-MM-ddTHH:mm:ssZ’)”
  2. Görünümde TR saatini göstermek
    Kullanıcıya ya da e-posta raporuna veriyi gösterirken saat dönüşümü yapılmalıdır.
    Örnek ifade:
    “convertTimeZone(item()?[‘DateReported’], ‘UTC’, ‘Turkey Standard Time’)”
  3. Saat karşılaştırmalarında aynı dilimi kullanmak
    Her iki tarih de aynı zaman dilimine çevrilip kıyaslanmalıdır.
    Örnek ifade:
    “greaterOrEquals(
    convertTimeZone(utcNow(), ‘UTC’, ‘Turkey Standard Time’),
    addHours(convertTimeZone(item()?[‘DateReported’], ‘UTC’, ‘Turkey Standard Time’), 48)
    )”

Bu şekilde görünüm, kıyaslama ve işlem mantığı birbiriyle tutarlı olur.

No-Code Geliştirici Olmak: Yalnızca Tıklamak Değil

Low-code ve no-code araçlar kolaylık sağlar, ama sistem mantığını bilmeden yapılan her çözüm bir noktada sıkıntı yaratır. Özellikle saat, tarih, süre gibi hesaplamaların içinde olduğu otomasyonlarda dikkatli olmak gerekir.
Gerçek bir çözüm üretmek için, “neden böyle çalışıyor” sorusunu sormak ve cevaplayabilmek gerekir.

Sonuç: Zamanı Yöneten Kazanır

Saat farkı gibi küçük görünen bir detay, tüm işleyişin yanlış olmasına neden olabilir. Bu nedenle saatle ilgili verilerle çalışırken sistemin neyi nasıl algıladığını bilmek şarttır. Türkiye gibi UTC+3 ülkelerde, UTC’ye göre çalışan global sistemlerle çalışırken zaman farkını göz önünde bulundurmak, hem doğru verilerle çalışmak hem de güvenilir raporlar üretmek için gereklidir.

Motto:
Otomasyonun hızı saatle değil zihinle ölçülür.
UTC seni kandırmasın, sistemi sen yönet.

Yorumlarınızı Bekliyorum !