.::Eralp Erat's Solutions Diary::..

{#Every way that I Can share!}-MS Dynamics CRM

MS Dynamics Crm Tips And Tricks - 14 (Açılmış bir servis dosyasının ne kadar süre açık olduğunu görmek gerekirse...)

clock Nisan 13, 2010 01:49 by author Eralp

Selamlar ;

Geçenlerde Microsoft Crm kullanan eski bir müşterimizden güzel bir istek geldi.Verdikleri servis hizmetlerinin takibini yaptıkları incident entitiy içerisine açılan kayıtların oluşturulma ve kapanma zamanları arasındaki farkı bilmek istiyorlardı.Bunun için ilgili formun içerisine yeni bir attribute ekledim.

 

Buna göre hangi tipte vaka kaydı ne kadar süre alıyor hangi personel daha verimli çalışıyor gibi raporlarında önünü açabilecek duruma gelmiş olacaklardı.Biraz kastırdıkdan sonra aşağıdaki gibi bir fonksiyonla durumu aştım.Fomun onsave eventine yazıyoruz.

 

   17 /* Begin of Eralp , 1 Mart 2010 between days functions.*/

   18 

   19 function DateDiff(firstdate,seconddate,firsttime,secondtime)

   20 {

   21    date1 = new Date();

   22    date2 = new Date();

   23    diff  = new Date();

   24 

   25    date1temp = new Date(firstdate + " " + firsttime);

   26    date1.setTime(date1temp.getTime());

   27 

   28    date2temp = new Date(seconddate + " " + secondtime);

   29    date2.setTime(date2temp.getTime());

   30 

   31    diff.setTime(Math.abs(date1.getTime() - date2.getTime()));

   32    timrrediff = diff.getTime();

   33    weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7));

   34    timediff -= weeks * (1000 * 60 * 60 * 24 * 7);

   35    days = Math.floor(timediff / (1000 * 60 * 60 * 24));

   36    timediff -= days * (1000 * 60 * 60 * 24);

   37    hours = Math.floor(timediff / (1000 * 60 * 60));

   38    timediff -= hours * (1000 * 60 * 60);

   39    mins = Math.floor(timediff / (1000 * 60));

   40    timediff -= mins * (1000 * 60);

   41    secs = Math.floor(timediff / 1000);

   42    timediff -= secs * 1000;

   43    return weeks + " hafta, " + days + " gün, " + hours + " saat, " + mins + " dakika, ve " + secs + " saniye";

   44 }

   45 

   46 Date.prototype.toFormattedString = function(format) 

   47 { 

   48    var d = this

   49    var f = ""

   50    f = f + format.replace( /dd|mm|yyyy|MM|hh|ss|ms|APM|\s|\/|\-|,|\./ig ,  

   51    function match() 

   52    { 

   53       switch(arguments[0]) 

   54       { 

   55          case "dd":  

   56             var dd = d.getDate(); 

   57             return (dd < 10)? "0" + dd : dd; 

   58          case "mm"

   59             var mm = d.getMonth() + 1; 

   60             return (mm < 10)? "0" + mm : mm;  

   61          case "yyyy": return d.getFullYear(); 

   62          case "hh":  

   63             var hh = d.getHours(); 

   64             return (hh < 10)? "0" + hh : hh; 

   65          case "MM":  

   66             var MM = d.getMinutes();  

   67             return (MM < 10)? "0" + MM : MM; 

   68          case "ss":  

   69             var ss = d.getSeconds();  

   70             return (ss < 10)? "0" + ss : ss; 

   71          case "ms": return d.getMilliseconds(); 

   72          case "APM":  

   73             var apm = d.getHours();  

   74             return (apm < 12)? "am" : "pm"; /* else durumunda pm olabilir.*/ 

   75          default: return arguments[0]; 

   76       } 

   77    }); 

   78    return f; 

   79 } 

   80 /* Begin of Eralp , 1 Mart 2010 between days functions.*/

   81 

   82 if (!IsNull(crmForm.all.createdon.DataValue) && !IsNull(crmForm.all.followupby.DataValue))

   83 {

   84       var d1 = new Date(crmForm.all.createdon.DataValue);

   85       var d2 = new Date(crmForm.all.followupby.DataValue);

   86       var temp1 = d1.toFormattedString("mm/dd/yyyy hh:MM APM");

   87       var t1 = temp1.substring(temp1.indexOf(" ")+1,temp1.indexOf(" ")+10);

   88       var temp2 = d2.toFormattedString("mm/dd/yyyy hh:MM APM");

   89       var t2 = temp2.substring(temp2.indexOf(" ")+1,temp2.indexOf(" ")+10);

   90       crmForm.all.new_totalopentime.ForceSubmit = true;

   91       crmForm.all.new_totalopentime.Disabled = false;

   92       if (t2.substring(0,5)=='00:00')

   93       {

   94            t2 = t1 ;

   95       }

   96       var d1t = d1.toFormattedString("mm/dd/yyyy");

   97       var d2t = d2.toFormattedString("mm/dd/yyyy");

   98       var t2Proc = (parseInt(t2.substring(0,2).toString())>12?parseInt(t2.substring(0,2).toString())-12:

   99 parseInt(t2.substring(0,2).toString())).toString()+""+t2.substring(2,8);

  100       crmForm.all.new_totalopentime.DataValue = DateDiff(d1t,d2t,t1,t2Proc);

  101       crmForm.all.new_totalopentime.Disabled = true;

  102 } else

  103 {

  104       crmForm.all.new_totalopentime.Disabled = false;

  105       crmForm.all.new_totalopentime.DataValue = null;

  106       crmForm.all.new_totalopentime.Disabled = true;

  107 }

 

