cub-e.net

just coding...

CRM Saturday Zurich

I'm pleased to announce that I'm one of the presenters in CRM Saturday Zurich which will be held 13th April at the Microsoft Switzerland.

About my session:

Dynamics 365 new development features and deprecations
Saturday, May 13
 | 10:15 PM - 11:00 PM
 | Room 3

Format: Presentation
Level: Intermediate

Looking to extend or write your first code to your Dynamics CRM environment? This session is focused on those new to CRM development or CRM administrators interested in taking the plunge to "code" customization. Covering all development structure of the Dynamics platform since version 2011. Attendees can easily see the difference between versions from a development perspective and particularly helpful for those who work on upgrade projects.

About CRM Saturday:

CRM Saturday is a Non Profit Technology Event Sponsored by Microsoft and Organised by the Microsoft Dynamics and CRM Community. It provides Organisations and Microsoft professionals a unique opportunity to keep up to date with the many platform changes and come together to discuss the challenges often faced during CRM implementation and digital transformation with fellow Industry experts. Get ready for an action packed day with over 15 sessions by speakers from around the world including many Microsoft MVP's and industry experts.

You can find more detail in here : http://www.spsevents.org/city/Zurich/Zurich2017/home

Join Us at Summit EMEA 2017

I'm pleased to announce that I'm one of the presenters in Summit EMEA 2017 which will be held 4-6 April at the RAI Amsterdam.

About my session:

Development on Dynamics 365/CRM
Tuesday, April 4
 | 2:00 PM - 3:00 PM
 | Room: G110

Format: Presentation
Level: Intermediate

Looking to extend or write your first code to your Dynamics CRM environment? This session is focused on those new to CRM development or CRM administrators interested in taking the plunge to "code" customization. Covering all development structure of the Dynamics platform since version 2011. Attendees can easily see the difference between versions from a development perspective and particularly helpful for those who work on upgrade projects.

About Summit EMEA:

Summit EMEA 2017 will be held 4-6 April at the RAI Amsterdam. Summit EMEA provides Microsoft Dynamics users with best-in-class education on how to maximise the performance of Microsoft CRM, Dynamics AX, Dynamics NAV, and Power BI products. This event welcomes IT executives and end users from organizations using Microsoft Dynamics for learning and collaboration in a trustworthy environment.

This community-driven conference features special access to Microsoft leadership and a diverse array of interactive training workshops led by experts and users. Session topics include:

·         BI & Reporting

·         CRM Cloud Extensions

·         Developer

·         Leadership & User Adoption

·         Microsoft Dynamics 365

·         Power User

·         User Showcase

·         Partner Solutions Showcase

Sessions are currently available online. View session details, descriptions, and speaker information.

Interested in Power BI? There will also be three full days of Power BI sessions available to attendees. View Power BI sessions.

This event is brought to you by AXUG, CRMUG, NAVUG, and PBIUG. These User Groups are the world's most influential communities of Dynamics users, business leaders, IT professionals, developers, and partners - with members sharing a common goal to maximize and advance the performance of their Dynamics investment.

Register today! Begin your conference registration.


Join Your Microsoft Dynamics Peers at Summit EMEA 2017

I'm pleased to announce that I'm one of the presenters in Summit EMEA 2017 which will be held 4-6 April at the RAI Amsterdam.

About my session:

Development on Dynamics 365/CRM
Tuesday, April 4
 | 2:00 PM - 3:00 PM
 | Room: G110

Format: Presentation
Level: Intermediate

Looking to extend or write your first code to your Dynamics CRM environment? This session is focused on those new to CRM development or CRM administrators interested in taking the plunge to "code" customization. Covering all development structure of the Dynamics platform since version 2011. Attendees can easily see the difference between versions from a development perspective and particularly helpful for those who work on upgrade projects.

Learning Objectives:
Changes on Javascript Library, SiteMap, Plugin and Workflow Development, Service struscture, Web Api, etc...

About Summit EMEA:
Summit EMEA provides Microsoft Dynamics users with best-in-class education on how to maximise the performance of Dynamics AX, Microsoft CRM, Dynamics NAV, and Power BI products. This event welcomes IT executives and end users from organizations using Microsoft Dynamics for learning and collaboration in a trustworthy environment.

Attendees will have direct access to the following:

* Product insights

* Practical answers to Dynamics questions

* Peer to peer expertise that will provide gains in product knowledge and streamline business operations

