Dynamics 365 Finance and Operations Self-Service Ortamlarda Canlıya Geliştirme Nasıl Taşınır?

Bu yazıda Dynamics 365 Finance and Operations Environment Type Self-service olan canlı ortamlara geliştirme nasıl taşınır anlatacağım. Şu yazımda Microsot-managed bir ortamda nasıl taşınacağını anlatmıştım. Birkaç adımda farklılık var bunları göstereceğim. Ortamın tipi nasıl belirleniyor derseniz bu lisan sayınız be büyüklüğünüzle bağlı olarak Microsoft tarafından karar veriliyor.

Resim-1

Öncelikle bir paket oluşturup bunun test ortamına taşınmış olması gerekiyor. Önceki yazılarımda nasıl taşındığını anlatmıştım. Sonrasında Environment changes ile bu yüklemleri listeleyelim.

Resim-2

Burada ki paketlerden canlıya almak istediğinizi Mark as release candidate ile işaretliyoruz.

Resim-3

Sonra canlı ortamı açıp Maintain -> Update Environment’a tıklıyoruz.

Resim-4

Burada işaretlediğimiz paketi seçip hangi saatle alınmasını istiyorsak onu seçiyoruz.

Resim-5

Schedule ile tamamladıktan sonra ortamınızda aşağıdaki gibi bir sekme çıkacak. Zamanı geldiğinde işlem Microsoft tarafından yapılacak.

Resim-6

İşlem bittikten sonra Environment change history sayfasından detaylara bakabilirsiniz. Aktarım 44 dakika sürmüş. Eskiye göre bu süre çok azaldı ama hala gidilecek yol var.

Resim-7

Bu yazıda Sel-service tipindeki ortamlarda canlıya geliştirmelerin nasıl taşınacağını anlatmaya çalıştım.

Selamlar.

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Live deployment, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365

Ax2012’den Dynamics 365 Kod Yükseltmesi Nasıl Yapılır? -1

Bu yazıda Ax2012’den Dynamics 365 Finance and Operations’a kod yükseltmesi nasıl yapılır anlatmaya çalışacağım. Ax2012 R3’den eski versiyonlardan bir yükseltme yapmak istiyorsanız öncelikle Ax2012R3’ e kodlarınız yükseltip oradan burada anlatacağım adımları uygulamanız gerekiyor. Kod yükseltme çok uzun süren ve zahmetli bir iş buna göre hazırlık yapmak lazım. Benim tavsiyem projeye başlamadan önce nelerin yeni versiyona aktarılacağına karar verip temiz bir ortamda kodu Extension mantığına uygun hale getirmek. Ben bu yükseltme örneğinde basit bir modül için uygulanması gereken adımları anlatacağım. Tek yazıda toparlamak istemedim çok uzun bir yazı olurdu birkaç bölümde gerekli adımları anlatacağım.

Öncelikle LCS de bir proje oluşturmalıyız.

Resim-1

Read more

X++ Nesne İsimlendirme Kuralları Nelerdir?

Bu yazıda Dynamics 365 Finance and Operations geliştirmelerinde kullanılan yazılım dili olan X++’ın nesne isimlendirme standartlarından bahsedeceğim. İsimlendirme bir uygulamanın kod kalitesini gösteren en temel konulardan biridir. Doğru bir isimlendirme standardı olmayan bir uygulamanın sorunlu bir yapıya dönüşmesi çok daha muhtemeldir.