Takıldığınız birşey olursa lütfen sorunuz.

Sevgiler.

E2

  

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


MS Dynamics Crm Tips And Tricks - 13 (Ekranda ki tüm kontrolleri disabled etmek gerekirse...)

clock Nisan 12, 2010 11:20 by author Eralp

Selamlar ;

Kimi zaman istediğimiz birşeydir bu..Tabi daha çok istenen bir başka konuda 1-N ilişki olan entity'ler arasında master için kayıt değişikliğine izin verilirken detail tablosuna yeni kayıt eklenmesi istenmeyebiliyor.Yada o kayıtların editlenmesi veya var olan hali hazırda bir detay kaydının bu masterla Add Existing denilerek ilişkilendirilmesi istenilmeyebiliyor.Bunu engellemek biraz meşakkatli olsada mümkün tabi..Bu konuda önümüzdeki günlerde bir tips&tricks yazacağım.

Bir crm formu içerisinde yer alan tüm fieldların disabled moda çekilmesi için aşağıdaki kod parçası işinizi görecektir.

 

   17 for (var i in crmForm.all) {

   18     var control = crmForm.all[i];

   19     if (control.req && (control.Disabled != null)) {

   20         control.Disabled = true;

   21     }

   22 }

Sevgiler.

E2

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


MOSS 2010 on air!

clock Kasım 18, 2009 00:21 by author Eralp

Merhaba dostlar ,

En nihayetinde hayatımıza giren MOSS2010 u inanın büyük bir heyecanla bekliyordum uzun zamandır , MS 'den yeşim'in kulakları çınlasın az tırmalamadım kapısı internal birşey var mi ne zaman geliyor beta :))

E haliyle Office 14 'de aramızda artık (beta olarak.)

http://msdn.microsoft.com/en-us/subscriptions/downloads/default.aspx?pv=1:383 linkinden MOSS 2010'a ve Office 14'ün betalarına ulalaşabilirsiniz.

Gelelim maceramıza , kurulum konusunda windows 2008 Ent sp2 kullanan ben birde bunun üstüne 64 bit dersem hiç şaşmazsınız sanırım MOSS 2007 Ent with sp2 li olan halinin üzerine upgrade yaparak ilerlemek istedim..Lakin Powershell kızdı durdu..En sonunda onuda aşmayı başardık bir şekilde :)