* Microsoft leaders

* Microsoft MVPs

* Subject Matter Experts

Summit EMEA also facilitates connections between Dynamics professionals both from local user groups and from an international network of likeminded professionals. This event is brought to you by AXUG, CRMUG, NAVUG, and PBIUG. These User Groups are the world's most influential communities of Dynamics users, business leaders, IT professionals, developers, and partners - with members sharing a common goal to maximize and advance the performance of their Dynamics investment.

Click here to begin your conference registration.


CRM Service Utility for Mobile Development

Technologies

Dynamics CRM
Code Generation, Dynamics CRM metadata access
Desktop, Phone, Windows RT
en-US
9/8/2014

Introduction

This sample is a custom extension to the CrmSvcUtil.exe program that ships in the Dynamics CRM 2013 SDK. The purpose of this program is to generate C# or VB source code containing early-bound entity types and option set types from the metadata of your CRM server. This code can then be included in your mobile app projects. This enables you to make use of both out-of-box and any custom or customized entities in your code.

 

Building the Sample

To build the program, follow these steps.

  1. Obtain the CrmSvcUtil.exe program and the Microsoft.Xrm.Sdk.dll assembly from the Bin folder of the CRM 2013 SDK. You can download the SDK from http://msdn.microsoft.com/en-us/dynamics/crm/dn467921.aspx.
  2. Load the CrmSvcMobileUtil.sln solution file into Visual Studio 2013.
  3. Add references to CrmSvcUtil.exe and Microsoft.Xrm.Sdk.dll in the project.
  4. Press F6 to build the program.

 

Running the Program

For information on how to run the program, see the SDK topic: Create early bound entity classes with the code generation tool (CrmSvcUtil.exe).

 

