RSS

Kategori arşivi: İş akışı (Workflow)

Microsoft Dynamics AX İş akışı (Workflow) kategorisi

Dynamics AX 2012 iş akışları yönetimde yeni heyecan verici vizyon…

Merhaba

Dynamics AX, 2009 versiyonu ile başarılı bir giriş yaptığı iş akışı sürecinde, 2012 versiyonunda özellikle tasarım tarafından çok ciddi bir yenilik getirerek çıtayı yükseltmişti. Bugün izlediğim bir video ise daha gelişme sürecinin tamamlanmadığının ve hala heyecan verişi işlerin yapılabildiğinin göstergesi gibiydi. Lafı daha uzatmayıp sizi videoyu izlemeye davet ediyorum. Bana hak vereceksiniz 🙂

Mutlu günler…

 

Etiketler:

AX 2012 İş akışı yer imleri ve bilgilendirme girişlerinde hata

Merhaba, Bugün, Ax 2012de yeni veya mevcut bir iş akışını düzenlemek istediğiniz zaman Yer tutucuları kullanarak oluşturduğumuz bilgilendirme panelinin editöre pasif olarak geldiğini tespit ettik. İlginç bir hataydı ve çözümünü aşağıdaki gibi bulduk.

Hata ekranı:

pic4

Hatayı aşmak için Organizasyon yönetimi –> Kurulum –> Organizasyon –> Şirket verileri formunda var olan değerlerin dil Kodlarını EN-US değerine getirilmesi gerekmektedir.

pic5

 
 

Etiketler: , , , , , , , ,

İş akışlarında boş pozisyon değerlerinin atlanarak iş akışının bir sonraki pozisyona gönderilmesi

Merhaba,

İş akışlarında bugün karşılaştığım bir durumu ve buna uyguladğım çözümü paylaşmak istiyorum. Müşterimde iş akışlarında genel olarak hiyerarşi modeli kullanılmaktadır. Bu model ile iş akışında onay adımları kullanıcının durdurma kuralına göre uyuşan tüm üst seviyedeki yöneticileri için oluşmaktadır. Kullanıcının üst seviyedeki yöneticilerinden birisinin işten ayrılması sonucu ilgili pozisyon boş kalabilmekte ve iş akışlarında “pozisyon bulunamadı” ya da “kullanıcı bulunamadı” vb hatalar görülmektedir. Bu boş pozisyonun AX tarafından algılanmayıp bir sonraki pozisyondaki kullanıcıyı bulması için aşağıda adımları belirtilen değişiklikleri yaptım. Testlerim sonucu çalışıyor görünüyor.

1- AOT –> Classes –> WorkflowLimitHierarchyProvider

2- Yeni butonu ile aşağıdaki metodu ekledim.


// Changed on 10 Oca 2012 at 13:11:29 by mesut
// Eğer bir pozisyonda çalışan yoksa bir üst pozisyona bakar.
public HRPPartyPositionTableRelationship getNextPositionTable(HRPPartyPositionTableRelationship _positionTable)
{
HRPPartyPositionTableRelationship positionTable;

ValidFromDateTime _perDate = DateTimeUtil::getSystemDateTime();
;

if (_positionTable.RecId == 0)
{
throw error("@SYS119263"); // employee not found
}

select firstonly positionTable where positionTable.PositionId == _positionTable.ReportsToPosition
&& positionTable.hrmReferenceType == HRMVirtualNetworkReferenceType::Employee
&& positionTable.ValidFromDateTime <= _perDate
&& positionTable.ValidToDateTime   >= _perDate
&& positionTable.ReportsToPosition != "";

if (positionTable.RecId == 0)
{
throw error("@SYS119263"); // postion not found
}

if(positionTable.Reference)
return positionTable;
else
return this.getNextPositionTable(positionTable);
}

3 – WorkflowLimitHierarchyProvider.getNode() metodunda aşağıdaki eklemeyi yaptım.