Aşağıda faydalandığım linkler ve screenshot'lar var.Yardımcı olabileceğim birşey olursa lütfen yazın.



Resim - 1

 

 



Resim - 2

 



Resim - 3

 



Resim - 4

 

Not : Resim - 4 de yer alan durum sadece windows 2008 için geçerli , uninstall list'de aramayın bulamazsınız , KB olarak yer almıyor Server Manager üzerinden giderek Remove Future demelisiniz.Powershell size göz kırpıyor orda dalga geçer gibi..Bu konuda ki bilgiye aşağıdaki linklerden ulaştım.İlk link'de manuel indirme , ikinci linktede farklı işletim sistemleri için uninstall olayının nasıl yapılabileceğini gorebilirsiniz.

http://download.microsoft.com/download/D/0/E/D0E6D2C1-2593-4017-B26D-7375BC9263D5/PowerShell_Setup_amd64.msi

old version uninstall

http://blogs.msdn.com/powershell/archive/2007/12/17/installing-windows-powershell-v2-ctp.aspx)

 

Sevgiler.

E2

 

 

6 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Yazar Hakkında

Eralp

Uludağ Üniversitesi bilgisayar programcılığı sonrasında işletme fakültesini bitiren Erat ; 1999 yılından bu yana yazılım sektörünün içerisinde yer almış ve ilgili olduğu projelerin çözüm üretilmesin de aktif olarak rol oynamıştır.Yaklaşık 6 yılını Türkiye’nin dört bir tarafında yer alan devlet hastanelerin bilgi yönetim sistemlerini tasarlamak ve geliştirmekle geçirmiş ; LIS , IVR ve Linux sistemlerinin entegrasyonu konusunda uzmanlaşmıştır.Bu konuda halen danışmanlık hizmeti vermektedir..Uzun yıllar “Object Pascal” ile uygulama geliştirmiştir.MCP , MCAD.NET ve MCSD.NET,MCTS (MS CRM 4 Customization) unvanlarına sahiptir..Aynı zamanda Mobile Cihazlar konusunda 2007 yılında Microsoft tarafından MVP unvanına layık görülmüştür.
Çeşitli kurumsal projelerin mimari tasarım ve yazılımlarını gerçekleştirmiştir.Son zamanlarda ağırlıklı olarak Microsoft Dynamics CRM ,Sharepoint ve entegrasyon bazlı olarak Axapta(Microsoft ERP) & Project Server projelerinde yer almaktadır.CRM ve Sharepoint konusunda başta finans sektörü olmak üzere Türkiye'nin alanında en büyük firmalarına kurumsal eğitimler vermektedir.Yazılım konusunda en büyük hayali, Türkiye’mizin bir yazılım üssü haline gelebilmesinde ön ayak olmaktır. Yazılımın belli bir forma sıkıştırılmasından hiç haz etmeyen ve fanatikliği değil sadece kaliteyi ön plana çıkarabilmek adına deneyimlerini ve yeni teknolojiler hakkında oluşan bilgi ve birikimlerini üniversitelerde genç dimağlarla paylaşmaktan büyük mutluluk duymaktadır. Halen orta ve büyük ölçekli kurumsal çözümler üreten bir yazılım evinde geliştirici takım lideri olarak çalışmalarını sürdürmekte ve aynı zamanda Macintosh/Objective C programlama konusunda kendini geliştirmektedir:).2007 yılında Boğaziçi Üniversitesi Makine Mühendisliği bölümünde C# eğitimleri vermiştir.Sakarya Üniversitesi e-Bilişim dalında MBA yapmaktadır.

Yazılım geliştirme konusunda birebir özel ders verilmektedir.Konuyla ilgili lütfen eralp.erat@gmail.com adresine iletişim bilgilerini mail atınız.

 

Calendar

<<  Ağustos 2010  >>
PaSaÇaPeCuCuPa
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

View posts in large calendar

Sign in