Important Notes

    • The sample files are not intended to be used in a production environment. You should deploy this sample to a test environment and examine it for interaction or interference with other parts of the system.
    • This program was written by Kenichiro Nakamura at Microsoft.

       

      More Information

      For more information about writing an extension to the CrmSvcUtil program, see Create extensions for the code generation tool.

      You can download code:

      CRM Service Utility for Mobile Development.zip (48.2KB)

      YazilimciyizBiz

      Yazılım geliştiren şirketler! İhtiyaç duyduğunuz bilgi ve kaynaklara tek noktadan erişim için yeni adresiniz: www.yazilimciyizbiz.com

      Microsoft'un biz yazılım geliştiricilerene ne gibi olanaklar sağladığını, hangi geliştirme araçlarını ve ortamlarını sunduğunu bu siteden takip edebilirsiniz.

      Site'nin e-bültenine kayıt olabilir aynı zamanda Facebook ve Twitter üzerinden de takip edebilirsiniz.

      Sağ taraftaki ürün resimlerine tıkladığınızda içlerinde benim de olduğum MVP videolarını izleyebilirsiniz.

      Microsoft Dynamics CRM içerisinde İstemci Taraflı Kod Geliştirme

      Microsoft Dynamics CRM içerisinde İstemci Taraflı Kod Geliştirme

      Web uygulamalarının istemci (client) tarafında birtakım işlemleri gerçekleştirmesi sunucunun (server) daha rahat çalışmasını sağlayacaktır. Dynamics CRM'de bir web tabanlı bir mimariye sahip olduğu için bu durum onda da geçerli. DOM nesne modelinde her HTML elemanı bir nesne olduğu için DHTML programlama teknikleri ile CRM'in formlarına ve nesnelerine erişip işlemler gerçekleştirebilirsiniz.

      CRM'in SDK'sı içerisinde "Client Extensions and Scripting" bölümü altında detaylı bilgilerini bulabileceğiniz metot, olay ve nesneleri bir arada bulabileceğiniz bir yazı hazırladım size.

      1 Genel Değişkenler
        Değişken Açıklama
      SERVER_URL CRM Web Server'ın URL'sini döndürür
      USER_LANGUAGE_CODE Kullanıcının dil kodunu döndürür
      ORG_LANGUAGE_CODE Organizasyonun dil kodunu döndürür
      ORG_UNIQUE_NAME Organizasyonun adını döndürür
      2 Genel Metotlar
        Metot Açıklama
      IsOnline Eğer kullanıcı online olarak sistemi kullanıyorsa true döndürür (Outlook client ile ofline kullanma özelliği mevcuttur)
      IsOutlookClient Kullanıcı Microsoft Dynamics CRM for Outlook ile sisteme ulaşıyorsa true döndürür
      IsOutlookLaptopClient Kullanıcı Microsoft Dynamics CRM for Outlook with Offline Access ile sisteme ulaşıyorsa true döndürür
      3 Genel Olaylar
        Olay Açıklama
      OnLoad Form Browser'a yüklendiğinde icra edilir. Bu olayı kullanrak form üzerinde kullanıcının karşısına gelmeden istediğiniz değişikliği yapabilrsiniz
      OnSave Kullanıcı Save, Save and Close ya da  Save and New düğmelerine tıkladığında çalışan olaydır. Bu olay form servera gönderilmeden çalışır ve eğer istemediğiniz bir değer varsa form üzerinde, servera gidişi iptal edebilirsiniz. Eğer kaydetme işlemini iptal etmek istiyorsanız event.returnValue = false; kodunu çalıştırmalısınız.

      Genel değişkenler ve metotları gördükten sonra şimdi nesnelerimizi içinde barındıran crmForm isimli formumuza ait neler varmış bir bakalım.

      1 crmForm Özellikler
        Özellik Açıklama
      All Form nesneleri kolleksiyonu
      IsDirty Formda değişiklik yapılıp yapılmadığını kontrol etmenizi sağlar. Değer atanabilir.
      FormType Formun açılış biçimi. Alabileceği değerler:
      0 = Tanımlanmamış Form Tipi
      1 = Yeni Kayıt
      2 = Kayıt Güncelleme
      3 = Sadece Okunabilir Form
      4 = DevreDışı Bırakılmış Form
      5 = Hızlı Yeni Kayıt
      6 = Toplu Güncelleme
      ObjectId Açılmış olan kaydın GUID cinsinden ID'sini döndürür. Yeni Kayıt olarak açılmış formda null döner.
      ObjectTypeName Görüntülenen nesnenin adı döner
      2 crmForm Metotlar
        Metot Açıklama
      Save() Formu kaydeder
      SaveAndClose() Formu kaydeder ve kapatır
      SetFieldReqLevel(sField, bRequired) Bir alanı gerekli ya da gereksiz olarak işaretler

      Aşağıdaki tabloda crmForm.all.<alanadi> ile erişilebilir alanların ortak özellik ve metotlarını bulabilirsiniz.Burada unutulmamsı gereken nokta lookup ve picklist alanların aslında birer dizi olduklarıdır. İçlerinden birden fazla veri tutabildikleri gibi kullanıcının gördüğü ile veritabanına yazılanların farklı olmasıdır. (lookup için GUID, picklist için ise seçilenin integer değeri yazılır).

      1 crmForm.all Özellikler
        Özellik Açıklama
      Precision currency veri float veri tiplerinde virgülden sonraki digit sayıını verir.
      DataValue Veri okunan ve yazılan özellik. picklist ve lookup için ek parametreler almaktadır.
      Disabled Kullanıcı girişini açmanızı veya kapamanızı sağlar.
      ForceSubmit Bu özellik disabled edilmiş olan alanların veritabanına kaydedilmesini sağlar. Standartta disabled alanları CRM kaydetmez.
      IsDirty Alan üzerinde değişiklik yapılıp yapılmadığını kontrol etmenizi sağlar.
      Min currency, float ve integer değer türlerinde erişilebilir en küçük değeri verir.
      Max currency, float ve integer değer türlerinde erişilebilir en büyük değeri verir.
      MaxLength string ya da memo alanlarının en büyük değerini verir.
      RequiredLevel Gereksinim seviyesini verir
      0 = Gereksinim düzeyi yok
      1 = Business Recommended (Önerilen)
      2 = Business Required (Gereken)
      2 crmForm.all Metotlar
        Metot Açıklama
      SetFocus() Mouse işaretçisini formda o alana gönderir.
      FireOnChange() Alanın OnChange() olayını çalıştırır.
      3 crmForm.all Olaylar
        Olay Açıklama
      OnChange Kullanıcı bir alan içerisindeki değeri değiştirdiğinde çalışan olaydır.

      Ek olarak bilinmesi gereken PartyList ve email aktivitesi To alanı birden fazla değer almaktadır. Diğer Lookupların yapıları da bir dizi olmasına karşın tek değer alırlar.Yani sadece 0. indis doludur.

      Lookup alanları daha derinlemesine inceleyelim. Lookup alanların yukarıdaki özelliklere ek olarak aşağıdaki üç özelliği bulunmaktadır.

      crmForm.all.<lookupfiled> Özellikler
      Özellik Açıklama
      Id GUID değeri taşır. Okunabilir ve yazılabilir.
      TypeName Referans edilmiş entity'nin adı. Okunabilir ve yazılabilir.
      Name GUID'in değerinin Form'da gösterilecek olan ismi. Okunabilir ve yazılabilir.

      Örneklerle konuyu pekiştirelim. Lookup veri alanından değer okumak ile ilgili örnek;
      Bu örnekte bir primarycontactid isimli alandaki değeri öğreniyoruz.

      var lookupItem = new Array;
      //primarycontactid alanndaki veriyi okuyoruz.
      lookupItem = crmForm.all.primarycontactid.DataValue;
      //eğer veri var ise gösteriyoruz.
      if (lookupItem[0] != null) {     
      // metin
          
      alert(lookupItem[0].name);
      // GUID     
      alert(lookupItem[0].id);
          
      // entity ad.
         
      alert(lookupItem[0].typename);
      }

      Lookup veri alanına veri yazmakla ilgili örnek;
      Bu örnekte parentaccountid isimli alana değer atıyoruz.

      //bir Array oluturuyoruz.
      var lookupData = new Array();
      //Object nesnesi ekliyoruz.
      var
      lookupItem = new Object();
      //Object nesnemizde id, typename ve name zelliklerini dolduruyoruz.

      lookupItem.id =
      '{1AAC1363-01A1-DB11-8432-0003FF9CE217}';
      lookupItem.typename =
      'account';
      lookupItem.name =
      'A Bike Store';
      // Object nesnemizi Array'a veriyoruz.

      lookupData[0] = lookupItem;

      // Array' parentaccountid alanna veriyoruz.

      crmForm.all.parentaccountid.DataValue = lookupData;

      1 crmForm.all.<picklistfiled> Özellikler
        Özellik Açıklama
      DataValue Seçilmiş olan alanın integer değeri. Okunabilir ve yazılabilir.
      SelectedText Seçilmiş olan alanın text değeri.
      GetSelectedOption Seçilmiş olan değerin option cinsinden değeri.
      Options Picklist içerisindeki öğelerin Array cinsinden değerini verir, ayrıca array içerisinde yeni bir değer var ise bu da gösterilmiş olacaktır. Okunabilir ve yazılabilir.
      2 crmForm.all.<picklistfiled> Metotlar
        Metot Açıklama
      AddOption(Name, DataValue) Picklist Array'ına yeni öğeler ekler. Name ve DataValue geçerli değişkenler olmalıdır.
      DeleteOption(value) Integer değeri verileren öğeyi picklistten kaldırır

      Picklist alanlar ile örneğimize geçelim;
      Bu örnekte categorytype isimli alan içerisindeki değerlerle oynuyoruz.

      var oField = crmForm.all.categorytype;

      // 4. öğeyi alyoruz.
      var
      oOption = oField.Options[4];

      // kaç tane öğe olduğunu öğreniyoruz.
      alert(
      "Original length :" + oField.Options.length);

      // birinci öğeye değer atıyoruz.
      oField.DataValue = 1;

      // birinci öğenin adını alıyoruz.
      alert(oField.SelectedText);

      // 4. öğeyi siliyoruz.
      oField.DeleteOption(4);

      // kaç tane öğe olduğunu öğreniyoruz.
      alert(
      "New length :" + oField.Options.length);

      // 4. öğeyi yeniden ekliyoruz.
      oField.AddOption(oOption.Text, oOption.DataValue);

      // kaç tane öğe olduğunu öğreniyoruz.
      alert(
      "Restored length :" + oField.Options.length);

      Form üzerinde JavaScript kodu ile yukarıdaki anlattıklarımı birleştirerek her şeyi yazmanız mümkün.
      Daha önceki JavaScript ile ilgili makalelerimden başka örnekler de bulabilirsiniz:
      http://www.cub-e.net/post/CRM-icerisinden-Java-Script-kullanarak-web-sayfasc4b1-cagc4b1rmak.aspx
      http://www.cub-e.net/post/Microsoft-CRM-30-Navigation-Bar-Ogelerini-Form-Icinde-IFrame-Ile-Gostermek.aspx
      http://www.cub-e.net/post/OnSave()-Events-on-Dynamics-CRM-javascipt.aspx
      http://www.cub-e.net/post/OnSave()-Events-on-Dynamics-CRM---Part-II.aspx
      http://www.cub-e.net/post/Ascentium-CrmService-JavaScript-Library.aspx
      http://www.cub-e.net/post/Use-JavaScript-executecalllaunch-Dynamics-CRM-40-Workflow.aspx
      http://www.cub-e.net/post/CRM-workflow-date-update-includes-saturdays-sundays.aspx
      http://www.cub-e.net/post/Microsoft-Dynamics-CRM-JScript-Export-Tool-JavaScript.aspx

      Bir makalemizin daha sonuna geldik. Umarım anlattıklarım faydalı olmuştur. Hepinize iyi çalışmalar.

      Barış KANLICA | Dynamics CRM MVP
      Microsoft Certified Business Management Solution Specialist

      brsk@e-kolay.net | www.cub-e.net | forum.cub-e.net

      Ascentium CrmService JavaScript Library

      Ascentim Dynamics CRM Service JavaScipt library'sini yayınladı. Gerçekten çok hoş ve yazılım geliştiricilere CRM platformu üzerinde JavaScript kullanırken çok zaman kazandıracak.
      Aşağıdaki adresten inceleyebilirsiniz;

      ---

      Ascentium released their CrmService JavaScript library.  It looks very interesting and should save us CRM developers tons of time extending the CRM platform using JavaScript.
      You can look ate below address;

      http://www.ascentium.com/blog/crm/Post129.aspx

      F# geliyor

      Microsoft yeni programlama dili F# :) detaylar aşağıda;


      Combining the efficiency, scripting, strong typing and productivity of ML with the stability, libraries, cross-language working and tools of .NET.

      F# is a programming language that provides the much sought-after combination of type safety, performance and scripting, with all the advantages of running on a high-quality, well-supported modern runtime system. F# gives you a combination of

      The only language to provide a combination like this is F# (pronounced FSharp) - a scripted/functional/imperative/object-oriented programming language that is a fantastic basis for many practical scientific, engineering and web-based programming tasks. 

      F# is a pragmatically-oriented variant of ML that shares a core language with OCaml. F# programs run on top of the .NET Framework. Unlike other scripting languages it executes at or near the speed of C# and C++, making use of the performance that comes through strong typing. Unlike many statically-typed languages it also supports many dynamic language techniques, such as property discovery and reflection where needed. F# includes extensions for working across languages and for object-oriented programming, and it works seamlessly with other .NET programming languages and tools.

      For further information, read about F# in more detail, download the F# distribution, read the getting started pages (a guide to installation and running your first program), go to the F# Manual, and learn about the growing F# Community. A short FAQ is also included on this site.

      Some Starting points

       

      Microsoft Dynamics CRM 4.0 Software Development Kit - Yazılım Geliştirme Aracı

      Rapor oluşturucular, yazılım ve içerik geliştiriciler için olan Microsoft Dynamics CRM 4.0 Software Development Kit (SDK) güncellenmiştir.
      Plug-in oluşturmanın yeni yöntemleri, workflow aktiviteleri ile çalıştırma, yeni web servislerini kullanma, veri yönetimi ve daha birçok konuda yeni yazılar ve örnekler içermektedir.

      Adres : http://www.microsoft.com/downloads/details.aspx?FamilyID=82E632A7-FAF9-41E0-8EC1-A2662AAE9DFB&displaylang=en

      ----

      The Microsoft Dynamics CRM 4.0 Software Development Kit (SDK) is for developers, system customizers, and report writers.
      It contains all new information about creating plug-ins, working with custom workflow activities, using the new Web services, using new data management features, and much more.

      This SDK contains information for developers writing server side code, custom business logic, integration modules, workflow assemblies, and more. It provides an architectural overview of Microsoft Dynamics CRM, the entity model, security model, and Web services. Sample code and walkthroughs guide you through the new features.

      The SDK also contains information for developers customizing the Web client or Microsoft Dynamics CRM for Microsoft Office Outlook, including scripting, integration of custom Web pages, sample code, and a detailed user interface style guide.

      Look for regular updates to this SDK. Future releases will include the ISV Guide and Report Writers Guide.

      link: http://www.microsoft.com/downloads/details.aspx?FamilyID=82E632A7-FAF9-41E0-8EC1-A2662AAE9DFB&displaylang=en