private WorkflowLimitHierarchyProviderNode getNode(PositionId _position, WorkflowHierarchyLevel _level)
{
ExpressionDataSource nodeDataSource;
HRPLimitTableMap limitMapTable;
HRPLimitTypeTable limitTypeTable;
HRPPartyPositionTableRelationship positionTable;
HRPPartyJobTableRelationship jobTable;
userId user;
WorkflowHierarchyLevel level = _level + 1;
FromDateTime _perDate = DateTimeUtil::getSystemDateTime();
;

positionTable = HRPPartyPositionTableRelationship::find(_position);

// ETG MB start 10012012 ----------------------------> THIS SECTION WAS ADDED AS A NEW<-----------------------
if(!positionTable.Reference)
{
positionTable = this.getNextPositionTable(positionTable);
}
// ETG MB end ----------------------------> THIS SECTION WAS ADDED AS A NEW<-----------------------

if (positionTable.RecId == 0)
{
throw error("@SYS119263"); // position not found
}

if (positionTable.hrmReferenceType != HRMVirtualNetworkReferenceType::Employee)
{
throw error("@SYS120049"); // Employee Type not found
}

user = SysCompanyUserInfo::emplId2UserId(positionTable.Reference);
if (!user)
{
throw error("@SYS119264"); // user not found
}

jobTable = HRPPartyJobTableRelationship::find(positionTable.JobId);
if (jobTable.RecId == 0)
{
throw error("@SYS119262"); //job not found
}

nodeDataSource = ExpressionDataSource::newDataSourceValue(dataSource.parmName());
nodeDataSource.addField(ExpressionField::newFieldValue(#Workflow_PositionTitle, extendedtypestr(PersonTitle), positionTable.Title));
nodeDataSource.addField(ExpressionField::newFieldValue(#Workflow_JobTitle, extendedtypestr(PersonTitle), jobTable.Title));
nodeDataSource.addField(ExpressionField::newFieldValue(#Workflow_LineManagerLevel, extendedtypestr(WorkflowHierarchyLevel), level));

while select limitTypeTable
{
limitMapTable = HRPLimitTableRelationship::getActiveLimitEmpl(limitTypeTable.LimitId, positionTable.Reference);
nodeDataSource.addField(ExpressionField::newFieldValue(#Workflow_Limit + limitTypeTable.LimitId, extendedtypestr(HRPLimitValue), limitMapTable.LimitValue));
}

return WorkflowLimitHierarchyProviderNode::newProviderNode(
positionTable.Reference,
user,
level,
nodeDataSource);
}

NOT: Yazıda belirtilen kodun, değiştirilmeden veya değiştirilerek, development/test/canlı ortamlarında kullanılması sonucu oluşabilecek olumlu/olumsuz durumlarda tüm sorumluluk kodu kullanan kişiye aittir.

Mesut BOZTAŞ

Dynamics AX ERP Danışmanı ve
İstanbul Ticaret Üni. Y.Lisans öğrencisi

İstanbul 2012

http://www.etg-it.com

 

Etiketler: , , ,

Iphone üzerinden Dynamics AX İş akışlarının(workflow) onayı

Merhaba,

İş akışlarını yoğun olarak kullanan işletmeler genel olarak iş akışlarını satış ve satınalma süreçlerindeki işlemlerde kullanırlar. Bu birimlerde çalışan kişiler vakitlerinin çoğunu işlerinin doğasından dolayı ofis dışında geçiren çalışanlardır. Hal böyleken ofis dışındayken Dynamics Ax ta çalışanların üzerinde bekleyen onayların bir mobil cihaz üzerinden onaylama ihtiyacı işletmede hat safhada olabilmektedir.

Bugünlerde apple storede bu talep için bir uygulama yayınlandı. Bu uygulama ile size atanan mevcut iş akışlarını görüp onay veya red işlemlerini gerçekleştirebiliyor, tarihçelerini görebiliyor ve ayrıca uyarı kurallarının oluşturduğu bildirimleri de Iphone cihazınız üzeride görebiliyor ve yönetbiliyorsunuz.

Mevcut versiyonu şu an test ediyorum ve gayet başarılı. Kurulumu AOS tarafı için 30 dakika, ve kullanıcı tarafı için 1-2 dakika, Maliyeti de kullanıcı başına şuan 50 USD. Hepsi bu kadar!

Ek olarak ürüne ait link ve ekran görüntüleride paylaşmak istiyorum.

Ürüne ait orjinal site

Apple Store için link

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Mesut BOZTAŞ

Dynamics AX ERP Danışmanı ve
İstanbul Ticaret Üni. Y.Lisans öğrencisi

İstanbul

http://www.etg-it.com

 
 

Etiketler: , , ,

Dynamics AX iş akışları kurulum ve konfigürasyon oluşturma dokümanı

Merhaba,

Bu yazımda sizinle Dynamics AX iş akışları(Workflow) kurulum ve kurulum sonrası konfigürasyon yönetimi için çok faydalı olduğunu düşündüğüm iki dokümanı paylaşacağım. Faydalı olması dileklerimle…

Mesut BOZTAŞ

Dynamics AX ERP Danışmanı ve
İstanbul Ticaret Üni. Y.Lisans öğrencisi

İstanbul

http://www.etg-it.com

Dokümanı indirmek için tıklayınız.

https://mesutboztas.wordpress.com/

https://mesutboztas.wordpress.com/

https://mesutboztas.wordpress.com/

https://mesutboztas.wordpress.com/

https://mesutboztas.wordpress.com/

https://mesutboztas.wordpress.com/

https://mesutboztas.wordpress.com/

https://mesutboztas.wordpress.com/

https://mesutboztas.wordpress.com/

https://mesutboztas.wordpress.com/

 

Dokümanı indirmek için tıklayınız.

 

Etiketler: ,

İş Akışlarında Güvenlik Anahtarları

Dynamics AX’ta Admin yetkisine sahip olunca, kullanıcı grubu bazında bazı yetki detaylarının farkında olamayabiliyorum. 🙂

Bir iş akışı konfigürasyonunun menü öğelerinin genel olarak güvenlik anahtarı olmaz. Fakat bu menü öğelerinin üst hiyerarşisi, sistemde bir güvenlik anahtarına sahiptir. Örneğin, siz kendi iş akış konfigürasyonunuz “Kabul et (Claim)” menü öğesine güvenlik anahtarı vermesenizde, bir üst hiyerarşide, tüm sistemdeki “Kabul et” menü öğelerini kapsayan bir menü öğesi ve bunun güvenlik anahtarı vardır.

İş akışlarına ait bu güvenlik anahtarlarını Yetki ağacında Temel (Basic) güvenlik anahtarı altındaki Sorgulamalar(BasicInquries) ve çeşitli(BasicMisc) alt güvenlik anahtarlarında bulunur. Aşağıdaki Listede bu menü öğeleri ve temel fonksiyon açıklamaları yer almaktadır.

 

Mesut BOZTAŞ

Dynamics AX ERP Danışmanı ve
İstanbul Ticaret Üni. Y.Lisans öğrencisi

İstanbul

http://www.etg-it.com

 

Etiketler: , ,

Rollup 6 ile gelen iş akışı düzeltmeleri

Bilindiği üzere Microsoft, Dynamics Ax 2009 ürünü için yakın zamanda bazı düzeltmeleri içeren Rollup 6 paketini yayımladı. Bu paketin içeriğine baktığımda, pakette worklfow ile ilgili dört tane düzeltmenin (hotfix) bulunduğu gördüm.

Düzeltemelerden ilki bir önceki yazımda bahsettiğim sorunla ilgili olanı. 2 ve 4. düzeltmelerle halihazırda karşılaşmadım ama 3. düzeltme şuan çok sık karşılaştığım bir durum. Eğer birden çok AOS kurulu bir yerde, iş akışları normal bir şekilde çalışıyor fakat son adımda “iş akışı örneği bulunamadı” hatası ile durduruldu durumuna düşmektedir. 3.düzeltme bu hataya bir çözüm getirmek üzere yayınlanmıştır.

Mesut BOZTAŞ
Dynamics AX ERP Danışmanı ve
İstanbul Ticaret Üni. Y.Lisans öğrencisi

İstanbul

http://www.etg-it.com

 

Etiketler:

 
%d blogcu bunu beğendi: