Microsoft iş çözümlerini tanıyalım. ERP, CRM, BI, AI, Bulut ve ötesi.

Microsoft iş çözümlerini tanıyalım. ERP, CRM, BI, AI, Bulut ve ötesi.

Bu yazıda size Microsoft iş çözümlerini tanıtacağım. Microsoft iş çözümlerine çok fazla yatırım yapıyor. Bunun sonucu olarak sürekli yeni bir ürün çıkıyor veya olan bir üründe isim ve içerik değişikliği olabiliyor. Bu bazen bizim için bile kafa karıştırıcı oluyor. Çok ayrıntıya girmeden aşağıdaki resimde bulunan her kutucuğu size izah etmeye çalışacağım.


Resim-1

Finance and Operations

Eski adı Dynamics AX daha eski adı Axapta olan Microsoft’un satın alıp kendi bünyesine kattığı ERP ürününün genel adı.

Dynamics 365 Finance

Eski adıyla Dynamics AX’ın mali işler modüllerinin toplandığı bir ürün. İçerisinde Muhasebe, Finans, Bütçe, Alacak hesapları, Borç hesapları, Banka, Sabit kıymet ve benzeri modüllerin olduğu orta ve büyük ölçekli firmaların mali işler süreçlerini kolayca yönetebileceği güçlü bir ürün. ERP altyapısına sahip dolayısıyla X++ ile genişletilebilir ve yeni fonksiyonlar eklenebilir. Ayrıca Lokalizasyon ve uygun E-Dönüşüm modülleri iş ortaklarınca sağlanmaktadır.

Dynamics 365 Supply Chain Management

Eski adıyla Dynamics AX’ın Ticaret ve lojistik modüllerinin toplandığı ürün. İçerisinde Satış, Satın alma, WMS, TMS, Müşteri, Tedarikçi, Ürün, Stok, Üretim ve benzeri modüllerin olduğu orta ve büyük ölçekli firmaların ticaret, lojistik ve üretim süreçlerini kolayca yönetebileceği güçlü bir ürün. ERP altyapısına sahip dolayısıyla X++ ile genişletilebilir ve yeni fonksiyonlar eklenebilir. Ayrıca partner ekosistemin geliştirdiği Bordro, Çek senet, Kredi, Online Pazar Yerleri Yönetimi, Kargo Yönetimi gibi bir çok ek modül mevcut.

Dynamics 365 Project Service Automation

Project Service Automation (PSA) ürünü proje tabanlı hizmetleri ilk teklif aşamasından satışa oradan faturalamaya kadar etkin şekilde izleme ve yönetmeyi sağlar. Bazı özellikleri şunlardır:

  • Projeleri planlama, tahminler ve çalışma planlamaları oluşturma
  • Proje maliyeti ve geliri tahmin etme ve izleme
  • Ardışık düzendeki projeler için kaynak gereksinimlerini tahmin etme
  • Proje durumunu ve maliyet tüketimini izleme
  • Projeler için teklif, fiyatlama ve faturalama işlemlerini yönetme
  • Kaynakları atama ve yönetme

Buna ek olarak, proje tabanlı çalışmanız için maliyetleri izlemenize ve denetlemenize yardımcı olur ve proje zamanı ve giderlerini mobil cihazdan veya bir web tarayıcısı kullanarak kolaylıkla izleyebilirsiniz. CRM altyapısını kullanmaktadır. F&O ve MS Project ile çalışmaktadır.

Dynamics 365 Project Operation

Dynamics 365 Project Operation, Haziran 2020′de ön izleme için hazır olacak ve Ekim 2020′den itibaren kullanıma sunulması planlanıyor. Korona salgını sebebiyle bu tarihlerde değişiklik olabilir.

Microsoft, bunun fırsattan proje muhasebesine kadar uçtan uca bir proje yönetimi uygulaması olacağını söylüyor. Mevcut Dynamics 365 Project Service Automation (PSA) uygulaması, Microsoft Project ve Dynamics 365 Finance’ın özelliklerini birleştirecek. Yeni uygulama, Microsoft Project’in PSA uygulamasında bulunmayan proje planlama (Project’s planning) ve zamanlama (Scheduling) yeteneklerini içerecek. Common Data Service altyapısını kullanacak, dolayısıyla Power Platform ile özelleştirilebilir ve genişletilebilir olacak. Dynamics 365 Finance’ın mevcut tüm proje yönetimi, muhasebe ve gider yönetimi yeteneklerini içerecek. Büyük ihtimalle PSA’nın yerini alacak ve bu ürünle devam edilecek.

Dynamics 365 Guides

Microsoft Dynamics 365 Guides, Microsoft HoloLens için operatörlerin iş akışı sırasında ihtiyaç duydukları yerde ve zamanda holografik talimatlar vererek öğrenmelerini sağlayan karma gerçeklik (Mixed-reality) uygulamasıdır. Daha çok eğitim amaçlı kullanım için tasarlanmıştır. Videolar ve 3D holografik modeller ile talimatlar oluşturulabilir. Operatörler ne yapılması gerektiğini ve nerede yapıldığını görür. Bu nedenle, daha az hata işleri yapılır ve yeni yetenekleri edinebilirler. Her hangi bir kod yazmadan yeni yeni talimatlar oluşturulabilir. CDS Altyapısı kullanmaktadır.  HoloLens ne yazık ki henüz Türkiye’de satılmıyor. Yurtdışından getirtebiliyorsunuz.

Dynamics 365 Finance Insights

Müşteri ödeme tahminleri, bütçe teklifleri ve finansal öngörüler ile nakit akışı tahmini gibi AI ile BI in entegre olduğu, farklı bir çok kaynağa bağlanıp veri alabilen bir yapay zeka uygulamasıdır. Kod yazmaya gerek olmadan yapay zeka imkanlarından faydalanarak daha iyi finansal kararlar ve aksiyonlar almayı sağlar. CDS altyapısını kullanmaktadır dolayısıyla Power Platform ile özelleştirilebilir ve genişletilebilir. Çıkış tarihi Korana’ya bağlı olarak değişiklik gösterebilir ama bu yılın ikinci yarısında bekleniyor.

Dynamics 365 Human Resources

Dynamics 365 Human Resources eski adı Talent olan insan kaynakları yönetimi için uçtan uca tüm süreçleri kapsayan bir üründür. Tüm çalışan yaşam döngüsü desteklenmektedir. İşe alımdan, çalışan yönetiminden yetenek yönetimine tüm süreçler entegre edilmiştir.

İşe alım için LinkedIn Talent ile finans için Dynamics 365 Finance ile entegrasyonları mevcuttur. Ayrıca Eğitim, sertifika takibi, çalışanların gelişmesine takibi için LinkedIn Learning ve Dynamics 365 Guides ile birlikte çalışır. CDS alt yapısını kullanmaktadır dolayısıyla Power Platform ile özelleştirilebilir ve genişletilebilir.

Dynamics 365 Commerce

Dynamics 365 Commerce eski adıyla Dynamics 365 Retail’ın tüm yetenekleri yanında, perakende ihtiyaçlarının tümünü adresleyen ve bunu ERP ve CRM ile birleştiren kapsamlı bir üründür. ERP altyapısı kullanmaktadır, dolayısıyla X++ ile özelleştirilebilir. Pos tarafında Type Script kullanılmaktadır. Ayrıca E-Commerce eklentisiyle bu taraftaki eksikte giderildi. Perakende Microsoft’un en çok yatırım yaptığı sektörlerin başında geliyor. Üründe sürekli gelişiyor ve yeni yetenekler kazanıyor.

Dynamics 365 Fraud Protection

Microsoft Dynamics 365 Fraud Protection, ödeme sahtekârlık koruması ve e-ticaretteki ilgili senaryolara odaklanır. E-ticaret tüccarlarının sahtekârlık kaybını azaltmasına, daha yüksek gelir elde etmek için banka kabul oranlarını artırmasına ve müşterileri için çevrimiçi alışveriş deneyimini geliştirmesine yardımcı olur. Bulut tabanlı bir AI hizmetidir. CDS alt yapısını kullanır ve perakende çözümüyle birlikte çalışacak şekilde düzenlenmiştir.

Dynamics 365 Connected Store

Dynamics 365 Connected Store, bulut tabanlı bir AI, Azure IoT ve Machine Learning imkanlarını fiziksel mağazalar için kullanan bir hizmetidir. CDS alt yapısını kullanır. Bu yıl içinde kullanıma sunulması beklenmektedir. Video kameralar ve IoT sensorlar gibi birçok farklı kaynaktan bilgi alarak perakende alanında çalışan mağaza yöneticileri ve uzmanlarının daha iyi karar almasına yardımcı olur.

Dynamics 365 Connected Store, mağaza verimliliğini artırabilecek çalışan uyarıları oluşturur. Örneğin buzdolabının soğutmasında bir bozukluk varsa çalışanı uyarabilir; kasada yoğunluk oluştuğunda reyondaki görevliye kasaya destek olması için bildirimde bulunabilir. Connected Store mağaza içi müşteri ve ürün hareketliliği verilerini inceleyerek olay kalıplarını ortaya çıkarır. Connected Store, Commerce ürünü ile beraber kullanılabilir.

Dynamics 365 Business Central

Eski adı Dynamics NAV olan küçük ve orta büyüklükteki işletmelerin bütün süreçlerini takip edebilecekleri ERP yazılımıdır. Dynamics Nav’dan farklı olarak C/SIDE geliştirme platformunu kullanmaz. Kendi içinde ekran ve liste özelleştirme imkanı vardır.  Türkiye’de henüz satışı yapılamamaktadır.

Dynamics 365 Market Insights

Ürün iptal edildi. Customer Insights ile devam etme kararı alındı.

Dynamics 365 Customer Insights

Customer Insights, net öngörüler ve kişiselleştirilmiş müşteri deneyimlerini sağlamak için AI ile desteklenmiş bir müşteri veri platformudur. CDS alt yapısını kullanır ve birçok farklı veri kaynağından direk veri alabilir. Microsoft Azure ve Power Platform’u kullanarak yüksek hızlı analitik işlemler yapmaya imkan sağlar. Müşteri ile ilgili bir çok faklı analitik bakış açısı sağlar.

Dynamics 365 Product Insights

Dynamics 365 Product Insights, işletmelerin ürün ve hizmetlerinden otomatik olarak veri toplar ve bu verileri müşterilerin öngörülere dönüştürmelerine sağlar. Bu veri odaklı bakış sayesinde işletmeler birçok alanda dönüşüm yapabilirler. Örneğin ürün geliştirme, üretim, satış, müşteri hizmetleri süreçleri Product Insigts’tan alınan verilerle yeniden yapılandırılabilir.  BI ve AI’ı bir araya getiren uygulama CDS alt yapısını kullanmaktadır.

Dynamics 365 Marketing

Eski adıyla Dynamics CRM’in pazarlama modüllerini içeren ürünüdür. Yerleşik iş zekasına sahiptir.  CRM alt yapısını kullanır.  Power platform ile genişletilebilme imkanı vardır. Bazı özellikleri şunlardır:

  • Pazarlama teşviklerini desteklemek için grafiksel e-posta iletileri ve çevrimiçi içerikler oluşturma
  • Müşteri adaylarını kişiselleştirilmiş deneyimlerle geliştirmek için etkileşimli müşteri yolculukları tasarlama
  • LinkedIn’inden adayları inceleme
  • Takımlar arasında bilgi paylaşma
  • Müşteri adaylarınızı daha iyi tanıma
  • Pazarlama yatırım getirinizi (MROI) analiz etme ve belgeleme
  • Daha fazla kazanım için müşteri adaylarının önceliklerini belirleme
  • Anket sonuçlarını daha eyleme geçirilebilir hale getirme
  • Uygulamayı yapılandırma ve genişletme

Dynamics 365 Sales

Eski adıyla Dynamics CRM’in satışla ilgili modüllerini içeren üründür. Satış temsilcilerinin müşterileriyle daha güçlü ilişkiler kurmasını, öngörülere dayalı eylemlerde bulunmasını ve satışları daha hızlı kapatmasını sağlar. Dynamics 365 Sales hesapların ve ilgili kişilerin takibini yapar, satışlarınızı müşteri adayından siparişe kadar besler. Pazarlama listeleri ve kampanyalar oluşturmanıza ve hatta belirli hesaplar ve fırsatlarla ilişkili servis taleplerini izlemenize olanak sağlar. CRM alt yapısını kullanır.  Common Data Service (CDS) platformu üzerinde geliştirilen model temelli bir uygulamadır bu sayede Power Apps kullanarak eklemeler yapabilirsiniz.

Dynamics 365 Sales Insights

Dynamics 365 Sales Insights, CDS alt yapısını kullanan bir AI uygulamasıdır. Dynamics 365 Sales ve Office 365 veri tabanlarınızda depolanan geniş müşteri etkileşimi veri koleksiyonunu sürekli olarak analiz eder. Bu, iş ilişkilerinizi daha iyi anlamanıza, daha önceki etkinliklerinizi değerlendirmenize ve var olan seçenekler içerisinden en iyisini seçmenize yardımcı olur. Ayrıca müşterilerle daha güçlü ilişkiler kurmanızı, iç görülere dayalı eylemlerde bulunmanızı ve fırsatları daha hızlı kapatmanızı sağlar. Dynamics 365 Sales ile gelen ücretsiz bir versiyonu ve birde ücretli versiyonu vardır. İki versiyonun özellikleri aşağıdaki resimde gösterilmiştir.

Resim-2

Dynamics 365 Product Visualize (Priview)

Microsoft Dynamics 365 Product Visualize, Product Visualize ürünün kendisini artırılmış gerçeklik ile gerçek ortamdaymış gibi görmenizi sağlar. Bu sayede örneğin üretimde kullanılacak bir makinenin fabrika zemininde nasıl konumlandırılacağını gözlemleme imkânınız olur. Bu, karmaşık satış süreçlerini hızlandırmak için alıcı ve satıcı arasında ortak bir anlayış oluşturulmasına yardımcı olur. Ürünlerin genellikle karmaşık ve oldukça yapılandırılabilir olduğu veya taşınması çok zor olduğu imalat, sağlık ve otomotiv gibi endüstrilerde, ürün görselleştirme ihtiyacı çok önemlidir.

Dynamics 365 Product Visualize kullanarak satıcılar, ürünleri doğrudan Dynamics 365 Sales iş akışları içinde müşterilere gösterebilir. Satıcıların işbirliğini iyileştirmek ve satış sürecini hızlandırmak için kritik öneme sahip müşteri odaklı çözümler sunmak için doğrudan Microsoft Teams’den yararlanabilir. Kurulum için SharePoint ve Dynamics 365 Sales’e ihtiyaç duyar. CDS alt yapısı kullanmaktadır. Henüz net çıkış tarihi belli değildir.

Dynamics 365 Customer Service

Eski adıyla Dynamics CRM’in Müşteri servisleri ile ilgili modüllerini içeren üründür. Dynamics 365 Customer Service, Common Data Service (CDS) platformu üzerinde geliştirilen bir model temelli uygulamadır. Power Apps kullanarak model temelli uygulamalar oluşturabilir ve yönetebilirsiniz.

Dynamics 365 Customer Service ile şunları yapabilirsiniz:

  • Servis talepleri aracılığıyla müşteri sorunlarını izlenebilir.
  • Servis talebiyle ilgili tüm etkileşimleri kaydedebilir.
  • Bilgi bankasındaki bilgileri paylaşabilir.
  • Kuyruklar oluşturabilir ve servis taleplerini doğru kanallara yönlendirebilir.
  • Hizmet Düzeyi Sözleşmeleri (SLA’lar) ile servis düzeyleri oluşturabilir ve izleyebilir.
  • Destek hakları üzerinden servis koşullarını tanımlayabilir.
  • Raporlar ve panolar üzerinden performansı ve üretkenliği yönetebilir.
  • Servisleri oluşturabilir ve zamanlayabilirsiniz.

Dynamics 365 Customer Service Insights

Dynamics 365 Customer Service Insights, kritik performans ölçümleri, işlemsel veriler ve müşteri hizmetleri sisteminizden gelişen eğilimleri sunar. Yerleşik panolar, etkileşimli grafikler ve görsel filtreler kanallar arasında operasyon verilerine destek verir ve önemli performansı hızlı bir şekilde değerlendirmenize ve yanıt verebilmenize yardımcı olacak şekilde, en fazla etki sağlayacak gelişme alanlarını vurgular.

Customer Service Insights, doğal dil işleme kullanarak destek servis taleplerinizi için yapay zeka kullanır. Konular, güncel ve ortaya çıkan eğilimleri keşfetmenize, gelişmenizi, marka getiriyi ve sorunlu alanları belirlemenize olanak tanır. Sorunları, müşterileri etkilemeden önce göstererek ve düzelterek daha iyi müşteri hizmetleri deneyimleri gerçekleştirebilirsiniz. AI ve BI’ın bir araya geldiği CDS tabanlı birçok farklı veri kaynağına bağlanabilen bir uygulamadır.

Dynamics 365 Field Service

Dynamics 365 Field Service iş uygulaması, kuruluşların saha ve servis otomasyonu için kullanabilecekleri bir ürünüdür. Uygulama, iş akışı, otomasyon, planlama algoritmaları ve yerinde sorun giderme gibi birçok farklı iş için mobil olanaklar sağlar. Common Data Service (CDS) platformu üzerinde geliştirilen bir model temelli uygulamadır.

Field Service uygulaması şunlara olanak tanır:

  • Teknisyen başına haftalık servis çağrısını tamamlama
  • İzleme çalışmalarınızı yönetmek ve satın yararlanmanıza ve çapraz satış fırsatları
  • Seyahat süresi, mesafe ve Taşıt aşınma payını azaltmak
  • Düzenleme ve izleme, müşteri sorunlarını çözümleme
  • Müşterilere varış saatini doğru bildirme
  • Alan teknisyenini doğru hesap ve donanım geçmişini sağlamak
  • Müşterilere kendi hizmeti çağrısı ve çözülene zaman durumunu güncelleştirme
  • Müşteri için uygun olduğunda yerinde ziyaretleri zamanlama
  • Önleyici bakım sayesinde donanım kapalı kalmasını önleme

Dynamics 365 Remote Assist

HoloLens ve HoloLens2 kullanarak mobil cihazlarla uzaktan destek ve benzeri işlemlerin yapılmasına olanak sağlayan karma gerçeklik (Mixed Reality) ürünüdür.  Ortak bakım ve onarım (Collaborative Maintenance and Repair) , uzaktan denetimler (Remote Inspections) ve bilgi paylaşımı ve eğitim (Knowledge Sharing and Training) gibi kullanım alanları vardır.   Dynamics 365 Field Service ve diğer CRM ürünleriyle birlikte çalışabilir. CDS alt yapısını kullanır. Henüz HoloLens’in Türkiye’de satışı yok. Yurt dışından getirtilmesi gerekiyor.

Microsoft Forms Pro

Forms Pro, Office 365′te Microsoft Forms’un geçerli anket oluşturma deneyimini temel alan basit ancak kapsamlı bir anket çözümüdür. Microsoft Forms üzerine kuruludur ve müşteri ile çalışan geri bildirimlerini yakalamayı ve çözümlemeyi her zamankinden daha kolay hale getiren yeni özellikler sunar. Müşterileriniz anketleri herhangi bir web tarayıcısını veya mobil cihazı kullanarak yanıtlayabilir. Yanıtlar gönderildiğinde bunları raporlarla çözümlemek ve gerçek zamanlı kararlar vermek için Power BI kullanabilirsiniz. CDS alt yapısını destekler.

Dynamics 365 Layout (İptal edildi)

Microsoft Power Platform

Microsoft’un kod yazmaksızın veya çok az kod yazarak (low-code/no code) yazılım çözümleri geliştirmemizi sağlayan ürün grubunun adıdır. Bu ürün ailesi CDS tabanlıdır ve aşağıdaki ürünlerden oluşmaktadır.

Resim-3

Power BI

Power BI, ilişkisiz veri kaynaklarınızı tutarlı, görsel olarak anlaşılan ve etkileyici bir hale dönüştürmek için birlikte çalışan bir yazılım hizmetleri, uygulamalar ve konektörler topluluğudur.

Power Apps

Power Apps, iş gereksinimleriniz için özel uygulamalar oluşturmak üzere hızlı bir uygulama geliştirme ortamı sağlayan uygulamalar, hizmetler, konektörler içeren bir platformudur. Power Apps kullanarak, CDS (Common Data Service) veya çeşitli çevrimiçi ve şirket içi veri kaynaklarından (SharePoint, Excel, Office 365, Dynamics 365, SQL Server vb.) veri alarak kolayca mobil uygulamalar geliştirebilirsiniz.

Power Automate

Power Automate, sık kullandığınız uygulamalar ile hizmetler arasında otomatik iş akışları oluşturarak dosyaları eşitlemenize, bildirimler almanıza, veri toplamanıza ve daha fazlasını yapmanıza yardımcı olan bir hizmettir. Mevcut birçok konektörü sayesinde uygulamalar arasında iş akışları kurabilirsiniz.

Power Virtual Agents

Power Virtual Agents, yazılımcıya veya veri bilimciye ihtiyaç duymadan, kod içermeyen bir grafik arabirimi kullanarak güçlü botlar oluşturabileceğiniz bir üründür.  Power Virtual Agents, bugün sektördeki bot yapımı ile ilgili birçok önemli sorunu ele alıyor. Konu uzmanları ile botları oluşturan geliştirme ekipleri arasındaki boşluğu ve bir sorunu tanıyan ve sorunu gidermek için botu güncelleyen ekipler arasındaki uzun gecikmeyi ortadan kaldırır. Ayrıca, özel bir konuşma çözümü kurmak ve sürdürmek için gereken BT çabasını en aza indirir.

Burada bulunan her bir başlık için onlarca makale yazılabilir ben genel olarak iş çözümlerini size tanıtmak istedim. Aşağıdaki resimde genel bir özet mevcut.

Resim-4

Microsoft iş çözümlerine çok büyük yatırımlar yapmaya devam ediyor. Bu sebeple çok sık güncellemeler yeni ürünler ve isim değişikliği oluyor ancak şurası kesin bir kuruluşun bütün ihtiyaçlarını tek bir çatı altında çözebilen başka bir servis sağlayıcısı yok. Düşünün İşletim sistemi, Ofis uygulamaları, SQL, Bulut hizmetleri (Azure), HoloLens, AI, AoT, ML ve benzeri servisler, CRM, ERP, BI ve Low Code platformlar bunların hepsinin birbiriyle entegre çalışıyor ve aynı kullanıcı deneyimini sunuyor. Bu anlamda muazzam bir ürün yelpazesi oluşturdular. Kısa sürede lider tedarikçi konumuna gelmesi şaşırtıcı değil. Bizde KVKK ile ilgili konular netleştiğinde özellikle ve güvenli ülkeler anlaşmaları yapıldığında bu uygulamaların kullanımının çok daha fazla olacağını düşünüyorum. Tabi birde kur sıkıntımız var umarım kısa sürede buda çözülebilir.

Referanslar:

https://docs.microsoft.com/en-us/dynamics365/

www.fatihdemirci.net

TAGs: Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 Insights Power BI, Power Automate, Power Apss, Power Virtual Agents, Dynamics 365 nedir, Dynamics 365 ERP, Dynamics 365 CRM

Türkiye Dynamics 365 User Group Meetup 3

Merhaba,

Türkiye Dynamics 365 User Group etkinliklerine devam ediyoruz. Seri haline getirmeyi planladığımız Profesyonellerle Söyleşiler başlıklı 2. etkinliği bu cumartesi yapacağız. Etkinliğimizde şu anda yurt dışında 3 faklı ülkede çalışan uzman arkadaşlarımız tecrübelerini bizimle paylaşacaklar. Yurt dışı ekosistemi, iş yapış şekilleri, imkanlar ve merak edilen bir çok konunun konuşulacağı etkinliğimizi kaçırmamanızı tavsiye ederiz.

Ayrıca soru cevap kısmı da olacak.

Kommunity:

https://lnkd.in/gnkWWXz

Meetup:

https://lnkd.in/g6f7rsT

Microsoft Teams üzerinden katılmak için linki kullanabilirsiniz.

https://lnkd.in/gkQtiMW

Ekibimiz için Full-Stack developer takım arkadaşı arıyoruz

Asp.net Core, Azure Cloud, React, SQL teknolojilerine hakim aşağıdaki niteliklere sahip takım arkadaşları arıyoruz.
Tercihen üniversitelerin ilgili bölümlerinden mezun, benzer pozisyonda en az 2 yıllık iş deneyimine sahip,
Object Oriented programlama (OOP) konusuna ve çok katmanlı mimarilere hakim, Solid prensiplerini benimsemiş,
Veri yapıları, algoritmalar ve tasarım kalıpları (Design Patterns) konusunda deneyimli,
Web tabanlı uygulama geliştirme tecrübesi bulunan,
C# ve ASP.NET Core MVC konusunda tecrübeli,
Rest Full, Entity Framework gibi teknolojilere hakim,
React, Mobx, Es6, Javascript , konularında bilgi sahibi,
Functional programming ve reactive programming konularında bilgi sahibi,
Material Design standartları konusunda deneyim sahibi,
İyi derece MS SQL bilgisi olan olan, NOSQL (Elastic Search, Azure Search, Raven Db vb..) konusunda bilgi sahibi,
Tercihen İngilizce bilen,
Takım çalışması için uyumlu, bireysel başarısı kadar takımının başarısını da önemseyen,
Askerlik görevini tamamlamış veya en az 2 yıl tecilli,
Full Stack Developer arıyoruz.

İlgilenenler benimle iletişime geçebilirler.

X++ Set Based Operations : Update_recordset

Merhaba,

X++ Set Based Operations : Update_recordset

İyi seyirler.

X++ Set Based Operations : RecordSortedList & RecordInsertList

Merhaba,

X++ Set Based Operations : RecordSortedList & RecordInsertList

İyi seyirler.

Dynamics AX 2012 Caching Video 1

Merhaba,

Sonunda YouTube kanalımı açtım videolarımı çekmeye başladım.
Yazdığın ön bellek makalelerini açıklamaya çalıştığım video aşağıda. Umarım daha güzel videolarla devam edebilirim.

İyi seyirler.

History Of AX

Merhaba

Çok beğendiğim bende nostanji yaşatan iki makaleyi sizinle paylaşmak istiyorum.

History of AX

Technical History of Dynamics AX – From Axapta 3.0 to AX2012

Axapta’yı ilk olarak 2006 yılında Turkmedya firmasında tanıdım. Axapta 3.0 kullanılıyordu. Ben başladığımda proje canlıya geçmişti. Destek ve yeni geliştirmeler ile giriş yaptığım AX dünyasında 12 yılı devirdim. Hayatım üzerinden bu kadar etkisi olacağını tahmin edemezdim.

Selamlar.

XML’de metin değiştirmek

Merhaba

Ax ta E-Fatura süreçleriyle uğraşmayan yoktur. Biz SimpleUBL adında bir eklentiyle hem XML hemde UBL oluşturuyoruz. Şöyle bir ihtiyaç  oldu bazı durumlarda bir alanın verisinin değiştirilmesi gerekiyor. Örneğin matbu irsaliye numarası. Bunun  için gerekli tablolarda veriyi güncelleyip sonra E-Fatura UBL ini oluşturan kodu tekrar çağırınca direk güncelliyor. Ancak bu işlem biraz yavaş çok fazla kontrol ve  işlem yapıyor. Bense çok basit sadece bir alanı değiştirmek istiyorum ve çok hızlı  olması gerekiyor.  Bunu  için str fonksiyonlarından faydalanarak bir metot yazdım. Umarım  işinize yarar.

