Posts Tagged ‘ LCS

Microsoft Copilot: Ne, Nerede, Nasıl?

Son birkaç yıldır teknoloji dünyasında ve iş hayatında en sık duyulan kavramlardan biri “Copilot” oldu. Microsoft’un yapay zekâyı yalnızca bir araç olarak değil, çalışma kültürünün merkezine yerleştirme vizyonunun temel taşı haline gelen Copilot, artık dijital dönüşümün en güçlü simgelerinden biri olarak öne çıkıyor.

Copilot yalnızca bir sohbet asistanı ya da metin üreten model olarak tanımlaması eksik kalır. Aslında Copilot, kullanıcıların yanında çalışan bir “dijital yardımcı pilot” yani işleri anlamlandıran, bağlamı algılayan, veriye dayalı kararlar veren ve rutin süreçleri otomatikleştiren bir yapay zekâ destekli iş ortağıdır. Kısacası Copilot, insanın yerine geçmez; insanı tamamlar, üretkenliğini artırır ve daha stratejik işlere odaklanmasına yardımcı olur.

Microsoft’un Copilot yaklaşımı, yapay zekâyı günlük araçların içine doğal bir şekilde yerleştirme stratejisine dayanıyor. Artık Word’de rapor yazarken, Excel’de analiz yaparken, Teams toplantısı düzenlerken, Dynamics 365’te finansal verileri incelerken veya Power BI üzerinden özet oluştururken aynı zeka katmanı seninle birlikte çalışıyor. Bu da Copilot’u klasik Chatbot’lardan ayırıyor: o, sadece sorulara yanıt veren değil, seninle birlikte çalışan bir sistem.

Bugün Copilot, Microsoft 365’ten Dynamics 365’e, GitHub’dan Windows’a kadar geniş bir ekosistemde yer alıyor. Her uygulama, her rol ve her kullanıcı için “yanında bir Copilot” hedefiyle tasarlanmış durumda. Yazılımcılar için kod öneren GitHub Copilot, finans profesyonelleri için rapor özetleyen Dynamics 365 Copilot, yöneticiler için sunum hazırlayan Microsoft 365 Copilot hepsi aynı vizyonun parçası: insan ve yapay zekânın iş birliğiyle üretkenliği yeniden tanımlamak.

1. Copilot Nedir?

Microsoft Copilot, yapay zekâ destekli bir üretkenlik yardımcısıdır. En temel anlamıyla, kullanıcının yanında çalışan bir dijital iş arkadaşı olarak tasarlanmıştır. Bu asistan, yalnızca komutlara yanıt vermekle kalmaz; kullanıcının ne yaptığını, hangi bağlamda çalıştığını ve hangi bilgiye ihtiyaç duyduğunu anlar. Böylece, hem zaman kazandırır hem de daha doğru ve hızlı kararlar alınmasını sağlar.

Copilot’un temelinde, OpenAI’nin geliştirdiği GPT (Generative Pre-trained Transformer) modelleri bulunur. Bu modeller, doğal dili anlayıp insan benzeri metin üretebilen gelişmiş yapay zekâ mimarileridir. Microsoft, bu teknolojiyi kendi güvenli bulut altyapısı olan Azure OpenAI Service ile entegre ederek kurumsal güvenlik, veri gizliliği ve yönetişim standartlarına uygun hale getirmiştir. Yani Copilot’un arkasındaki zeka, hem güçlü hem de kurumsal düzeyde güvenlidir.

Bağlamı Anlama Yeteneği

Copilot’un en önemli farkı, bağlamsal farkındalığıdır. Yani Copilot, yalnızca bir komutu anlamakla kalmaz; senin o anda hangi uygulamada, hangi verilerle çalıştığını da bilir. Bu sayede, önerilerini sadece genel bilgilere göre değil, senin ortamına özgü verilere dayanarak oluşturur.

Örneğin:

  • Bir Excel dosyasında formül yazarken, veri türünü ve hücre yapısını analiz edip doğru formül önerilerini getirir.
  • Bir Word belgesinde, elindeki veriye veya toplantı notlarına dayanarak otomatik özetler ya da rapor taslakları oluşturabilir.
  • Outlook’ta uzun e-posta zincirlerini analiz edip yanıt önerileri oluşturur.
  • Dynamics 365 içinde satış verilerini, müşteri davranışlarını veya finansal trendleri değerlendirip öngörüler sunabilir.

Bu fark, Copilot’u sıradan bir AI veya chatbot’tan ayırır. O sistemin içindeki veriye doğrudan erişebilen, bağlamı algılayan bir yapay zekâ katmanıdır.

Copilot’un Temel Yetenekleri

Copilot’un yetenekleri, çalıştığı uygulamaya ve bağlandığı veri kaynaklarına göre farklılaşır.
Ancak genel olarak aşağıdaki başlıklar altında toplanabilir:

  • Metin Üretimi
    Word, Outlook ve Teams gibi uygulamalarda içerik oluşturabilir, özet çıkarabilir veya yazım tarzını bağlama göre uyarlayabilir. Örneğin, toplantı notlarını kurumsal bir rapor haline getirebilir veya müşteri e-postalarına profesyonel yanıtlar tasarlayabilir.
  • Veri Analizi
    Excel veya Power BI içinde bulunan verileri analiz eder, trendleri belirler ve anlaşılır özetler çıkarır. Sadece sayıların değil, anlamın da arkasındaki hikâyeyi yakalar.
  • Kod Desteği
    GitHub Copilot sayesinde yazılımcılara kod önerileri getirir, hata yakalar ve açıklamalardan işlevsel kod blokları oluşturabilir. Bu, yazılım geliştirme süresini kısaltırken kaliteyi de artırır.
  • İş Akışı Otomasyonu
    Power Automate ve Power Apps içinde görevlerin otomatikleştirilmesini kolaylaştırır. “Yeni müşteri kaydı geldiğinde e-posta gönder” veya “haftalık satış raporu oluştur” gibi akışları doğal dilde kurmak mümkündür.
  • ERP / CRM Entegrasyonu
    Dynamics 365 Finance, Supply Chain, Sales ve Customer Service gibi uygulamalarda veri bazlı karar süreçlerini destekler. Örneğin, satış temsilcisine “bu ay en çok kar getiren müşteriler kimler?” sorusuna anında yanıt verir veya finans yöneticisine riskli hesapları özetler.

Copilot’un Felsefesi: “İnsanla Birlikte Çalışan Yapay Zekâ”

Copilot, insanın yerini almak için değil, insanla birlikte çalışmak için tasarlanmıştır. Bu yüzden Microsoft’un sıkça kullandığı ifade “Copilot is your everyday AI companion”  yani “Copilot, her gün seninle çalışan yapay zekâ dostun.” Kullanıcının kontrolü elinde tutmasını sağlar, ancak aynı zamanda o kullanıcının tarzını, tercihlerini ve çalışma biçimini öğrenerek zamanla kişiselleşir. Böylece her kullanıcı için farklı bir deneyim ortaya çıkar.

2. Copilot Nerelerde Kullanılır?

Microsoft Copilot artık sadece Microsoft 365 uygulamalarıyla sınırlı değil. Bugün Copilot, geliştiriciden finans yöneticisine, satış temsilcisinden son kullanıcıya kadar farklı rollere hitap eden, farklı amaçlarla özelleştirilmiş bir dizi yapay zekâ asistanı ailesine dönüştü.

Aşağıda Copilot’un yer aldığı başlıca platformlar ve sunduğu işlevleri bulabilirsin

Microsoft 365 Copilot

Copilot’un en yaygın ve tanıdık versiyonu. Word, Excel, PowerPoint, Outlook ve Teams uygulamalarına entegre şekilde çalışır.

Nasıl kullanılır?
Bir yönetici, Teams toplantısında alınan notlardan otomatik aksiyon planı oluşturabilir. Bir analist, Excel’deki binlerce satır veriyi Copilot’a “bu verilerden öne çıkan eğilimleri özetle” diyerek saniyeler içinde rapora dönüştürebilir. Outlook’ta ise uzun e-posta zincirlerinden en önemli bilgileri çıkarabilir veya “bu maile profesyonel bir yanıt hazırla” komutuyla dakikalar kazandırabilir.

Neden önemli?
Çünkü ofis çalışanlarının en çok zaman harcadığı iş, veri toplamak, özetlemek ve yazıya dökmektir. Copilot, bu süreçleri saniyelere indirerek yaratıcılığa ve analize daha fazla zaman kazandırır.