Genel kurallar şöyle sıralayabilirim.

  • Tüm isimler ABD İngilizcesi olmalıdır. Bunun sebebi genel bir standart oluşması ve projeye destek verecek mühendislerin daha kolay anlayabilmesidir.
  • Mantıksal ve açıklayıcı adlar kullanılmalıdır. Nesnenin adıyla yaptığı iş uyumlu olmalıdır. Mesela günlük aktiviteleri tutan bir tablo için: DmrActivityListTable
  • İsimlerde 40 karakterlik bir sınırı vardır.
  • Uygulama Nesne Ağacındaki (AOT) ve X++ kodundaki adlar, ABD İngilizcesi kullanılarak adlandırılır ve kullanıcı ara yüzündün de gösterilen etiketlerle uyumlu olmalıdır.
  • İsimlendirmede yazım hatası olmamalıdır. Ayrıca yapılan işe uygun jargonlar kullanılmalıdır.
  • İlişkili değişken ve nesne isimleri tüm uygulama boyunca aynı olmalıdır.
  • AOT içindeki nesneler tekil isime sahip olmalıdır.
  • Kullanıcı ara yüzünde görünen tüm metinler bir etiket kullanılarak tanımlanmalıdır.
  • Yeni nesneler için bir ön ek tanımlanmalı ve tüm nesnelerde kullanılmalıdır. Genelde 2 veya 3 karakterlik bir ön ek tespit edilir. Ben firmamda Dmr kullanıyorum.
  • Tablo, EDT, Enum veya Sınıf ile aynı ada sahip olamaz.
  • CamelCase kullanılır. Örnek vermek gerekirse: Tablo: LedgerJournalTrans. Değişken: amountCurTotal. EDT: CustAcount
  • Alt çizgi (_) sadece türetilmiş nesnelerde, metoda parametre olarak gelen değişkenlerde kullanılır ve lokalizasyon eklerinde kullanılır.
  • Bir etiketin ilk harfi büyük olmalı ve diğer tüm harfler küçük olmalıdır.

Mümkün olduğunca nesne adları üç temel bileşenden hiyerarşik olarak oluşturulmalıdır:

{İş alanı adı} + {İş alanı açıklaması} + {sınıf için gerçekleştirilen eylem, tablo için içerik}

Örnekler:

  • CustInvoicePrintout
  • PriceDiscAdmCopy
  • PriceDiscAdmDelete
  • PriceDiscAdmSearch
  • PriceDiscAdmName
  • LedgerJournalTable
  • LedgerJournalTrans

Kısaltmalardan mümkün olduğunca kaçınmak gerekiyor. Eğer kısaltma kullanacaksanız tüm sistemde aynı kısaltmayı kullanmalısınız. Sistemde bulunan bazı kısaltmalar şunlardır:

  • Customer -> Cust
  • Payment -> Paym
  • Bill of material -> BOM
  • Number -> Num
  • Warehouse Management System -> WMS

Değişken isimlendirmede kısaltma veya ön ek kullanılmamalıdır. Değişkenin kullanım amacına uygun isimlendirme yapılmalıdır.

Doğru örnekler:

  • CustTable                           custTableUpdate;
  • CustInvoiceJour               custInvoiceJour;
  • CustAcount                       custAcountInvoice;
  • Amount                              totalTaxAmount;

Hata örnekler:

  • CustTable                           ct;
  • CustInvoiceJour               ciJour;
  • CustAcount                       customer;
  • Amount                              amount1;

Extension için ayrı bir makale bile yazılabilir. Hala netleşmeyen konular olmakla birlikte temel olarak şu makaleyi takip edebilirsiniz. Burada önemli olan tüm geliştiricilerin aynı standardı kullanması. Aksi durumda kod tekrarı ve gereksiz zaman kaybı oluşabilir.

Bu yazıda isimlendirme standartlarından bahsettim. Birçok kural aslında genel yazılım kuralı farklılaşanlar ürünün getirdiği standartlar, bunlar doğrudur diğer kullanımlar hatalıdır diye bir durum yok aslında. Herkesin farklı bir yoğurt yiyişi olabilir ama Dynamics 365 bir ürün ve standartları var, kendi standartlarınızı buraya uygulamamalısınız. Sonuçta burası bir uygulama ve biz ona eklemeler yapıyoruz. Dolayısıyla standartlarına uymak zorundayız. Bu konu gerçekten çok önemli doğru isimlendirme olmayan bir kodda eklem yapmak hata ayıklamak gerçekten çok can sıkıcı oluyor.

Selamlar.

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Nameing, 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

Microsoft Kendi Yönettiği Tier 1 ortamları kaldırıyor!