Örnek UBL in bir parçası  şöyle:


<?xml version="1.0" encoding="utf-8"?>
  <cbc:UBLVersionID>2.1</cbc:UBLVersionID>
  <cbc:CustomizationID>TR1.2</cbc:CustomizationID>
  <cbc:ProfileID>TEMELFATURA</cbc:ProfileID>
  <cbc:ID>YTD20182222225</cbc:ID>
  <cbc:CopyIndicator>false</cbc:CopyIndicator>
  <cbc:UUID>E01C17F9-B13B-4Df5E-BB5A-92F52E17ff3AB0</cbc:UUID>
  <cbc:IssueDate>2018-09-01</cbc:IssueDate>
  <cbc:IssueTime>06:43:11.0000000+03:00</cbc:IssueTime>
  <cbc:InvoiceTypeCode>ISTISNA</cbc:InvoiceTypeCode>
  <cbc:Note>Yazıyla :  TRY TRY</cbc:Note>
  <cbc:Note>TOPLAMADET: 1 / 22,00 </cbc:Note>
  <cbc:LineCountNumeric>1</cbc:LineCountNumeric>
  <cac:OrderReference>
    <cbc:ID>YKS022222222</cbc:ID>
    <cbc:IssueDate>2018-08-08</cbc:IssueDate>
    <cbc:IssueTime>07:25:31.0000000+03:00</cbc:IssueTime>
  </cac:OrderReference>
  <cac:DespatchDocumentReference>
  <cbc:ID>SVK000343433</cbc:ID>
    <cbc:IssueDate>2018-09-01</cbc:IssueDate>
  </cac:DespatchDocumentReference>
  <cac:Signature>
    <cbc:ID schemeID="VKN_TCKN">11111111</cbc:ID>
    <cac:SignatoryParty>

Ben ‘cbc:id SVK000343433 cbc:id’ buradaki SVK000343433 bu numarayı değiştirmek istiyorum.

Bir kaç zorluk var. Birincisi bu numaranın uzunluğu sabit değil.

İkincisi Her bir satır yeni satir karakteriyle ayrılmış durumda.


static void FD_UpdateXml(Args _args)
{
    EInvoiceTable  eInvoiceTable;
    str     str1;
    str     str2;
    str     str3;
    int     i ,j;
    num     packingSlipId = "FD000002";
    ;

    ttsBegin;

    select forUpdate eInvoiceTable
        where eInvoiceTable.RecId  == 5637292931;

    str3 = strFmt("<cbc:ID>%1</cbc:ID>" , DmrPackipackingSlipIdngSlipId ); // Değiştireceğim metin

    i = strScan( eInvoiceTable.InvoiceXml , // İrsaliye numrasının başladığı yeri tespit ediyorum.
        "<cac:DespatchDocumentReference>" , 0,
        strLen(eInvoiceTable.InvoiceXml));

    str1 = subStr( eInvoiceTable.InvoiceXml ,  i +31  , 50);
    // Karakteri sayip  ilerletiyorum ve 50 karakterlik bir parçayı alıyorum
    //str1  böyle bir string oluyor <cbc:ID>YKS000017102</cbc:ID>   <cbc:IssueDa

    j = strScan( str1 ,"</cbc:ID>" , 0, strLen(str1)); // Numaranın bitişini tespit ediyorum.
    str2 = subStr( eInvoiceTable.InvoiceXml ,  i +31  ,j+8);  // Değiştirmek istediğim metne ulaşıyorun
    // str2 <cbc:ID>YKS000017102</cbc:ID> bu oldu

    eInvoiceTable.InvoiceXml = strReplace(eInvoiceTable.InvoiceXml ,str2 ,str3);
    // str2 yi str3 ile değiştiriyorum.

    eInvoiceTable.update();

    ttsCommit;
}

Selamlar.

Dynamics Ax UserConnection kullanımı

Merhaba

Ax’ta  ilk versiyonlardan beri transaction (ttsBegin ttsCommit) blokları dediğimiz bir yapı vardır. Veri tutarlılığı için çok önemli olan roleback dediğimiz bir hata durumunda o blokta yapılan işlemlerin tümünü geri almayı sağlayan bir yapıdır. Ax ta çok sıklıkla kullanılır. Veri tabanında yapılacak işlemlerde mutlaka kullanmak gerekir. Benim bu yazıda bahsedeceğim konu bu bloklar arasında bir hata oluştuğunda roleback in dışında tutmak istediğim bir işlemi nasıl sağlayabileceğim. Genelde bu log atma bildirim gönderme gibi işlemler olur.  Bir örnekle açıklamaya çalışayım.  Eski sistemden satış verilerinin geldiği ve axta sipariş oluşturulup deftere nakledinlen bir yapı olsun.  Herhangi bir sebepten sipariş  oluşturulamadığında bir log tablosuna kayıt atmak istiyorum.   Örnek kodlar şöyle  olsun:

server static void FD_UserConnection1(Args _args)
{
    DmrSalesOrderHeader DmrSalesOrderHeader = DmrSalesOrderHeader::findByRecid(325355554);
    DmrSalesOrderLine   DmrSalesOrderLine;
    ;
    ttsBegin;
    try
    {
        // Sipariş başlığı oluşturma kodu
        while select DmrSalesOrderLine
            where DmrSalesOrderLine.OrderId == DmrSalesOrderHeader.OrderId
        {
            // Sipariş satırı oluşturma kodu
            throw error("hata");
        }
    }
    catch
    {
        DmrExceptionTable::findOrCreate("Satır oluşturulurken bir hata oluştu.", "DmrCreateSalesOrder",
                DmrSalesOrderHeader.recid,DmrSalesOrderHeader.tableId,DmrSalesOrderHeader.recversion);
    }

    ttsCommit;

}

Bu metod sipariş oluşturmaya çalışırken herhangi bir satırda hata veriyor. Bizde hata verdiğini yakalayıp hangi kayıttan sipariş oluştururken hata verdiğini bir tabloya yazmaya çalışıyoruz. Normalde hata verdiği ve tts blokları olduğu için bizim yazmaya çalıştığımız veriyi de geri alacaktı ancak UserConnection ve UnitOfWork kullanarak bunu engelliyoruz. Metot aşağıda.

static server void findOrCreate(    str1260          _exceptionDetail,
                                    str 100          _className,
                                    RefRecId         _RefRecId,
                                    RefTableId       _RefTableId,
                                    RefRecId         _RefRecVersionId)
{
    DmrExceptionTable   DmrExceptionTable;
    UserConnection      UserConnection;
    UnitOfWork          UnitOfWork;
    ;

    UserConnection = new UserConnection();
    UserConnection.ttsbegin();
    UnitOfWork = new UnitOfWork();

    DmrExceptionTable.ExceptionDetail       = _exceptionDetail;
    DmrExceptionTable.ClassName             = _className;
    DmrExceptionTable.RefRecId              = _RefRecId;
    DmrExceptionTable.RefTableId            = _RefTableId;
    DmrExceptionTable.RefRecVersionId       = _RefRecVersionId;

    UnitOfWork.insertonSaveChanges(DmrExceptionTable);
    UnitOfWork.saveChanges(UserConnection);

    UserConnection.ttscommit();

}

Selamlar.

Ax’ta yeni bir iş akışı ataması oluştuğunda aynı kullanıcının bu iş akışı için daha önce onayı var mı tespit etmek

Merhaba

İş akışında yeni bir atama oluştuğunda atanan kişinin aynı iş akışında daha önce onayı var mı diye kontrol etmek için aşağıdaki metodu kullanabilirsiniz. Bu metodu WorkflowTrackingTable’ a yazdım ama farklı bir yere de yazılabilir. İş akışı altyapısı biraz karışık standart yapıyı değiştirirken dikkatli olmakta fayda var.


Boolean dmrExistApprove()
{
    boolean ret = false;

    WorkflowTrackingStatusTable     workflowTrackingStatus;
    WorkflowTrackingStatusTable     workflowTrackingStatusExist;
    WorkflowTrackingTable           workflowTrackingTable;
    ;

    workflowTrackingStatusExist = WorkflowTrackingStatusTable::findRecId(this.WorkflowTrackingStatusTable);

    select firstOnly RecId, User from workflowTrackingTable
    exists join workflowTrackingStatus
    where  workflowTrackingTable.WorkflowTrackingStatusTable == workflowTrackingStatus.RecId
        && workflowTrackingTable.TrackingType       == WorkflowTrackingType::Approval
        && workflowTrackingTable.User               == this.User
        && workflowTrackingTable.RecId              != this.RecId
        && workflowTrackingStatus.ContextRecId      == workflowTrackingStatusExist.ContextRecId
        && workflowTrackingStatus.InstanceNumber    == workflowTrackingStatusExist.InstanceNumber
        && workflowTrackingStatus.ContextTableId    == workflowTrackingStatusExist.ContextTableId
        && workflowTrackingStatus.TrackingStatus    != WorkflowTrackingStatus::Cancelled ;

    if(workflowTrackingTable.recid)
    {
        ret = true;
    }

    return ret;
}

Selamlar.

Page 1 of 24123451020...Last »

Türkiye'nin en doğru, dolu dolu ve hatasız anlatımları ile teknik yazılarına, makalelerine, video'larına, seminerlerine, forum sayfasına ve sektörün önde gelenlerine ulaşabileceğiniz teknik topluluğu, MSHOWTO