Dynamics 365 Copilot

ERP ve CRM dünyasında gerçek bir dönüm noktası. Copilot, yalnızca veriyi göstermekle kalmaz, onu yorumlar ve anlamlı aksiyon önerileri sunar.

Öne çıkan örnekler:

  • Finance & Supply Chain: Finansal raporları özetler, tutarsızlıkları tespit eder, “bu ayki anormal gider kalemleri” gibi sorulara yanıt verir.
  • Sales: E-posta geçmişi, fırsatlar ve müşteri etkileşimlerini analiz ederek, satış ekibine hangi müşteriye öncelik vermesi gerektiğini önerir.
  • Customer Service: Müşteri temsilcisine yanıt önerileri sunar, geçmiş vakaları tarar, çözüm sürelerini kısaltır.
  • Human Resources: Çalışan verilerini analiz eder, izin ve bordro politikalarına ilişkin soruları yanıtlayabilir.

Dynamics 365 Copilot, kullanıcıyı veri yığınlarının arasında kaybolmaktan kurtarır ve onu “doğal dille çalışan bir karar destek sistemine” dönüştürür.

ERP’de veri aramak yerine artık sadece “bugünkü stok durumu nedir?” diye sormak yeterli hale geliyor.

GitHub Copilot

Copilot markasının doğduğu ilk yer. Yazılımcılar için tasarlanmış bu versiyon, “akıllı kod asistanı” olarak bilinir.

Nasıl çalışır?
Kod yazarken satır aralarındaki bağlamı analiz eder, otomatik tamamlama önerileri getirir, hatta açıklamalardan (comment’lerden) doğrudan işlevsel kod üretebilir.
Örneğin, “// create a function that returns the average of a list” yazarsan, GitHub Copilot bunu saniyeler içinde uygular.

Ne sağlar?

  • Geliştirme süresini kısaltır
  • Kod kalitesini artırır
  • Yeni geliştiricilerin öğrenme sürecini hızlandırır

Bugün milyonlarca yazılımcı tarafından Visual Studio Code ve GitHub üzerinde aktif olarak kullanılıyor.

Windows ve Edge Copilot

Copilot’un masaüstü deneyimine entegre edilmiş sürümüdür. Windows 11 Copilot, bilgisayarın içinde yerleşik bir asistan gibi davranır; sistem ayarlarını değiştirebilir, ekran parlaklığını ayarlayabilir, belgeleri bulabilir veya sana hatırlatmalar kurabilir.

Edge Copilot ise tarayıcıda yeni bir deneyim sunar:
Bir web sayfasını özetleyebilir, içerik fikri önerebilir, metinlerden veya görsellerden bilgi çıkarabilir. Örneğin, araştırma yaparken Copilot’a “bu makaleyi üç cümlede özetle” dersen, anında hazır hale getirir. Bu sürüm, yapay zekâyı doğrudan günlük masaüstü deneyiminin içine taşır.

Power Platform Copilot

Copilot’un low-code dünyasındaki uzantısı. Power Apps ve Power Automate gibi araçlara entegre çalışır.

Ne yapar?

  • Uygulama geliştirme sürecini doğal dile indirger.
  • “Bir form oluştur ve sonuçları e-posta ile gönder” dediğinde, arka planda tüm yapıyı oluşturabilir.
  • Power Automate içinde iş akışlarını yazılı komut olmadan tasarlamanı sağlar.
  • Chatbot’lar oluştururken, senaryoyu yazmana gerek kalmadan öneriler getirir.

Neden önemli?
Çünkü Copilot, teknik bilgi seviyesi ne olursa olsun her kullanıcıyı “uygulama geliştirebilen bir yaratıcıya” dönüştürür. Bu da kurumların inovasyon hızını ciddi biçimde artırır.

Ekosistemin Genel Görünümü

Microsoft artık “Copilot” adını sadece bir ürün değil, bir ekosistem markası olarak konumlandırıyor.
Her Copilot versiyonu aynı temel modeli paylaşır:

  • Doğal dil ile iletişim
  • Bağlam farkındalığı
  • Güvenli Microsoft bulut altyapısı
  • Kullanıcının çalıştığı veriye göre kişisel öneriler

Farkları, sadece nerede çalıştıkları ve hangi problemi çözdükleridir.

Microsoft’un vizyonu: “Her uygulamada, her rolde, her kullanıcı için bir Copilot.”

3. Copilot’un Tarihçesi

Copilot markasının hikâyesi, aslında Microsoft’un yapay zekâyı ürünlerinin DNA’sına entegre etme yolculuğunun özeti gibidir. Bu süreç, yalnızca teknolojik bir gelişim değil; aynı zamanda iş yapma biçimlerinin, üretkenlik anlayışının ve kullanıcı deneyiminin kökten değişimidir.

Microsoft’un vizyonu netti:

“Her uygulamada, her kullanıcı için bir Copilot olacak.”

Bu vizyon, birkaç yıl içinde deneysel bir fikirden, milyarlarca kullanıcının günlük hayatına entegre edilmiş bir platform haline geldi.
İşte Copilot’un evrimini belirleyen dönüm noktaları:

Yıl Olay Açıklama
2021 GitHub Copilot Copilot markasının doğduğu yer. GitHub Copilot, OpenAI’nin Codex modeliyle geliştirildi ve yazılımcılara kod yazarken anında öneriler sunmaya başladı. Bu, “AI as your coding partner” fikrini dünyaya tanıttı.
2023 (Şubat) Bing Chat / “New Bing” Microsoft, OpenAI’nin GPT-4 modellerini Bing arama motoruna ve Edge tarayıcısına entegre ederek “sohbet tabanlı arama” dönemini başlattı. Copilot’un tüketiciye ulaşan ilk geniş ölçekli versiyonu buydu.
2023 (Mart) Microsoft 365 Copilot Duyurusu Word, Excel, PowerPoint, Outlook ve Teams’e entegre edilen Copilot ile üretkenlik araçları yeni bir çağa geçti. Artık kullanıcılar, verilerini doğal dille sorgulayabiliyor, rapor ve sunumlarını saniyeler içinde oluşturabiliyordu.
2023 (Mayıs) Dynamics 365 ve Power Platform Copilot Kurumsal tarafta devrim: ERP, CRM ve low-code geliştirme platformlarına yapay zekâ desteği geldi. Bu sayede finans, satış, müşteri hizmetleri ve uygulama geliştirme süreçleri doğal dille yönetilebilir hale geldi.
2024 Windows Copilot Duyurusu Copilot artık işletim sisteminin kendisine entegre edildi. Windows 11 içinde yerleşik bir yapay zekâ asistanı olarak, kullanıcıya sistem düzeyinde destek sunmaya başladı. Bu, Copilot’un günlük bilgisayar deneyiminin doğal bir parçası haline geldiği aşamaydı.
2025 ve Sonrası Copilot Studio & Azure AI Agents Microsoft’un son büyük adımı: Kurumların kendi özel Copilot’larını oluşturabilmesini sağlamak. Copilot Studio ile şirketler artık kendi verilerini, süreçlerini ve kurallarını kullanarak özel temsilciler (AI agents) geliştirebiliyor. Bu, Copilot’un kişisel bir araçtan kurumsal bir platforma evrilmesini temsil ediyor.

Stratejik Yolculuğun Özeti

Copilot’un tarihçesi, Microsoft’un “AI-first” yaklaşımını nasıl sistematik şekilde hayata geçirdiğini gösteriyor. 2021’de bir kod asistanı olarak başlayan bu yolculuk, 2025 itibarıyla tüm Microsoft ekosistemine yayılmış durumda.

Bugün gelinen noktada Copilot:

  • Artık yalnızca bir özellik değil, bir platform.
  • Artık yalnızca Office içinde değil, tüm dijital çalışma deneyiminde yer alıyor.
  • Ve artık sadece kullanıcıya yardım eden değil, onunla birlikte düşünen bir yapay zekâ ortağı.

Kısacası, Copilot’un tarihçesi aynı zamanda yapay zekâ destekli iş dünyasının da doğuş hikâyesidir.

4. Copilot’un İş Dünyasındaki Önemi

Copilot’un iş dünyasında yarattığı etki, yalnızca teknolojik bir yenilikten çok daha fazlası.
O, şirketlerin karar alma biçimlerini, bilgiye erişim yollarını ve üretkenlik tanımını kökten değiştiriyor.

