Power Automate ile Haftalık Olarak Ekli Mail Yönlendirin

Ekibinizle birlikte ortak olarak çalıştığınız Excel dosyanızın en güncel halini her hafta mail ek’i ile yöneticinize iletiyor musunuz? Hemen şimdi 10 dakikanızı ayırarak bir Power Automate ile kendi akışınızı oluşturun ve Excel ek’li mailleriniz her hafta ve istediğiniz saatte yöneticinize otomatik şekilde iletilsin.

Bir akış oluşturmak istediğinizde, her zaman bir eylem(tetikleyici) ile başlarsınız.
Oluşturacağımız akış haftalık şekilde otomatik olarak çalışması gereken bir akış , bu nedenle Recurrence(Schedule) Türkçesi Yinelenme(Zamanla) tetikleyicisi ile akış’ı başlatacağız.  *Dilerseniz aylık, günlük, saatlik,..kontroller de yapabilirsiniz.

Bir sonraki adımda mail ek’i olarak göndermek istediğiniz dosyanın bulunduğu konumu akışa söylemek gerekiyor. Dolayısıyla ilgili konnektörü (örn: OneDrive) işlem adımına eklememiz gerekir. Bu sayede mail ek’i ile göndermeyi istediğimiz dosyaya erişebilmesi sağlanır.

İşlemler çok kısa ve kolay. Hızlıca aşağıdaki adımları izleyerek akışı oluşturabilirsiniz.