Önceki yazılarımda bir Dynamics 365 FO satışında sonra Microsoft tarafından 3 ortam sağlandığını anlatmıştım. Bunlardan biri Tier1 tipinde ve bizim genelde Build ortamı olarak kullandığımızı ortamdı. Geçen gece yarısı gelen aşağıdaki maile bu ortamların 1 Aralık itibariyle kaldırılacağını öğrendik.

As communicated previously, Microsoft is removing the use of Remote Desktop Protocol (RDP) to access environments managed by Microsoft. As RDP access is required for development, going forward customers will be required to develop using a Cloud Hosted Environment or download a local “Virtual Hard Disk” (VHD) within Lifecycle Services. Cloud Hosted Environments will allow customers to manage the compute, size, and cost of these environments. This infrastructure change will ensure that customers decouple development tools from any running environment.

In addition, effective November 1, Tier 1 environments will not be included in the purchase of Dynamics 365 Finance, Dynamics 365 Supply Chain Management, Dynamics 365 Project Operations, or Dynamics 365 Commerce apps. The ability to purchase additional Add-On tier 1 environments will also be removed at this time. Beginning December 1, Remote Desktop Protocol (RDP) access for the existing Tier 1 Developer environments, managed by Microsoft, will be removed and decommissioned. Customers will need to preserve or move data within these environments by this date. See the FAQ below with links to existing documentation.

Microsoft will continue to invest in development tools and processes to allow customers to extend the rich capabilities available within Dynamics 365. Learn about one of these key investments, which allows for build automation that uses Microsoft-hosted agents and Azure Pipelines. This approach helps customers avoid the setup, maintenance, and cost of deploying build virtual machines (VMs). It also reuses the existing setup of build agents to run other .Net build automation.

Azure credits will be provided for qualifying customers to use for deploying Tier 1’s using Cloud Hosted Environments. Complete this survey to submit your request.

Resim-1

RDP’nin kaldırılacağı çok uzun zamandır konuşuluyordu ama direk makinelerin kaldırılıyor olması beni biraz şaşırttı üstelik kısa bir sürede. Bu arada direk 1 Aralıkta tüm makineler silinmeyecek kullanım durumlarına bakılıp zamanla kaldırılacak diyorlar ama buna güven olmaz tedbir almak lazım.

Bu durumda ne yapmak lazım derseniz aslında cevap bu makineyi nasıl kullandığınıza bağlı.

Eğer sadece Build için kullanıyorsanız iki seçenek var.

  1. Kendi Azure hesabınızda yeni bir Build makine deploy etmek. Bunu önceki yazılarımda anlatmıştım. Buradan okuyabilirsiniz.
  2. Azure-hosted builds ayarlayabilirsiniz. Tabi bunun bazı kısıtları var. Eğer Test ve DB Senkronizasyonu yapıyorsanız bu işinizi görmez.

Eğer Dev makinesi olarak kullanıyorsanız ve bulut istiyorsanız tek seçenek şu anda Burada anlattığım kendi hesabınızda yeni bir makine ayağa kaldırmak. Makineye bağlı olamayan bir geliştirme aracı üzerinde çalışmalar devam ediyor ama net bir takvim henüz yok.

Bu karar proje maliyetlerini arttıracak ben lisans boyutuna göre birden çok geliştirme ortamının ücretsiz gelmesi gerektiğini düşünüyordum elimizdekinden de olduk.

Selamlar.

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Microsoft Dynamics 365, MsDyn365FO, MsDyn365,

Dynamics 365 Finance and Operations Task Recorder Nedir?

Bu yazıda Dynamics 365 Finance and Operations çok önemli araçlarından biri olan Task Recorder’dan bahsedeceğim.

Task Recorder kullanıcıların birçok farklı durum için iş süreçlerini kaydetmesine olanak sağlayan bir araçtır. Aşağıdaki bazı örnek kullanımlar mevcut:

  • Uygulamanın içindeki belirli bir iş sürecinin adım adım rehber oluşturma
  • Bir iş sürecinin, isteğe bağlı olarak ekran görüntüleri içerebilen bir Microsoft Word belgesi olarak dokümantasyonu
  • Bir iş süreci için regresyon testleri
  • Uygulamada bir iş sürecinin otomatik olarak oynatılması