Bugüne kadar dijital dönüşüm, verinin toplanması ve raporlanması etrafında şekilleniyordu. Ancak artık yeni dönemde, “veriyi yorumlayan ve anlamlı aksiyon önerileri sunan” sistemler fark yaratıyor ve işte tam bu noktada Copilot, geleneksel araçlardan farklı bir seviyeye geçişi temsil ediyor.

Üretkenlikten Akıllı Karara: Yeni Paradigma

Copilot’un en güçlü yönü, veriyi sadece göstermemesi; o veriyi yorumlaması ve eyleme dönüştürmesidir. Örneğin, bir finans yöneticisi artık rapor almak için IT ekibine talep göndermek zorunda değil. Sadece “Bu ay giderlerdeki beklenmedik artışın nedeni ne?” diye sorabilir. Copilot, ERP sistemindeki veriyi tarar, anomaliyi bulur ve gerekirse bir çözüm önerisi sunar. Aynı mantık satış, müşteri ilişkileri veya tedarik zinciri süreçlerinde de geçerlidir. Yani Copilot, sadece bir veri asistanı değil, stratejik bir karar destek aracıdır.

Copilot’un Sağladığı Temel Faydalar

Zaman Tasarrufu

Kullanıcıların tekrarlayan ve manuel iş yüklerini ortadan kaldırır. Rutin raporlamalar, veri temizlikleri, yazışmalar veya sunum hazırlıkları artık dakikalar içinde  tamamlanabilir. Bu sayede çalışanlar operasyonel işlerden stratejik görevlere odaklanabilir.

Bağlama Dayalı Analiz

Copilot’un farkı, yalnızca bilgi vermesi değil, doğru bilgiyi doğru anda sunmasıdır. ERP veya CRM sistemlerinde çalışırken, kullanıcının yaptığı işlemi, açık olduğu ekranı ve mevcut veriyi algılar. Bu bağlam farkındalığı sayesinde, öneriler o anki iş senaryosuna özel hale gelir.

Veriye Erişim Kolaylığı

Artık bir SQL sorgusu ya da karmaşık rapor şablonu hazırlamaya gerek yok. Copilot, veriye doğal dil üzerinden erişim sağlar. Örneğin “Son çeyrekte en çok iade edilen ürünler hangileri?” veya “Bu haftaki stok hareketlerini özetle” gibi sorularla, karmaşık veri sorguları saniyeler içinde anlamlı çıktılara dönüşür.

Kurumsal Bilgiye Erişim

Copilot, sadece ERP veya CRM verisine değil; dokümanlara, e-postalara, Teams sohbetlerine ve kurumsal arşivlere de erişerek kurumsal zekâyı bütüncül bir şekilde kullanır. Bu sayede şirketin farklı sistemlerinde dağılmış bilgiler tek bir yapay zekâ katmanında birleşir.

İnsan + Yapay Zekâ = Akıllı Kurum

Copilot, insanların yerine geçmek için değil; onlarla iş birliği içinde çalışmak için tasarlanmıştır. Yapay zekâ veriyi işler, özetler ve öneri getirir; insan ise bağlamı, sezgiyi ve stratejiyi devreye sokar. Bu iş birliği, modern işletmelerin “daha az eforla daha fazla değer üretme” hedefine ulaşmasını sağlar.

Bugün Copilot’un iş dünyasındaki önemi, yalnızca iş yükünü hafifletmesinde değil, karar alma kültürünü demokratikleştirmesinde yatıyor. Artık veriye erişim sadece analistlerin değil, herkesin hakkı. Copilot bu farkı ortadan kaldırıyor ve “her çalışanın eline bir veri asistanı” veriyor.

Kısacası Copilot, iş dünyasında verimliliğin değil; bilinçli, hızlı ve bağlama duyarlı kararların simgesi haline geldi.

5. Dynamics 365 Perspektifinden Copilot

Microsoft Copilot’un gerçek potansiyeli, Dynamics 365 ekosisteminde ortaya çıkıyor. Çünkü burada Copilot yalnızca metin üreten bir yardımcı değil, operasyonel süreçlerin kalbinde yer alan bir karar destek sistemi.

Dynamics 365 platformunda Copilot’un rolü, her modülün iş ihtiyaçlarına göre değişmekle birlikte temelde iki temel fayda sağlar:

  1. Kullanıcı deneyimini sadeleştirir – karmaşık menüler veya veri listeleri arasında gezinmeye gerek kalmaz.
  2. Veriden anlam çıkarır – kullanıcının sorularına, gerçek zamanlı sistem verisine dayalı akıllı yanıtlar verir.

Aşağıda Copilot’un Dynamics 365 dünyasında öne çıkan kullanım alanlarını detaylı şekilde anlatmaya çalıştım.

Finance & Operations (ERP) Copilot

Dynamics 365 Finance ve Supply Chain Management uygulamaları, Copilot entegrasyonu sayesinde yalnızca veriyi kaydeden sistemler olmaktan çıkıp veriyi yorumlayan sistemlere dönüşüyor.

Copilot neler yapabiliyor?

  • KPI analizleri, bütçe karşılaştırmaları ve trend özetlerini doğal dilde sunar.
  • “Bu ay beklenmedik gider artışları var mı?” veya “En düşük marjlı ürün gruplarını göster” gibi sorulara anında yanıt verir.
  • Batch job durumlarını izler, hata mesajlarını anlamlandırır ve olası çözüm önerilerini getirir.
  • Stok seviyeleri, satın alma talepleri veya tedarik zinciri performansını kullanıcıya anlaşılır bir dilde özetler.

Faydası:
Operasyonel ekiplerin IT’ye bağımlılığı azalır, karar süreçleri hızlanır.  Kullanıcı artık rapor aramak yerine “soru sormaya” başlar — yani ERP, kullanıcıyla konuşan bir sistem haline gelir.

Human Resources (HR) Copilot

Dynamics 365 Human Resources modülünde Copilot, hem çalışanlar hem de İK ekipleri için self-service bir deneyim yaratır.

Kullanım senaryoları:

  • Çalışanlar izin, maaş, prim veya yan haklarla ilgili sorularını Copilot’a doğal dilde sorabilir:
    “Kalan yıllık iznim ne kadar?” veya “Son maaş bordromu göster” gibi.
  • İK yöneticileri, Copilot’tan departman bazında memnuniyet analizleri, devinim oranları veya işe alım raporları isteyebilir.
  • HR süreçleriyle ilgili sık sorulan sorular Copilot aracılığıyla yanıtlanarak helpdesk yükü azalır.

Faydası:
İK süreçleri otomatikleşir, çalışan deneyimi iyileşir ve kurum içi bilgi akışı hızlanır.

Microsoft Fabric Entegrasyonu: Verinin Yeni Boyutu

Copilot’un Dynamics 365 dünyasındaki en büyük avantajlarından biri, artık sadece uygulama içi veriye değil, Fabric üzerindeki birleşik veri katmanına da erişebilmesidir.

Bu ne anlama geliyor?

  • Dynamics 365’teki operasyonel veriler (örneğin satış, üretim, finans) Fabric’in OneLake yapısında depolanır.
  • Copilot, bu veri kümelerini Power BI, Excel, Teams veya Viva Insights üzerinden analiz edebilir.
  • Kullanıcı, “Power BI’daki son çeyrek satış performansını özetle” gibi komutlar verdiğinde Copilot doğrudan Fabric üzerinden yanıt oluşturabilir.

ERP verisi artık kapalı bir kutu olmaktan çıkar; kurumsal verinin tamamı tek bir yapay zekâ katmanında birleşir. Bu da karar alma sürecini hızlandırır, farklı sistemler arasında tek bir bilgi dili oluşturur.

Dynamics 365 Copilot, ERP’nin karmaşıklığını gizleyen, ama zekâsını kullanıcıya sunan bir yapay zekâ katmanıdır.

6. Gelecek: Copilot Studio ve Kurumsal Uygulamalar

2024 itibarıyla Copilot, artık yalnızca Microsoft’un sunduğu hazır yapay zekâ çözümleriyle sınırlı değil. Kurumlar artık kendi iş süreçlerine, veri kaynaklarına ve kurallarına göre özel Copilot’lar geliştirebiliyor. Bu dönüşümün merkezinde Copilot Studio ve yeni MCP mimarisi yer alıyor.

Copilot Studio Nedir?

Copilot Studio, kurumların kendi Copilot temsilcilerini (AI agents) kolayca tasarlayıp yönetebilmelerini sağlayan Microsoft’un yeni platformudur.
Basit bir sohbet botu oluşturma aracından çok daha fazlasıdır; çünkü hem Power Platform’un low-code gücünü, hem de Azure AI ve Microsoft Graph verilerini birleştirir.

Copilot Studio sayesinde:

  • Şirketler kendi markalarına, süreçlerine ve verilerine özel Copilot’lar oluşturabilir.
  • Bu Copilot’lar yalnızca soruları yanıtlamakla kalmaz, işlemler de gerçekleştirebilir (örneğin Dynamics 365’te bir fatura oluşturmak, bir izin talebini onaylamak, bir satış kaydı açmak gibi).
  • Geliştirilen her temsilci, hem Microsoft 365 uygulamaları hem de Teams, Power Apps veya web kanalları üzerinden erişilebilir hale gelir.

Yani bir anlamda, her kurum kendi yapay zekâ ekibini oluşturabiliyor.

Model Context Protocol (MCP):

MCP (Model Context Protocol), Copilot’un iş uygulamalarıyla (örneğin Dynamics 365, Power Platform, Fabric) güvenli, bağlama duyarlı ve eylem odaklı şekilde iletişim kurmasını sağlayan yeni protokoldür. MCP sayesinde Copilot, yalnızca metin üreten bir model olmaktan çıkıp iş mantığıyla entegre çalışan bir zekâ katmanı haline gelir.

Temel Özellikleri:

  • Bağlam (Context): Copilot, kullanıcının hangi uygulamada ve hangi veriyle çalıştığını bilir.
  • Grounding: Yanıtlarını model tahminine değil, Dynamics 365 içindeki gerçek verilere dayandırır.
  • Eylemler (Actions): “Yeni müşteri oluştur”, “İzin talebini onayla” gibi komutları sistem üzerinde gerçekten uygular.
  • Güvenlik: Her işlem Microsoft Entra ID izinleriyle yürütülür; Copilot, yalnızca kullanıcının erişebildiği verilere ulaşır.

Kısacası MCP, Copilot’un modeli ile Dynamics 365’in iş mantığı arasında köprü kurar — böylece Copilot artık sadece konuşmaz, gerçekten iş yapar.

Dynamics 365 ile Kesişim Noktası

Copilot Studio ve MCP yapısı Dynamics 365 dünyası için çok kritik bir dönüm noktası. Çünkü artık ERP ve CRM verisine erişim, sadece rapor okumakla sınırlı değil  Copilot, bu veriyi işleyip doğrudan aksiyona dönüştürebiliyor.

Örneğin:

  • Finans Copilot’u, “Kasım ayında hangi departmanda maliyet aşımı oldu?” sorusunu yanıtlayabilir.
  • Satış Copilot’u, “Bu hafta en fazla satış potansiyeli taşıyan müşteriler kimler?” diye sorulduğunda, CRM verisini analiz edip sıralı öneri listesi sunabilir.
  • HR Copilot’u, “Onay bekleyen izin taleplerini listele ve Ahmet’in talebini onayla” komutuyla doğrudan işlem yapabilir.

Bu yetenekler, Copilot’u pasif bir bilgi aracı olmaktan çıkarıp aktif bir iş ortağı haline getiriyor.

Kurumlar İçin Yeni Dönem: Özel Yapay Zekâ Temsilcileri

Copilot Studio’nun açtığı en büyük kapı, her kurumun kendi iş modeline özel yapay zekâ temsilcileri geliştirebilmesidir. Artık “herkesin kullandığı genel bir Copilot” yerine,
her şirketin kendi kurumsal zekâsını yansıtan, kendi verisini anlayan Copilot’ları olacak.

Bu da şu sonuçları doğuruyor:

  • Kurumsal veriler üzerinde tam kontrol: Tüm Copilot’lar Microsoft güvenlik çerçevesi içinde kalır.
  • Verimlilikte sıçrama: Özelleştirilmiş temsilciler, her departman için kişisel asistan rolü oynar.
  • Bilgi akışında bütünlük: ERP, CRM, e-posta, doküman, Teams sohbeti gibi kaynaklar tek zeka katmanında birleşir.
  • İşlem otomasyonu: Copilot artık sadece yanıtlayan değil, eyleme geçen bir yardımcı haline gelir.

Özetle: Copilot Studio, “AI destekli çalışma” kavramını, “AI ile çalışan organizasyon” düzeyine taşıyor. Microsoft’un Copilot yolculuğunda 2024 ve sonrası dönem, “kişiselleştirilmiş yapay zekâ” çağı olarak tanımlanabilir.Copilot Studio ve MCP mimarisi sayesinde kurumlar artık yalnızca Copilot kullanan değil, Copilot üreten organizasyonlara dönüşüyor. Bu da iş dünyasında yeni bir dönemi başlatıyor:

Her kurumun, kendi verisini anlayan, kendi kararlarını destekleyen bir yapay zekâ ortağı olacak.

7. Sonuç

Copilot artık yalnızca bir yapay zekâ asistanı değil; yeni bir çalışma biçiminin simgesi. Bilgiyi depolayan değil anlayan, süreçleri izleyen değil yönlendiren; insanın yerine geçmek yerine onunla birlikte düşünen bir sistem.

Microsoft’un vizyonu bugün her zamankinden daha net: “Her uygulamada, her rolde, her kullanıcı için bir Copilot.”

Bu vizyon, teknolojinin ötesinde kurumların çalışma kültürünü yeniden tanımlayan bir dönüşümü temsil ediyor. Artık dijitalleşme, sadece veri toplamanın değil, veriyle birlikte düşünmenin zamanı.

Copilot’un hikâyesi aynı zamanda insan–makine iş birliğinin evrimidir. Bir zamanlar otomasyon olarak gördüğümüz şey, bugün gerçek bir zekâ ortaklığına dönüşmüş durumda. Yapay zekâ artık bir görev aracı değil, karar ortağı; her departmanı daha hızlı, daha üretken ve daha öngörülü hale getiriyor.

Sonuç olarak, Copilot bugünün iş süreçlerini hızlandıran bir teknoloji değil; yarının çalışma kültürünü şekillendiren bir dönüşüm aracıdır. Onu değerli kılan ise insanın yaratıcılığıyla yapay zekânın analitik gücünün oluşturduğu akıllı iş birliğidir. Gelecekte kazanacak olanlar, teknolojiyi sadece kullananlar değil, onunla birlikte düşünebilen ve stratejinin merkezine yerleştirebilenler olacaktır.

Sıradaki Adım: Derinleşen Copilot Ekosistemi

Bu yazı, Microsoft Copilot ekosistemine genel bir giriş niteliğindeydi.
Serinin devamında şu başlıkları ayrıntılı şekilde ele alacağız:

  1. Dynamics 365 Copilot Entegrasyonları: ERP ve CRM süreçlerinde yapay zekânın gerçek kullanım senaryoları
  2. Copilot Studio: Kendi özel temsilcilerini tasarlamak isteyen kurumlar için yol haritası
  3. Kurumsal Veri Güvenliği ve AI Governance: Yapay zekâ ile çalışırken veri gizliliği, erişim kontrolü ve etik çerçeve

Bu başlıklar, yalnızca Copilot’un nasıl çalıştığını değil, iş dünyasının geleceğini nasıl şekillendirdiğini de ortaya koymaya çalışacağım.

www.fatihdemirci.net

Tags: AI, Copilot, Dynamics365, ERP, CRM

How to Read and Analyze the Dynamics 365 F&O License Usage Summary Report – A Real-Life Scenario

How to Read and Analyze the Dynamics 365 F&O License Usage Summary Report – A Real-Life Scenario

License management has now become a necessity in Dynamics 365 ERP applications. With Microsoft’s license enforcement process, which will come into effect in November 2025, every menu item, role, and task accessed by each user in the system must be matched with the appropriate license type. Otherwise, companies may face unnecessarily high licensing costs.

So, what should system administrators or consultants do in this process? At this point, the newly introduced “Licenses Usage Summary (preview)” report by Microsoft becomes critically important. Now, license requirements can be analyzed in detail — not only based on the user’s assigned role in the system, but also by diving into which duties, privileges, and menu items (AOT) are accessible through that role. With this report, we can analyze which licenses a user needs and which roles are responsible for those needs.

In this article; We will examine the “Licenses Usage Summary (preview)” report, which is part of the new Security Governance framework, in detail through an example user. We will also review how to interpret license distribution based on specific Duties, Privileges, and User Roles.

You can access the report from: System administration > Security > Security governance > Licenses usage summary (preview). You need to be on version 10.0.44. Additionally, if it is not already enabled, you must activate both “Security Governance” and the report separately through Feature management.

Resim 1

Read more

Dynamics 365 Finance and Operations Uygulamaları için Lisans Kullanımını Görüntüleme Raporu

Dynamics 365 Finance and Operations, uzun yıllar boyunca esnek ve etik bir lisanslama yaklaşımı ile kullanıcılarına hizmet sundu. Yani, lisans atanmamış olsa bile bir kullanıcı, ERP sistemine erişim sağlayabiliyordu. Ancak Microsoft’un yeni stratejisiyle Kasım 2025 itibarıyla bu durum değişiyor ve ERP kullanıcılarının da tıpkı CRM ve Office kullanıcıları gibi belirli lisanslara sahip olması zorunlu hale geliyor. Bu süreçte, eskiden Dynamics ve Lifecycle Services üzerinden erişilebilen eski lisans raporları da artık kullanımdan kalkacak ve yerini, daha güncel ve doğru sonuçlar veren yeni lisans kullanım raporu alacak. Bu yazıda, bu yeni raporun nasıl okunacağını ve doğru lisans yönetimi için hangi adımların atılması gerektiğini ele alacağız.

1. Lisans Atama Zorunluluğu ve Güncellenen Tarihler

  • Artık D365 FO uygulamasına erişen her kullanıcı için Microsoft Entra ID üzerinden uygun lisans atanması zorunlu hale geliyor.
  • 1 Eylül 2025’ten itibaren lisans atanmamış kullanıcılar, sistem içerisinde kapatılamayan bir uyarıyla karşılaşacak.
  • Bu uyarı başlangıçta sadece bilgilendirme amaçlı olacak, fakat aslında bu dönem, sistemdeki eksik atamaları düzeltmek için son fırsat.


Read more

Dynamics 365 Finance and Operations Cross-company Data Sharing.

Cross-company data sharing kavramı, ERP içindeki şirketler arasında şirket özel ana, referans ve kurulum verilerini paylaşmanızı sağlar.

İki veri paylaşımı kavramı mevcuttur:

Duplicate record sharing (DRS), bir politikada herhangi bir şirket için kayıtların oluşturulması, güncellenmesi veya silinmesinin, politikadaki tüm şirketlere kopyalanması/çoğaltılması kavramıdır. Alanların güncellemeleri, politikada paylaşılmak üzere seçilmişse çoğaltılır. DRS, ilk olarak sunulan paylaşım türüydü.

Single record sharing (SRS), bir ana şirkete ait tek bir fiziksel kaydın sanal olarak tüm alt şirketler arasında paylaşıldığı bir kavramdır. Herhangi bir şirkette oluşturma, güncelleme veya silme, tüm şirketler arasında kullanılan tek ortak kayıtta işlem yapar. Ana şirket paylaşımı şu anda ön izlemede ama kısa sürede buda aktif edilecektir. Biraz eski sanal şirket mantığı gibi düşünebilirsiniz.

Basit bir kurulumla DRS için bir örnek yapalım. Cross-company Data Sharing özelliği açık olmayabilir. Feature management kullanarak aktif edebilirsiniz. Sonrasında aşağıdaki formu açalım. Yeni bir kayıt oluşturup Tablo olarak CustGroup ekleyelim. Tablo listesi burada mevcut. Veri paylaşma istediğimiz iki şirketi seçtim.

Resim-1

USMF te veri mevcut.

Resim-2

SIR şirketinde hiç veri yok.

Resim-3

Kaydettikten sonra Enable edip senkronizasyonu başlatıyoruz.

Resim-4

Veri kopyalama devam ediyor.

Resim-5

İşlem tamamlandıktan sonra SIR şirketini yenilediğinizde verilerin oluştuğunu göreceksiniz. Resim1 de görüldüğü gibi PeymTermId seçmediğimiz için verileri kopyalanmadı. Bu şekilde istediğimiz alanı seçebiliriz. Tabi Ana tablolu bir alansa onun tablosunundu paylaşılması gerekecektir.

Resim-6

Ana veri paylaşımı çok sık karşımıza çıkan bir konu benzer kodları çok defa yazmak zorunda kalmışımdır. Bu özellik benzer ihtiyaçları sistem içinden çözmek için çok iyi olmuş. Hala geliştirilmeye devam ediyor. Tam olgunlaştığında özellikle danışmanlar tarafından yoğun kullanılacak bir fonksiyon olacaktır.

Selamlar.

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, DefaultAccount, LedgerDimension, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Segmented Entry, Power Automate, Power Apss, Power Virtual Agents, Dynamics 365 nedir, Dynamics 365 ERP, Dynamics 365 CRM

Dynamics 365 Finance and Operations Sorguya dinamik filtre eklemek?

Bu yazıda Dynamics 365 Finance and Operations içinde yazdığınız herhangi bir sorguya filtre eklerken eğer sadece değişken doluysa filtre eklemek istiyorsanız kullanabileceğiniz bir teknikten bahsedeceğim.

Örnek bir kodu inceleyelim. Öncelikle Generateonly ile sorgunuzu sadece hazırlamış oluyorsunuz çalıştırılmıyor bu sayede SQL çıktısını görebiliyorsunuz.

static void DmrFDQuerySQLStatment(Args _args)

{

CustAccount custAccount;

CustTable   custTable;

custAccount = “C00003″;

select generateonly custTable

where custTable.AccountNum == custAccount;

// 1. sorgu

info(custTable.getSQLStatement());

// Eğer değişkenin boş mu dolu mu olduğunu kontrol etmek istersem if kullanmalıyım. Birden çok değişken olduğunda bu çok karışık bir hal alabilir.

if(custAccount != “”)

{

select generateonly custTable

where custTable.AccountNum == custAccount;

info(custTable.getSQLStatement());

}

else

{

select generateonly custTable ;

info(custTable.getSQLStatement());

}

// Bu şekilde yazarak eğer değişken doluysa ekliyor. Eğişken boşsa hiç eklemiyor if e ihtiyaç duymadan işimizi hallediyoru.

// 3. sorgu

custAccount = “”;

select generateonly custTable

where (( custTable.AccountNum == custAccount && custAccount ) || (!custAccount));

info(custTable.getSQLStatement());

}

  1. sorgu

SELECT T1.ACCOUNTNUM,T1.INVOICEACCOUNT,T1.CUSTGROUP,T1.LINEDISC,

T1.PAYMTERMID,T1.CASHDISC,T1.CURRENCY,

T1.INTERCOMPANYAUTOCREATEORDERS,T1.SALESGROUP,T1.BLOCKED,

T1.ONETIMECUSTOMER,T1.ACCOUNTSTATEMENT,

T1.CREDITMAX,T1.MANDATORYCREDITLIMIT,T1.VENDACCOUNT,

T1.PRICEGROUP,T1.MULTILINEDISC,T1.ENDDISC,T1.VATNUM,

T1.INVENTLOCATION,T1.DLVTERM,T1.DLVMODE,T1.MARKUPGROUP,

T1.CLEARINGPERIOD,T1.FREIGHTZONE,T1.CREDITRATING,T1.TAXGROUP,

T1.STATISTICSGROUP,T1.PAYMMODE,T1.COMMISSIONGROUP,

T1.BANKACCOUNT,T1.PAYMSCHED,T1.CONTACTPERSONID,T1.INVOICEADDRESS,

T1.OURACCOUNTNUM,T1.SALESPOOLID,T1.INCLTAX,T1.CUSTITEMGROUPID,

T1.NUMBERSEQUENCEGROUP,T1.PAYMDAYID,T1.LINEOFBUSINESSID,

T1.DESTINATIONCODEID,T1.GIROTYPE,T1.SUPPITEMGROUPID,

T1.GIROTYPEINTERESTNOTE,T1.TAXLICENSENUM,T1.WEBSALESORDERDISPLAY,

T1.PAYMSPEC,T1.BANKCENTRALBANKPURPOSETEXT,T1.BANKCENTRALBANKPURPOSECODE,

T1.INTERCOMPANYALLOWINDIRECTCREATION,

T1.PACKMATERIALFEELICENSENUM,T1.TAXBORDERNUMBER_FI,T1.EINVOICEEANNUM,

T1.FISCALCODE,T1.DLVREASON,T1.FORECASTDMPINCLUDE,

T1.GIROTYPECOLLECTIONLETTER,T1.SALESCALENDARID,T1.CUSTCLASSIFICATIONID,

T1.INTERCOMPANYDIRECTDELIVERY,T1.ENTERPRISENUMBER,