Power Automate Uygulama Adımları 

  • Haftalık kontrol için Recurrence(Schedule) ->
  • OneDrive(Get File Content)->
  • Buradaki Verileri çağırmak için (List Files in Folder)->
  • Çağırdığımız dosyalardan istediğimizi seçebilmek için Koşul Eklenir-> (Çağırmayı istediğim dosyanın kontrolünü Name without Extension üzerinden [Name without Extension=ExcelAdı] yazarak sağlarız
    (Bu işlem otomatik olarak (her birine uygula /apply to each) komutunu ekrana getirir)->
    Power Automate Uygulama Adımları 
  • Koşul sağlanırsa mail atma işlemi için Outlook (Send an email) ->
    bu seçeneğin içinde Gelişmiş seçenekler içinden de attachments content bölümüne OneDrive’dan gelen contenti eklemeliyiz
    aynı zamanda attachments name bölümü de doldurulmalıdır
    mail atma işlemi

Power Automate üzerinde yukarıdaki adımları uygulayarak  her hafta Recurrence(Schedule) kontroller ile Outlook mail ek’inde Excel dosyanızın en güncel halini gönderebilirsiniz.

Koleksiyon Kullanımı

Genellikle, veriyi hesaplarken ya da işlerken geçici bellekte tutmak gerekir. Sonrasında işlenen veriler, nihai veriler olarak kalıcı kaydetme ile veri kaynağına aktarılır. Geçici kayıtlar, Koleksiyon denilen değişken tablolarda tutulur. Bu yöntemde veriler yalnızca uygulamanın ekranında iken hesaplanır, işlenir ve çok hızlı bir şekilde cache belleğe yazılır.

Bu tablolar sanal olarak oluşturulmaktadır. Tablo ve kolon adları istenilen şekilde isimlendirilebilir. Kolonların veri türleri içerdiği veriye göre ya da sonrasında kaydedilecek veri kaynağına göre otomatik şekillenir.

Koleksiyon tablolarını oluşturmak için Collect formülü kullanılır. Collect(tablo adı ; { kolonlar }) şeklinde aşağıdaki örnek formülde görüldüğü gibi yazılır.

Collect(olusacak_tablo_adi ;
{ kolon1:   textbox1.Text;
kolon2:   textbox2.Text;
kolon3:   textbox3.Text    } )

Örnek olarak bu formül KAYDET butonunun OnSelcet özelliğine ya da bir timer’ın OnTimerStart/OnTimerEnd özelliğine yazılabilir.

Koleksiyon Kullanımı

Görseldeki ekranda personel kayıtları koleksiyon üzerine yazılacaktır. Bu ekranda 4 textbox, 4 label, buton ve galeri nesneleri kullanılmıştır.

Formüller içerisinde nesne adları sıklıkla kullanılır. Bu nedenle ekrandaki işlevsel nesneler yaptıkları işe ya da içerdikleri veriye göre mutlak adlandırılmalıdır.

TextBox Adları: txt_ad, txt_soyad, txt_mail, txt_departman şeklindedir.

Textboxlara girilen verilerin Koleksiyon tablosuna yazılması için KAYDET butonunun OnSelcet özelliğine aşağıdaki formül yazılmıştır.

*Tablo ve kolon adları isteğe bağlı şekilde değiştirilebilir.

Collect( Personel;
{
P_ad:    txt_ad.Text;
P_soyad:    txt_soyad.Text;
P_mail:    txt_mail.Text;
P_departman:    txt_departman.Text   } )

Kaydet butonuna her bastığınızda saniyeler içinde veriler koleksiyona atılmış olacaktır.

Koleksiyon Verileri Nasıl Görüntülenir?

Görünüm sekmesi Koleksiyonlar butonu ile tüm koleksiyonlar ve içerdikleri veriler tek ekranda incelenebilir.

Verileri liste halinde göstermek için galeri nesnesine tıklanır ve güncel ekranda yanda açılan pencereden ilgili Koleksiyon seçilir.

Eski versiyonlar için Özellikler Penceresinden Veri Kaynağı alanında aynı seçim yapılabilir. Ya da formül çubuğu üzerinden galerinin Items özelliğine tablo adı yazarak da aynı işlem yapılabilir.

Kaydet butonuna basıldığında yazma işleminden sonra textboxların temizlenmesi/ sıfırlanması için ise Reset() fonksiyonu kullanılmaktadır.

*Ardışık olarak yapılması gereken işlemlerde ;; kullanılmaktadır.

Collect( Personel;
{
P_ad:    txt_ad.Text;
P_soyad:    txt_soyad.Text;
P_mail:    txt_mail.Text;
P_departman:    txt_departman.Text   } );;

Reset(txt_ad);;
Reset(txt_soyad);;
Reset(txt_mail);;
Reset(txt_departman)

 

Bir Davetli Listesine Power Automate ile Takvim Göndermek

Tüm etkinlik davetleriniz için katılımcılara özel hitap, etkinlik içeriği ve etkinlik konumu gibi verileri özelleştirerek toplantı takvimlerini Power Automate üzerinden iletebilirsiniz.

Bu sayede tek tek takvim oluşturmak için uğraşmazsınız. Size sadece katılımcı listesi ve etkinlik detayını belirlemek kalır.

Tablo Oluşturma

OneDrive içerisinde bir Excel açılır. Ekle sekmesinden Tablo seçilerek sayfaya bir tablo eklenir.

Bu tabloya, aşağıda yer alan görseldeki gibi Mail, AdSoyad ve etkinlik detaylarını içeren bilgiler yazılır.

Bu tabloda var olan her bir satır için ayrı ayrı toplantı mailleri akış tarafından gönderilecek.

Etkinlik tarih ve saat bilgisi Power Automete’in beklediği formatta olması adına 2020-03-23T13:00:00 biçiminde yazılmıştır. Saat formatı, 24 saat biçimindedir ve tam belirttiğiniz saat için etkinlik oluşturulacaktır.

Power Automate Akış Süreci

Yeni boş bir akış ile işleme başlanır.

Tablodaki veriler doldurduktan sonra akış bireysel tetiklenerek çalıştırılacak. Bu nedenle akışı Flow button (Manually trigger a flow) ile başlatıyoruz.

Bir sonraki adımda Excel tablosundaki verileri ekleyebilmek için Excel for Bussiness (Tablodaki satırları listele/ List rows present in a table) eklenir. Bu nesnenin içerisine az önce oluşturulan tablo eklenir.

Bir sonraki adımda Outlook (Etkinlik Oluştur/ Create an Event) eklenir.

Bu adımda Excel tablosunun kolonları ilgili alanlara eklenir. Excel alanlarının (mail, ad soyad, tarih, vs) seçilmesiyle Her birine uygula (Apply to each) nesnesi otomatik olarak akışa eklenecektir. Her birine uygula nesnesi sayesinde Excel tablosundaki her bir satır için etkinlik oluşturulacaktır.

İlgili alanlar doldurulduktan sonra sol üst köşeden akışa isim verilir. Ör: Belirli bir listeye Outlook takvimi göndermek. Akış sağ üst köşeden kaydedilerek kapatılabilir.

Excel tablosundaki bilgiler teyit edilerek akış çalıştırılabilir.

 

Power Automate Outlook Bağlantısı için linke göz atabilirsiniz.

Tablo Biçiminin Power Platformdaki Kullanımı

Power Apps, Power BI gibi ürünlere, Excel’den veri almanız gerektiği durumlarda, bu verilerin tablo biçiminin kallanılması gerekir. Verilerin alınacağı Excel’in içerisinde bir tablo var ise bu tablo, sisteme doğrudan aktarılabilir.
Veriler OneDrive içerisindeki bir Excel‘de olsa dahi durum aynıdır. Veri alanı Tablo olarak biçimlendirilmelidir.

Power Automate (MS Flow) – Excel Connection (OneDrive)

Power Apps – Excel Connection (OneDrive)

Tablo Biçiminin Kullanımı

Excel çalışma sayfası içerisinde Ekle Sekmesinden Tablo seçilerek var olan veriler tabloya dönüştürülebilir ya da sıfırdan yeni bir tablo eklenerek işlemlere başlanabilir. (Excel’de tablo yapma kısayolu CTRL+L’dir.)


Excel’de veriler tabloya dönüştürüldüğünde Tablo1 ya da Table1 şeklinde isim alır. Mevcut Excel’e eklenen her bir tablo Tablo2, Tablo3 şeklinde çeşitli isimler alacaktır. Birden çok tablo olduğunda isim karmaşası yaşanacaktır. Tablo isimlerinde karışıklıklar olmaması için Excel içerisinden tüm tablo adları anlamlı şekilde yeniden adlandırılmalıdır.

Ad Tanımlama

Power Apps veri kaynakları içerisinde tüm tablo adları aşağıda yer alan görselde ki gibi görüntülenir ve formül içerisinde aynı adlar ile kullanılır. Bu nedenle tablolar platformlara bağlanmadan önce yeniden adlandırılmış olmalıdır.

Excel Ad Yöneticisi

Formüller Sekmesi –> Ad Yöneticisi–>

alanında mevcut tablolar görüntülenir. Mevcut tablo için Düzenle–> Ad  tıklanarak yeni bir isim verilir. Adlandırılan tablo istenilen platformda kullanılabilir.

Tablo oluşturma ve yeniden adlandırma detaylarına ayrıca bakabilirsiniz.

Diğer Power Apps yazılarına link üzerinden erişebilirsiniz.

Birbirine Bağlı Açılan Listeler Oluşturmak

Mobil uygulamalarınızda birbirine bağlı açılan listeler yapabilirsiniz. Örnek olarak Kıta seçildiğinde Ülkeleri, Ülke seçildiğinde bölgeleri, bölge seçimine göre ise şehirler gösterilebilir.

Açılan Liste (Dropdown List) kullanırken manuel liste oluşturabilirsiniz ya da bir veri kaynağından alabilirsiniz.

Açılan Listeye manuel veri eklemek için köşeli ayraçlar içerisinde [“metin1” ; “metin2” ; “metin3” ] şeklinde veri girişi yapılması gerekir.

Belirli bir veri kaynağından veri alacaksak verilerin tablo olarak kaydedilmiş olması gerekir. Örneğin veriler OneDrive içerisindeki bir Excel‘de ise veri alanı Tablo olarak biçimlendirilmelidir. Excel’de tablo yapma kısayolu CTRL+SHIF+L’dir.

Verinizi tabloya dönüştürdüğünüzde Tablo1 ya da Table1 gibi bir isim alır. Veriler ise Power Apps içerisinde bu tablo adları ile kullanılır. Birden çok tablo olduğunda Tablo1, Tablo5, Tablo3 gibi isim karışıklıkları olmaması adına Excel Tablosu, Power Apps’e hiç gitmeden önce isimlendirilmiş olmalıdır.

Açılan Listeler

İki açılan liste ile işlem yapacağız.

Dropdown1–> dd_bolge olarak adlandırılır.
Dropdown2–> dd_il olarak adlandırılır.
dd_bolge’den seçilen bölge adına göre dd_il içerisindeki iller değişecektir.

Tablodan Veri Alma

Tabloda bölge adlarının karşılarında iller yazmaktadır. Bir bölgeye bağlı birden çok il olduğu için bölgeler tekrarlamaktadır. Bölge adlarının birer tane gösterilmesi için Distinct formülü kullanılmalıdır.

dd_bolge’nin items özelliğine, Distinct(BolgeTablosu;Bölge) şeklinde yazılabilir.

dd_il nesnesi için sağdaki menüyü doğrudan kullanabiliriz.

Öğerler
tablonun adı BölgeTablosu seçilir,
Value ilgili kolon adı il kolonu seçilir.

Bağlı olduğu denetim için üst denetim dd_bolge, Eşleşen alan BölgeTablosu, Bölge kolonu olarak seçilir.
Böylece aşağıdaki formül otomatik şekilde yazılır.
dd_il’ nin items özelliği, Filter(BolgeTablosu; Bölge = dd_bolge.Selected.Result)

Bölge adlarının tekrarlamadığı durum için Distince gerek yoktur ve bu bağlamda formül revize gerektirir.
Filter(BolgeTablosu ;dd_bolge.Selected.Bölge=Bölge)

Formül çubuğunda, formülün döndürdüğü değer görüntülenecektir.


Manuel Liste Kullanımı

Uzun verileri tek tek yazmak zor olacağından ve formül uzayacağından dolayı genellikle kısa veriler için manuel liste kullanımı mantıklıdır.

dd_bolge’nin items özelliğine, [“Marmara Bölgesi”; “Ege Bölgesi”;”Karadeniz Bölgesi”] şeklinde yazılabilir.

dd_il’ nin items özelliğine,
If(
dd_bolge.Selected.Value=”Marmara Bölgesi”; [ “İstanbul”;”Kocaeli”];
dd_bolge.Selected.Value=”Ege Bölgesi”; [“İzmir”;”Çanakkale”];
dd_bolge.Selected.Value=”Karadeniz Bölgesi”;[“Zonguldak”;”Sinop”;”Trabzon”]
)
 şeklinde yazılabilir. Her işlem için olduğu gibi açılan listeler için de çeşitli ve farklı yöntemler kullanılabilir. Örneğin IF() yerine Switch() fonksiyonu yazmayı da deneyebilirsiniz.

 

Açılan Listeler hakkında detaylar için linke göz atabilirsiniz.

Özellikleri Kullanarak Nesneleri Merkezi Olarak Yönetmek

Power Apps uygulaması geliştirirken ekranlardaki nesneleri merkezi olarak yönetmeye ihtiyaç duyabilirsiniz. Belirli bir nesnenin özellikleri değiştiğinde, tüm ekranlardaki ilişkili nesneler için renk, boyut, konum gibi özellikler yönetilebilir.

Merkezi yönetim için mevcut iki yöntem bulunuyor.

  1. Yöntem: Formül çubuğu üzerinden nesne özelliklerini kullanarak yönetim yapmak
    İşlemler formül üzerinden ilerlediği için en stabil çalışan yöntemdir. Bu işlem için Özellikler penceresinde yer alan, renk, hizalama, boyut gibi tüm özelliklerden faydalanabilirsiniz. Bu yöntem, uygulama geliştirilmeye başlanırken ilk olarak yapılması gereken işlemlerin başında gelir. Var olan bir uygulamaya sonradan bu işlemi yapmak zahmetli olabilir ama yapmakta fayda var.
  2. Yöntem: Bileşenler ( Components ) [Deneysel]
    Bu özellik deneysel olduğu için henüz stabil çalışmamaktadır, formül yöntemine nazaran çok daha kolay kullanılabilir.

Nesneleri Formül ile Merkezi Yönetme

Birçok yerde Power Apps’in Excel mantığı ile çalıştığını, formül yapısının benzediğini duymuşsunuzdur.

Excel’de iki hücreyi toplamak için formül çubuğuna =A1+A2 yazarız. Bu işlemde hücre adlarını formülde kullanarak  hücre içindeki değeri doğrudan çağırmış ve toplama yapmış oluyoruz. Böylece hücre içindeki değer değiştikçe toplam değeri de sürekli hesaplanıyor.

Aynı işlemi Power Apps üzerinde yapmak istediğimizde Text Box, Label gibi nesneleri kullanabiliriz.
Örnek olarak 2 TextBox’a girilen değerlerin toplamlarını bir Label içerisinde hesaplama yaptırarak gösterebiliriz.

Ekranda yer alan Label nesnesinin adı Toplam olarak, TextBox’lar ise Sayı1 ve Sayı2 olarak isimlendirilmiştir.
Toplam nesnesinin Text özelliğine  =Sayı1. Text + Sayı2.Text  formülü yazılarak toplam sonucu görüntülenebilir.

Sayı1 nesnesinin Text verisini getir     +  Sayı2 nesnesinin Text verisini getir denmiş oluyor.

Tamda bu örnekle aynı mantıkla, nesnelerin birbirlerini taklit etmelerini sağlamak için de nesnelerin özellikleri kullanılabilmekte.
Aslında bir nesnenin özelliğini diğer nesnelerin özelliğine atayarak işlem yapacağız.

İşlem Adımları

Ekrana iki adet Label nesnesi ekleyelim.

Label1–> adı Lable1 olarak kalsın
Label2–> adı Label1’e_bağlı_nesne olarak değiştirilsin.

Label1
Dolgu rengi, içerdiği metin, kenarlık rengi gibi özellikleri değiştirilerek özelleştirilir.

Label1’e_bağlı_nesne
Bu Label için aşağıdaki özellik başlıklar aşağıdaki formüller ile değiştirilir.

Fill –>  Label1.Fill  (Label1’in dolgu rengini alır)
BorderColor–>  Label1.BorderColor  (Label1’in kenarlık rengini alır)
Text–>  Label1.Text  (Label1’in içerdiği metni alır)
Width–>  Label1.Width  (Label1’in genişliğini alır)
Height–>  Label1.Height  (Label1’in uzunluğunu alır)

Formülde yazıldığı gibi artık bu nesne Label1’e bağlandı, Label1’de ilgili özellikler değiştiğinde bağlı nesne değişecek.
Bağlı nesneyi kopyala yapıştır yaparak ekranlara dağıtabilirsiniz.

Bileşenleri Kullanarak Nesneleri Merkezi Olarak Yönetmek

Power Apps uygulaması geliştirirken ekranlardaki nesneleri merkezi olarak yönetmeye ihtiyaç duyabilirsiniz. Belirli bir nesnenin özellikleri değiştiğinde, tüm ekranlardaki ilişkili nesneler için renk, boyut, konum gibi özellikler yönetilebilir.

Merkezi yönetim için mevcut iki yöntem bulunuyor.

  1. Yöntem: Formül çubuğu üzerinden nesne özelliklerini kullanarak yönetim yapmak
    İşlemler formül üzerinden ilerlediği için en stabil çalışan yöntemdir.
  2. Yöntem: Bileşenler ( Components ) [Deneysel]
    Bu özellik deneysel olduğu için henüz stabil çalışmamaktadır, formül yöntemine nazaran çok daha kolay kullanılabilir.
    Bileşen kullanımı ile ekranlardaki nesneler standart hale getirilebilir.
    Bu yazıda Bileşenler (Components) ile nesnelerin merkezi yönetimini yapmayı inceleyeceğiz.

    Bileşenler (Components) Kullanımı

    Bilişenler özelliğini kullanmak için
    Dosya (File)–>Ayarlar (Settings)–> Gelişmiş Ayarlar (Advanced Settings)–> Sağ tarafta yer alan Arama Çubuğuna Bileşenler( Components) yazarak özellik bulunur ve Açık konuma getirilir.

    Nesneleri Bileşenler ile Merkezi Yönetme

    Bileşenler aktif edildikten sonra uygulama ekranına dönülür. Ekranlar /Bileşenler olmak üzere iki menü görüntülenir.

    Bileşenler ekranına geçilerek kullanmayı istediğimiz şablon bu ekranda tasarlanır. Bileşen, normal ekran gibi tasarlanmaktadır. Birden çok bileşen kullanmanız durumunda, bileşenleri isimlendirme önemli bir hal alacaktır.

    Bileşeni tamamladıktan sonra Ekranlar bölümüne geçilir ve Bileşen eklenecek sayfadayken,
    Ekle sekmesi–>Özel–>Component1 seçilerek sayfaya konumlandırılır.


    Oluşturulan bileşen tek bir nesne olarak ekrana eklenir. Bu nedenle bir bileşen arkaplan resmi gibi düşünülebilir.
    Bu bağlamda bir bileşenin içerdiği simgeler ya da nesneler, tasarlanırken ya da ekrana eklendikten sonra genel formülleri kabul etmez (anasayfa, ileri, kaydet butonlarının işlevleri gibi).

    Bileşenlerde Formül Kullanımı

    Bileşenler üzerindeki nesnelere komutlar verebilmek için ekstra işlem yapmalıyız, örneğin görseldeki geri butonuna Navigate fonksiyonu yazmak istediğimiz durum için ekrana bir Label eklememiz gerekir. Bu Label’ın OnSelect özelliğine Navigate fonksiyonu yazılarak süreç tamamlanabilir.

 

Mobil Cihaz ile Kolay Kod Tarama

Barkod, Seri No, Imei No, QR Kod ve daha bir çok kod çeşidini TEK ekran üzerinden taramanız mümkün! Power Apps’in gelişmiş kod tarama işlevi ile tüm kod çeşitlerini tarayabilir ve sisteminize entegre edebilirsiniz.

Envanterler için sayım, takibi ve atama işlemleri; kütüphane yönetimi; stok ve ürün kayıtlarının tutulması; özellikler mobil cihazlar için mağaza denetimlerinde hızlı işlem yapmayı sağlaması gibi birçok senaryo ile kod sistemine geçişin faydalarından bahsedilebilir.

Power Apps kullanarak geliştireceğiniz mini uygulama sayesinde cep telefonu kamerası üzerinden kod tarama yapılmaktadır.

Kod Tarama

Bu özellik sayesinde ekstra hiçbir scan cihazı kullanmanız gerekmez.  Kod tarama özelliğini kullanmak için mobil cihazınıza Ekle Sekmesi–> Medya–>Barkod Tarayıcı seçilerek eklenir. Bu işlem sayfanıza yalnızca bir buton ekler, tarama yapmanızı sağlayan ekran uygulama içinden size görünmez.


Tarama butonunun (BarcodeScanner1) OnScan özelliğine Navigate formülü yazarak ikinci ekrana yönlendirme yapabilirsiniz. Böylece bir kod tarandığında ikinci sayfaya geçiş yapılır.

İkinci ekranda taranan kodu göstermek için bir Label (barkodVerisi), veri girişi yapmak için Ekle butonu (Button1) ve verileri göstermek için Galeri kullanılmıştır.

Label1 –> Text özelliğine BarcodeScanner1.Value yazılmıştır.

Button1–> OnSelect özelliğine aşağıdaki önbelleğe veri kaydetme fonksiyonu yazılmıştır.
Collect( OkunanBarkodlar; {barkod: barkodVerisi.Text} )

Gallery1–> Items özelliğine OkunanBarkodlar yazılmıştır.

 

Barcode Scan özelliği hakkında linke göz atabilirsiniz.