Finance and Operations uygulamaları için Task Recorder çok işlevsel bir araçtır. Örnekler yaparak kullanımlarını anlatmaya çalışacağım. Ayarlar ikonundan Task Recorder’ı açıyoruz.

Resim-1

Read more

Dynamics 365 Finance and Operations Bussines Events Nedir?

Bu yazıda Bussines Event nedir ne işe yarar anlatmaya çalışacağım. Bussines Event diğer sistemlerin Finance and Operations’dan bilgilendirme almasını sağlayan bir yapıdır. Dış sistemlere bu bilgilendirme, içerde bir olay olduğunda tetiklenir. Bu olay ya bir iş akışı işlemleridir ya da iş akışı dışındaki olaylardır. Bütün bu tipler için tetikleme mekanizmaları var ayrıca yeni durumlar için eklemeler yapabiliyoruz. Bu yapıyı bir entegrasyon gibi düşünmemek lazım. Büyük veri için uygun bir altyapı değil. Bussines Event iş olayları olarak çevriliyor.

Business events catalog’a System administration > Set up > Business events yoluyla ulaşabilirsiniz. Bu formda ulaşılabilen Bussines Event’leri görebilirsiniz.

Resim-1

Read more

Dynamics 365 Finance and Operations Etiket(Label) Dosyası Nasıl Oluşturulur?

Bu yazıda Dynamics 365 Finance and Operations için yeni bir etiket dosyası nasıl oluşturulur anlatmaya çalışacağım. Etiketler sistemin çoklu dile destek verebilmesini sağlayan yapıdır. Bizde yaptığımız geliştirmelerde yeni etiketlere ihtiyaç duyarız. Bunun için genelde proje başlangıcında bir etiket dosyası oluşturulur ve tüm yazılımcılar bu dosyayı kullanırlar.

Örnek bir Etiket dosyası oluşturalım. Yeni bir nesne ekleme formunu açıyoruz. Label File seçip Add diyoruz. Bu bize bir sihirbaz ara yüzü açacak. Bunun açılması biraz uzun sürebiliyor.

Resim-1

Read more

Dynamics 365 Finance and Operations Canlıya Geliştirme Nasıl Alınır?

Bu yazıda Dynamics 365 Finance and Operations Production ortamına geliştirme nasıl taşınır anlatacağım. Önceki yazılarımda Azure DevOps kullanarak Build işlemini ve oluşan paketin Asset library nasıl yüklendiğini anlatmıştım. Canlıya alım için teste alınmış bir Software deployable package tespit edip Release Candidate olarak işaretlemek gerekiyor. Ben örnek olarak bir kayıt seçtim.

Resim-1

Read more

Dynamics 365 Finance and Operations Ara Yüz Özellikleri?

Bu yazıda Dynamics 365 Finance and Operations ara yüzlerinin özelliklerinden bahsedeceğim. Öncelikle ara yüzde yapılan bu işlemler kullanıcı seviyesindedir. Diğer kullanıcıları etkilemez.

Herhangi bir nesneye sağ tıkladığınızda form ismi ve nesnenin ismini görebilirsiniz. Bu bilgilerle geliştirme ortamından aradığınız nesneyi daha kolay bulabilirsiniz.

Resim-1

Read more

Dynamics 365 Finance and Operations Query Store Kullanımı?

Bu yazıda Dynamics 365 Finance and Operations geliştirme ortamlarında Query Store nasıl kullanılır anlatmaya çalışacağım. Query Store özellikle sorgular performans çalışmalarında kullanılır. Sorguların, Query plan’ların ve çalışma zamanı istatistiklerinin geçmişini saklar. Bu sayede Query plan değişikliği nedeniyle ortaya çıkan sorunları kolay bir şekilde fark edebiliriz. Ayrıca belli planları force edebiliriz. Bu özellik açık olarak gelmiyor öncelikle takip etmek istediğiniz db de bu özelliği açmalısınız. Biz bir geliştirme ortamında bu ayarları yapacağız çünkü canlı ortamda SQL erişimiz yok.

Managment Studio’yu açıyoruz.

Resim-1

Read more

Page 6 of 40« First...45678102030...Last »