T1.SHIPCARRIERACCOUNT,T1.GIROTYPEPROJINVOICE,T1.INVENTSITEID,

T1.ORDERENTRYDEADLINEGROUPID,T1.SHIPCARRIERID,

T1.SHIPCARRIERFUELSURCHARGE,T1.SHIPCARRIERBLINDSHIPMENT,

T1.SHIPCARRIERACCOUNTCODE,T1.GIROTYPEFREETEXTINVOICE,

T1.SYNCENTITYID,T1.SYNCVERSION,T1.SALESDISTRICTID,

T1.SEGMENTID,T1.SUBSEGMENTID,T1.RFIDITEMTAGGING,T1.RFIDCASETAGGING,

T1.RFIDPALLETTAGGING,T1.COMPANYCHAINID,T1.COMPANYIDSIRET,

T1.PARTY,T1.IDENTIFICATIONNUMBER,T1.PARTYCOUNTRY,T1.PARTYSTATE,

T1.ORGID,T1.PAYMIDTYPE,T1.FACTORINGACCOUNT,T1.DEFAULTDIMENSION,

T1.CUSTEXCLUDECOLLECTIONFEE,T1.CUSTEXCLUDEINTERESTCHARGES,

T1.COMPANYNAFCODE,T1.BANKCUSTPAYMIDTABLE,T1.GIROTYPEACCOUNTSTATEMENT,

T1.MAINCONTACTWORKER,T1.CREDITCARDADDRESSVERIFICATION,

T1.CREDITCARDCVC,T1.CREDITCARDADDRESSVERIFICATIONVOID,

T1.CREDITCARDADDRESSVERIFICATIONLEVEL,T1.COMPANYTYPE_MX,T1.RFC_MX,T1.CURP_MX,

T1.STATEINSCRIPTION_MX,T1.RESIDENCEFOREIGNCOUNTRYREGIONID_IT,

T1.BIRTHCOUNTYCODE_IT,T1.BIRTHDATE_IT,T1.BIRTHPLACE_IT,T1.EINVOICE,

T1.CCMNUM_BR,T1.CNPJCPFNUM_BR,T1.PBACUSTGROUPID,T1.IENUM_BR,

T1.SUFRAMANUMBER_BR,T1.SUFRAMA_BR,T1.CUSTFINALUSER_BR,T1.INTERESTCODE_BR,

T1.FINECODE_BR,T1.SUFRAMAPISCOFINS_BR,T1.TAXWITHHOLDCALCULATE_TH,

T1.TAXWITHHOLDGROUP_TH,T1.CONSDAY_JP,T1.NIT_BR,T1.INSSCEI_BR,T1.CNAE_BR,

T1.ICMSCONTRIBUTOR_BR,T1.SERVICECODEONDLVADDRESS_BR,

T1.INVENTPROFILETYPE_RU,T1.INVENTPROFILEID_RU,T1.TAXWITHHOLDCALCULATE_IN,

T1.UNITEDVATINVOICE_LT,T1.ENTERPRISECODE,T1.COMMERCIALREGISTERSECTION,

T1.COMMERCIALREGISTERINSETNUMBER,T1.COMMERCIALREGISTER,

T1.REGNUM_W,T1.ISRESIDENT_LV,T1.INTBANK_LV,T1.PAYMENTREFERENCE_EE,

T1.PACKAGEDEPOSITEXCEMPT_PL,T1.FEDNONFEDINDICATOR,

T1.IRS1099CINDICATOR,T1.AGENCYLOCATIONCODE,T1.FEDERALCOMMENTS,

T1.USEPURCHREQUEST,T1.MCRMERGEDPARENT,T1.MCRMERGEDROOT,

T1.AFFILIATED_RU,T1.CASHDISCBASEDAYS,T1.CUSTTRADINGPARTNERCODE,

T1.CUSTWHTCONTRIBUTIONTYPE_BR,T1.DAXINTEGRATIONID,

T1.DEFAULTDIRECTDEBITMANDATE,T1.DEFAULTINVENTSTATUSID,

T1.ENTRYCERTIFICATEREQUIRED_W,T1.EXPORTSALES_PL,T1.EXPRESSBILLOFLADING,

T1.FISCALDOCTYPE_PL,T1.FOREIGNRESIDENT_RU,

T1.GENERATEINCOMINGFISCALDOCUMENT_BR,T1.INVOICEPOSTINGTYPE_RU,

T1.ISSUEOWNENTRYCERTIFICATE_W,T1.ISSUERCOUNTRY_HU,

T1.LVPAYMTRANSCODES,T1.MANDATORYVATDATE_PL,T1.PASSPORTNO_HU,

T1.PDSCUSTREBATEGROUPID,T1.PDSFREIGHTACCRUED,T1.PDSREBATETMAGROUP,

T1.TAXPERIODPAYMENTCODE_PL,T1.USECASHDISC,T1.FIELD1,

T1.MODIFIEDDATETIME,T1.DEL_MODIFIEDTIME,T1.MODIFIEDBY,

T1.CREATEDDATETIME,T1.DEL_CREATEDTIME,T1.RECVERSION,T1.PARTITION,

T1.RECID,T1.MEMO FROM CUSTTABLE T1 WHERE (((PARTITION=?) AND (DATAAREAID=?)) AND (ACCOUNTNUM=?))

  1. sorgu

SELECT T1.ACCOUNTNUM,T1.INVOICEACCOUNT,T1.CUSTGROUP,T1.LINEDISC,

T1.PAYMTERMID,T1.CASHDISC,T1.CURRENCY,T1.INTERCOMPANYAUTOCREATEORDERS,

T1.SALESGROUP,T1.BLOCKED,T1.ONETIMECUSTOMER,T1.ACCOUNTSTATEMENT,

T1.CREDITMAX,T1.MANDATORYCREDITLIMIT,T1.VENDACCOUNT,

T1.PRICEGROUP,T1.MULTILINEDISC,T1.ENDDISC,T1.VATNUM,

T1.INVENTLOCATION,T1.DLVTERM,T1.DLVMODE,T1.MARKUPGROUP,T1.CLEARINGPERIOD,

T1.FREIGHTZONE,T1.CREDITRATING,T1.TAXGROUP,T1.STATISTICSGROUP,

T1.PAYMMODE,T1.COMMISSIONGROUP,T1.BANKACCOUNT,T1.PAYMSCHED,

T1.CONTACTPERSONID,T1.INVOICEADDRESS,T1.OURACCOUNTNUM,

T1.SALESPOOLID,T1.INCLTAX,T1.CUSTITEMGROUPID,T1.NUMBERSEQUENCEGROUP,

T1.PAYMDAYID,T1.LINEOFBUSINESSID,T1.DESTINATIONCODEID,

T1.SUPPITEMGROUPID,T1.TAXLICENSENUM,T1.WEBSALESORDERDISPLAY,T1.PAYMSPEC,

T1.BANKCENTRALBANKPURPOSETEXT,T1.BANKCENTRALBANKPURPOSECODE,

T1.INTERCOMPANYALLOWINDIRECTCREATION,T1.PACKMATERIALFEELICENSENUM,

T1.DLVREASON,T1.FORECASTDMPINCLUDE,T1.SALESCALENDARID,

T1.CUSTCLASSIFICATIONID,T1.INTERCOMPANYDIRECTDELIVERY,T1.SHIPCARRIERACCOUNT,

T1.INVENTSITEID,T1.ORDERENTRYDEADLINEGROUPID,

T1.SHIPCARRIERID,T1.SHIPCARRIERFUELSURCHARGE,T1.SHIPCARRIERBLINDSHIPMENT,

T1.SHIPCARRIERACCOUNTCODE,T1.SYNCENTITYID,T1.SYNCVERSION,

T1.SALESDISTRICTID,T1.SEGMENTID,T1.SUBSEGMENTID,T1.RFIDITEMTAGGING,

T1.RFIDCASETAGGING,T1.RFIDPALLETTAGGING,T1.COMPANYCHAINID,

T1.PARTY,T1.IDENTIFICATIONNUMBER,T1.PARTYCOUNTRY,T1.PARTYSTATE,

T1.DEFAULTDIMENSION,T1.CUSTEXCLUDECOLLECTIONFEE,

T1.CUSTEXCLUDEINTERESTCHARGES,T1.MAINCONTACTWORKER,

T1.CREDITCARDADDRESSVERIFICATION,T1.CREDITCARDCVC,

T1.CREDITCARDADDRESSVERIFICATIONVOID,T1.CREDITCARDADDRESSVERIFICATIONLEVEL,

T1.PBACUSTGROUPID,T1.FEDNONFEDINDICATOR,T1.IRS1099CINDICATOR,

T1.AGENCYLOCATIONCODE,T1.FEDERALCOMMENTS,T1.USEPURCHREQUEST,

T1.MCRMERGEDPARENT,T1.MCRMERGEDROOT,T1.CASHDISCBASEDAYS,

T1.CUSTTRADINGPARTNERCODE,T1.DAXINTEGRATIONID,T1.DEFAULTDIRECTDEBITMANDATE,

T1.DEFAULTINVENTSTATUSID,T1.ENTRYCERTIFICATEREQUIRED_W,

T1.EXPRESSBILLOFLADING,T1.ISSUEOWNENTRYCERTIFICATE_W,T1.PDSCUSTREBATEGROUPID,

T1.PDSFREIGHTACCRUED,T1.PDSREBATETMAGROUP,T1.USECASHDISC,

T1.FIELD1,T1.MODIFIEDDATETIME,T1.DEL_MODIFIEDTIME,T1.MODIFIEDBY,T1.CREATEDDATETIME,

T1.DEL_CREATEDTIME,T1.RECVERSION,T1.PARTITION,T1.RECID,

T1.MEMO FROM CUSTTABLE T1 WHERE ((PARTITION=?) AND (DATAAREAID=?))

  1. Sorguda gördüğünüz gibi AccountNum filtresi verilmiyor. Değişkene değer verip tekrar çalıştırırsanız filtrenin eklendiğini görebilirsiniz. Değerlerin görünmemesi normal. SQL üzerinden bakarsanız değerleri de görebilirsiniz.

Selamlar.

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 nedir, Dynamics 365 ERP, Dynamics 365 CRM, X++, Query, Filter

Dynamics 365 Finance and Operations: Seçilen çoklu kayıtları formlar arasında transfer etme.

Bu yazıda Dynamics 365 Finance and Operations içinde bir formda seçilen çoklu kayırları faklı bir forma nasıl aktarabiliriz anlatmaya çalışacağım.

Bu örnekte iki formum var. Birinci forma bir buton ekleyip clicked metodunu eziyorum.

public void clicked()

{

VendPackingSlipJour vendPackingSlipJourSelected;

container           con;

Args                args;

str                 packingSlipIds;

;

// For döngüsü ile veri kaynağında seçilen kayıtları dolaşabiliyorum. Bunu faklı döndülerlede yapabilirsiniz.

for (vendPackingSlipJourSelected = VendPackingSlipJour_ds.getFirst(true) ? VendPackingSlipJour_ds.getFirst(true) : VendPackingSlipJour_ds.cursor();

vendPackingSlipJourSelected; vendPackingSlipJourSelected = VendPackingSlipJour_ds.getnext())

{

con = conIns(con,1,vendPackingSlipJourSelected.PackingSlipId); // Sonrasında bir contanier oluşturuyorum.

packingSlipIds = con2Str(con,”,”);

}

args = new Args();

args.parm(packingSlipIds);

new MenuFunction(menuitemDisplayStr(DmrVendInvoicePost), MenuItemType::Display).run(args);

// MenuFunction kullanarak ikinci formu açıyorum.

}

Şimdi ikinci formda ilk formda seçtiğim kayıtlara nasıl ulaşıyorum bakalım.

public void init()

{

int                 i;

str                 packingSlipIds;

super();

isRecordExists = false;

packingSlipIds = element.args().parm();  // args ile oluşturduğumuz string değişkene ulaşıyoruz.

con = str2con(packingSlipIds,”,”); // Containera alıyoruz.

for(i = 1; i<= conLen(con) ; i++)

{

// Döngüye sokup range olarak veriyorum. Aslında virgül ile oluşturduğum için direk range olarak ta verebilirim.

DmrPurchParmTable_ds.query().dataSourceTable(tableNum(DmrPurchParmTable)).addRange(fieldNum(DmrPurchParmTable , PackingSlipId)).value(SysQuery::value(conPeek(con,i)));

}

}

Bu yazıda iki forma arasında çoklu seçilmiş kayıtları nasıl aktarabilirsiniz anlatmaya çalıştım.

Selamlar.

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 nedir, Dynamics 365 ERP, Dynamics 365 CRM, X++

Dynamics 365 Finance and Operations LedgerDimension ve Segmented Entry nasıl eklenir?

Bu yazıda Dynamics 365 Finance and Operations içinde bir tabloya LedgerDimension nasıl eklenir ve bu alanı formda Segmented entry control ile nasıl kullanıcıya kullandırabiliriz anlatmaya çalışacağım.

LedgerDimension aslında DimensionAttributeValueCombination kaydıdır. LedgerDimension MainAccount ve DefaultDimension’ın bileşimidir.

Öncelikle Tabloya LedgerDimensionAccount EDT sini kullanarak bir alan ekleyelim. Eğer sürükle bırak ile eklerseniz otomatik ilişkiyi oluşturacak. Yoksa elle eklemeniz gerekir.

Resim-1

Sonrasında forma gelip eklediğimiz alanı tasarımda istediğimiz bir yere sürükleyip bırakıyoruz. Segmented Entry oluşuyor. Özelliklerinde resimde görünen tanımları yapmalıyız. Özellikle Controller Class çok önemli.

Resim-2

Derleyip çalıştırdığımızda formda alanımızı göreceğiz. DefaultAccount ile aradaki farkı görebilirsiniz. Sadece Main Account değil boyutlarda geliyor ve bir kombinasyon oluşturuluyor.

Resim-3

Oluşan verileri Sql üzerinden incelediğimizde aradaki fark çok net bir şekilde ortaya çıkıyor.

Resim-4

Bu yazıda LedgerDimension nedir ve nasıl eklenir anlatmaya çalıştım. Sonraki yazılarımda bunları kodda nasıl kullanıp birbirlerine çeviriyoruz anlatmaya devam edeceğim.

Selamlar.

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, DefaultAccount, LedgerDimension, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Segmented Entry, Power Automate, Power Apss, Power Virtual Agents, Dynamics 365 nedir, Dynamics 365 ERP, Dynamics 365 CRM

Dynamics 365 Finance and Operations: Ürün reçetesi günlüğü oluşturma ve nakletme.

Bu yazıda Dynamics 365 Finance and Operations içinde kodla ürün reçetesi günlüğü oluşturup deftere nakletmek için basit bir örnek vereceğim.

Bu günlükler ara yüzden de girilebilir. Ancak birçok durumda bizim otomatik oluşturmamız istenir.

Gelelim örnek kodumuzu. Bu örnek kod tek satırlı ve miktarı 1 olan basit bir günlük oluşturuyor ve deftere naklediyor. Burada bir madde kodundan diğerine aktarım yapıyoruz gibi düşünebilirsiniz.  Siz ihtiyacınıza göre değiştirebilirsiniz.

class DmrCreateBomJournal

{

public static void main(Args _args)

{

InventJournalTableData  journalTableData;

InventJournalTrans      inventJournalTrans;

InventJournalTrans      InventJournalTransOld;

JournalCheckPost        journalCheckPost;

InventJournalTable      journalTable;

InventDim               FromInventDim,toInventDim;

ItemId                  ItemId      = “I0002″;

ItemId                  toItemId    = “I0003″;

inventDimId             inventDimId = “D0003″;

InventJournalNameId     TransferJournalNameId;

InventTable             inventTable;

InventBatch             InventBatchNew;

InventDim               InventDim;

InventDim               inventDimFrom;

int i;

;

ttsbegin;

inventTable = inventTable::find(ItemId);

InventDim   = InventDim::find(inventDimId);

TransferJournalNameId = “S0944″;

journalTable.clear();

journalTable.JournalNameId  = TransferJournalNameId;

journalTable.initFromInventJournalName(InventJournalName::find(TransferJournalNameId));

journalTableData            = JournalTableData::newTable(journalTable);

journalTable.JournalId      = journalTableData.nextJournalId();

journalTable.JournalType    = InventJournalType::BOM;

journalTableData.initFromJournalName(journalTableData.JournalStatic().findJournalName(journalTable.journalNameId));

journalTable.Description    = “Bom journal”;

journalTable.insert();

i++;

inventDimFrom.clear();

inventDimFrom.initValue();

inventDimFrom.InventSiteId      = InventDim.InventSiteId;

inventDimFrom.InventLocationId  = InventDim.InventLocationId;

inventDimFrom.InventSizeId      = InventDim.InventSizeId;

inventDimFrom.inventBatchId     = InventDim.inventBatchId;

inventDimFrom = inventDim::findOrCreate(inventDimFrom);

InventJournalTransOld.clear();

InventJournalTransOld.ItemId           = ItemId;

InventJournalTransOld.InventDimId      = inventDimFrom.InventDimId;

InventJournalTransOld.JournalId        = journalTable.JournalId;

InventJournalTransOld.TransDate        = today();

InventJournalTransOld.BOMLine          = NoYes::Yes;

InventJournalTransOld.Qty              = -1;

InventJournalTransOld.JournalType      = InventJournalType::BOM;

InventJournalTransOld.LineNum = i;

InventJournalTransOld.insert();

i++;

InventJournalTrans.clear();

InventJournalTrans.ItemId              = toItemId;

if(!InventBatch::find(InventDim.inventBatchId ,toItemId) )

{

InventBatchNew.clear();

InventBatchNew.itemId = toItemId;

InventBatchNew.inventBatchId = InventDim.inventBatchId;

InventBatchNew.insert();

}

InventJournalTrans.InventDimId         = inventDimFrom.InventDimId;

InventJournalTrans.ItemId              = toItemId;

InventJournalTrans.Qty                 = 1;

InventJournalTrans.JournalId           = journalTable.JournalId;

InventJournalTrans.JournalType         = InventJournalType::BOM;

InventJournalTrans.TransDate           = today();

inventJournalTrans.LineNum = i;

InventJournalTrans.insert();

InventJournalTransold.InventTransIdFather = InventJournalTrans.InventTransId;

InventJournalTransOld.update();

journalCheckPost = InventJournalCheckPost::newPostJournal(journalTable);

if(journalCheckPost.validate())

{

journalCheckPost.run();

}

info(strFmt(“%1 journal created.”, journalTable.JournalId));

ttscommit;

}

}

Bu yazıda ürün reçetesi günlüğü oluşturma örneği paylaştım. Umarım faydalı olur.

Selamlar.

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, InventJournal, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, X++

Dynamics 365 Finance and Operations: Transfer günlüğü oluşturma ve nakletme.

Bu yazıda Dynamics 365 Finance and Operations içinde kodla stok transfer günlüğü oluşturup deftere nakletmek için basit bir örnek vereceğim.

Bu günlükler ara yüzden de girilebilir. Ancak birçok durumda bizim otomatik oluşturmamız istenir.

Gelelim örnek kodumuzu. Transfer günlüklerinde boyut değişimi yapılır. Bu örnek kod tek satırlı ve miktarı 1 olan basit bir günlük oluşturuyor ve deftere naklediyor. Yaptığı şeyse bir InventSize’dan diğerine transfer işlemi yapmak. Siz ihtiyacınıza göre değiştirebilirsiniz.

class DmrCreateTransferJournal

{

public static void main(Args _args)

{

InventJournalTableData  journalTableData;

InventJournalTrans      inventJournalTrans;

JournalCheckPost        journalCheckPost;

InventJournalTable      journalTable;

InventDim               FromInventDim,toInventDim;

InventJournalNameId     TransferJournalNameId;

InventDim               InventDim;

InventTable             inventTable;

InventDim               inventDimFrom;

InventBatch             InventBatchNew;

ItemId                  ItemId      = “I0002″;

inventDimId             inventDimId = “D0003″;

EcoResSizeName          inventSizeIdTo;

int i;

;

ttsbegin;

inventTable = inventTable::find(ItemId);

InventDim   = InventDim::find(inventDimId);

TransferJournalNameId = “S0944″;

journalTable.clear();

journalTable.JournalNameId  = TransferJournalNameId;

journalTable.initFromInventJournalName(InventJournalName::find(TransferJournalNameId));

journalTableData            = JournalTableData::newTable(journalTable);

journalTable.JournalId      = journalTableData.nextJournalId();

journalTable.JournalType    = InventJournalType::Transfer;

journalTableData.initFromJournalName(journalTableData.JournalStatic().findJournalName(journalTable.journalNameId));

journalTable.Description    = “Transfer journal”;

journalTable.insert();

i++;

if(!InventBatch::find( InventDim.inventBatchId ,ItemId) )

{

InventBatchNew.clear();

InventBatchNew.itemId = ItemId;

InventBatchNew.inventBatchId = InventDim.inventBatchId;

InventBatchNew.insert();

}

inventJournalTrans.clear();

inventJournalTrans.ItemId           = ItemId;

inventDimFrom.clear();

inventDimFrom.initValue();

inventDimFrom.InventSiteId      = InventDim.InventSiteId;

inventDimFrom.InventLocationId  = InventDim.InventLocationId;

inventDimFrom.InventSizeId      = InventDim.InventSizeId;

inventDimFrom.inventBatchId     = InventDim.inventBatchId;

inventDimFrom = inventDim::findOrCreate(inventDimFrom);

inventJournalTrans.InventDimId      = inventDimFrom.InventDimId;

inventDimFrom.clear();

inventDimFrom.initValue();

inventDimFrom.InventSiteId      = InventDim.InventSiteId;

inventDimFrom.InventLocationId  = InventDim.InventLocationId;

inventDimFrom.InventSizeId      = inventSizeIdTo;

inventDimFrom.inventBatchId     = InventDim.inventBatchId;

inventDimFrom = inventDim::findOrCreate(inventDimFrom);

inventJournalTrans.ToInventDimId    = inventDimFrom.InventDimId;

inventJournalTrans.JournalId        = journalTable.JournalId;

inventJournalTrans.TransDate        = today();

inventJournalTrans.Qty              = 1;

inventJournalTrans.JournalType      = InventJournalType::Transfer;

inventJournalTrans.LineNum = i;

inventJournalTrans.insert();

journalCheckPost = InventJournalCheckPost::newPostJournal(journalTable);

if(journalCheckPost.validate())

{

journalCheckPost.run();

}

info(strFmt(“%1 journal created.”, journalTable.JournalId));

ttscommit;

}

}

Bu yazıda Stok hareket günlüğü oluşturma örneği paylaştım. Umarım faydalı olur.

Selamlar.

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, InventJournal, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, X++

Dynamics 365 Finance and Operations: Hareket günlüğü oluşturma ve nakletme.

Bu yazıda Dynamics 365 Finance and Operations içinde kodla stok hareket günlüğü oluşturup deftere nakletmek için basit bir örnek vereceğim.

Bu günlükler ara yüzden de girilebilir. Ancak birçok durumda bizim otomatik oluşturmamız istenir bu tip durumlarda ben hazırda kullanmak için bazı kod örneklerimi saklıyorum. Bir seri halinde bazı günlük ve sipariş oluşturma örnekleri paylaşacağım.

Gelelim örnek kodumuzu. Bu örnek kod tek satırlı ve miktarı 1 olan basit bir günlük oluşturuyor ve deftere naklediyor. Siz ihtiyacınıza göre değiştirebilirsiniz.

class DmrCreateMovementJournal

{

public static void main(Args _args)

{

inventJournalTable              inventJournalTable;

inventJournalTrans              inventJournalTrans;

InventJournalNameId             inventJournalName;

InventDim                       inventDim;

JournalCheckPost                journalCheckPost;

ItemId                          ItemId      = “I0002″; // Madde kodu

inventDimId                     inventDimId = “D0003″; // Boyut

ttsbegin;

inventJournalTable.clear();

inventJournalName = DmrParameters::find().MovementJournalName;

inventJournalTable.initFromInventJournalName(InventJournalName::find(inventJournalName));

inventJournalTable.description = “Voyage ID %1″ ;

inventJournalTable.insert();

inventJournalTrans.clear();

inventJournalTrans.initFromInventJournalTable(inventJournalTable);

inventJournalTrans.TransDate    = systemDateGet();

inventJournalTrans.ItemId       = ItemId;

inventJournalTrans.initFromInventTable(InventTable::find(ItemId));

inventJournalTrans.Qty          = 1;

inventJournalTrans.InventDimId  = inventDimId;

if(inventJournalTrans.ValidateWrite())

{

inventJournalTrans.insert();

}

else

{

throw error(“Journal line cannot be created.”);

}

journalCheckPost = InventJournalCheckPost::newPostJournal(inventJournalTable);

journalCheckPost.run();

ttscommit;

}

}

Bu yazıda Stok hareket günlüğü oluşturma örneği paylaştım. Umarım faydalı olur.

Selamlar.

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, InventJournal, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, X++

Page 1 of 141234510...Last »