- 🦉
Paperwork 5.0
- PaperWork BPM & ECM
- İşlerim
- Belgeler
- İşlemler
- Sistem Raporları
- Tanımlamalar
- Kullanıcılar
- Doküman Yönetimi
- İş Zekası
- Süreç Yönetimi
- Süreç Taslakları
- Süreç Taslakları
- Süreç Tasarımı
- Süreç Tasarımı Hataları
- Akış Oluşturma
- Süreç Tasarımı Genel
- Aktiviteler
- Aktiviteler
- Aktivite - Performax
- Aktivite - Başla
- Aktivite - Bitiş
- Aktivite - Süreli Başlangıç
- Aktivite - Süreli Bitiş
- Aktivite - Manuel Adım
- Aktivite - Otomatik Adım
- Aktivite - Elektronik Posta
- Aktivite - Dağıtım
- Aktivite - Roller
- Aktivite - Grup
- Aktivite - Karar
- Aktivite - Alt Akış
- Aktivite - Birleşim
- Aktivite - KPI Başlangıç
- Aktivite - KPI Bitiş
- Aktivite - Bilgilendirme Bitiş
- Aktivite - Makro
- Aktivite - Kural
- Aktivite - Öncelik
- Aktivite - Yetkilendirme
- Aktivite - Web Servis
- Aktivite - Bekleme
- Aktivite - Doküman Yarat
- Aktivite - Dosya Kartı Yarat
- Aktivite - SAP Modülü
- Aktivite - Logo Modülü
- Aktivite - Robusta Modülü
- KPI Ölçümü Nasıl Yapılır?
- Süreçlerde Öncelik Nasıl Belirlenmeli?
- Aktivite Görünümleri
- Aktivitelerin Genel Özellikleri
- FlowData Nesnesi
- KEP Tanımları
- Organizasyon Şeması
- Takvim Tanımları
- Kural Motoru
- Hata Takibi
- Süreç Taslakları
- Sistem
- Tedarikçi Yönetimi
- Elektronik Form Tasarımı
- Outlook
- Logo
- SAP Ürünleri
- Mobil
- Robusta RPA
- Eğitimler ve Planlar
- Görüntüleyici ve Editör
- MFA ve SMS
- Sistem Yönetimi
- Geçerli SSL Sertifikası Bulunmamasının Yan Etkileri
- Sistem Yönetimi
- Azure Login
- OKTA Mimarisi
- Tam Metin Arama Hataları
- Tarihçe Dosyaları
- Genel Teknik Mimari
- Yedekleme
- Servis Yönetimi
- DBPlugin
- UserPlugin
- FilePlugIn
- Performans Yönetimi
- Kullanıcı Senkronizasyonu
- Elektronik Posta Gönderim Hataları
- Veri Tabanı
- Organizasyon Şeması Senkronizasyonu
- SSL Sertifikası Güncelleme
- Lisanslar ve Açıklamaları
- PaperWork Tray
- KEP ve Elektronik İmza
- ISDD ™
- Nasıl Yaparım?
- Nasıl Yaparım - Genel
- Makrolar
- Makro Adımında Belge Kısayolu Oluşturma
- Makroda Sistemde Tanımlı Rapor Kaynağı Kullanımı
- Makro Aktivitesinde nasıl vekalet verebilirim?
- Makro Aktivitesinde Yetki Setine Kullanıcı ve Kullanıcı Grubu Ekleme
- Makro Aktivitesinde Hata Mekanizmasının kurgulanması
- Makro Aktivitesinde sayaç nasıl kullanabilirim
- Makro Aktivitesinde Akış Ekindeki Dosya Kartı Belgelerini Kabinete Taşıma
- Makro Aktivitesinde Belge Taslağı ile Doküman Nasıl Oluşturulur
- Makro Aktivitesinde Akışın Adını Nasıl Değiştiririm
- Makro adımında akış ekindeki belgeler ile birlikte e-posta gönderimi
- Makro Aktivitesinde PDF çevrimi nasıl yaparım?
- Makro Aktivitesinde Akış Eklentisindeki tip alanlarını nasıl güncellerim?
- Makro Aktivitesinde Akış Eklentisinin adını nasıl değiştirebilirim?
- Makro Aktivitesinde Web Servis Kullanımı
- Makroda Kullanıcıları Gruba Ekleme Çıkarma
- Makroda SAP modülüne Parametre Olarak Tablo Ekleme
- Makro ile Akışın Ekindeki Belgelerin Byte Arrayları Nasıl Oluşturulur?
- Makroda Kural Motoru Kullanımı
- Load User Fonksiyonunun Makroda Kullanımı
- Makro ile Kullanıcı Grubu Oluşturma
- Elektronik Formlar
- Veri Tablosunda Belli Bir Satırı Veritabanından Gelen Veri ile Güncellemek
- PwForm.getPL
- Form Bileşenleri 1022
- Form Bileşenleri 1021
- Form Bileşenleri 1020
- Arşiv Formunda Dosya Kartı bilgisinin alınması
- Form Bileşenleri - XI Listeler
- Form Bileşenleri X - Mesajlar
- Form Bileşenleri - I
- Form Bileşenleri - II
- Form Bileşenleri - III
- Form Bileşenleri - IV
- Form Bileşenleri - V
- Form Bileşenleri VI - Dialoglar
- Form Bileşenleri VII - Sekmeler
- Form Bileşenleri VII - SAP
- Form Bileşenleri VIII - DB
- Form Bileşenleri IX - Belge Sayısı
- Form Bileşenleri XIII - PwForm Nesnesi
- Form Bileşenleri XIV - Tip Alanları
- Form Bileşenleri - XVI
- Form Bileşenleri XV - Akış Değişkenleri
- Elektronik Formlarda SAP modülüne Parametre Olarak Tablo Ekleme
- Form Bileşenleri - XVII
- Form Üzerinde Veri Doğrulama İşlemi
- Form Bileşenleri - XII
- Form Bileşenleri - XVIII
- Form Bileşenleri - XIX
- Para Birimi Atama
- Organizasyon Şemasından Bilgi Alma
- Metodlar
- Metot ile tüm kullanıcılara rapor postası gönderimi
- WorkingMinutes
- NextWorkingDay
- Metot İle Belge Üzerinde Sohbet Başlatma
- Productivity Layer CreateWorkInfo
- Metot ile Merkez Bankasından Kur Bilgilerini Güncelleme
- Metod İle Kullanıcıları Gruba Ekleme Çıkarma
- Nasıl Yaparım - Metodlar
- Metodlarda Diskten Dosya Kartındaki Klasöre Belge Aktarımı Nasıl Yapılır?
- Kabinetteki Elemanlara Erişme
- Load User Fonksiyonunun Metotta Kullanımı
- Metot içerisinde Kural Motoru Kullanımı
- Video Sayfaları
- WEB Servisi Çağrıları
- Süreçler
- PerforMax
- Arama
- Mobil
- Taslak Akışlar
- Tip Tanımları
- Raporlar
- SEDA™
- Sohbet Mimarisi
- Tedarikçi Yönetimi
- 💻 Paperwork SDK
- 🦉
Paperwork 5X
- Paperwork Index
- Paperwork
- İşlerim Ekranı
- Belgeler Ekranı
- Veri Yönetimi
- Raporlar
- İşlemler
- Sistem Raporları
- Tanımlamalar
- Kullanıcı Yönetimi
- Doküman Yönetimi
- İş Zekası
- Süreç Yönetimi
- Süreç Taslakları
- Süreç Aktiviteleri
- 31-Veri Eşleme
- 30-Sayaç
- 10-Karar
- 00-Aktivite Listesi
- 01-Başla
- 02-Bitiş
- 03-Süreli Başlangıç
- 04-Süreli Bitiş
- 05-Manuel Adım
- 06-Otomatik Adım
- 07-Elektronik Posta
- 08-Roller
- 09-Grup
- 11-Alt Akış
- 6.0-Alt Akış
- 12-Birleşim
- 13-Dağıtım
- 14-KPI Başlangıç
- 15-KPI Bitiş
- 16-Bilgilendirme Bitiş
- 17-Makro
- 18-Kural
- 19-Öncelik
- 20-Yetkilendirme
- 21-Web Servis
- 22-Bekleme
- 23-Doküman Yarat
- 24-Dosya Kartı Yarat
- 25-SAP
- 26-Logo
- 27-Robusta
- 28-AI
- 29-Performax
- 99-Ortak Özellikler
- KEP Tanımları
- Organizasyon Şemaları
- Takvim Tanımları
- Kural Motoru
- Sistem
- Tedarikçi Yönetimi
- Outlook
- Mobil
- Entegrasyon
- Eğitimler ve Planlar
- Görüntüleyici
- Editör
- Elektronik Formlar
- Kod Editörü
- Form Bileşenleri
- Form Oluşturma
- Form Olayları
- Form Sihirbazı
- Lokalizasyon
- Paylaşılan Kodlar
- Tip Bazında Ortak Kodlar
- Önizleme
- Form Hata Ayıklama
- Kod Editörü ve Intellisense
- Bileşen Ortak Özellikleri
- Form Bileşen Listesi
- 33-Video
- 32-Dosya
- 31-Fotoğraf
- 30-Ses
- 29-QR Kod Okuyucu
- 28-IBAN
- 27-TCKN
- 26-E Posta
- 25-Çoklu Seçim Listesi
- Tüm Bileşen Listesi
- 01-Yazı
- 02-Serbest Yazı
- 03-Sayı
- 04-Telefon
- 05-Gerçek Sayı
- 06-Tarih
- 07-Saat
- 08-Tarih/Saat
- 09-Para
- 10-Onay Kutusu
- 11-Seçim Düğmesi
- 12-Liste
- 13-Gelişmiş Veri Tablosu
- 14-Tuş
- 15-İmaj
- 16-HTML
- 17-Logo Konnektörü
- 18-SAP Konnektörü
- 19-Kolonlar
- 20-Panel
- 21-Tablo
- 22-Sekme
- 23-Açılır Pencere
- 24-Hesap Tablosu
- Tipler (Type Definitions)
- Sistem Yönetimi
- Geçerli SSL Sertifikası Bulunmamasının Yan Etkileri
- Sistem Yönetimi
- Genel Teknik Mimari
- Tam Metin Arama Hataları
- Tek Oturum Açma (SSO Mimarisi)
- Tarihçe Dosyaları
- Yedekleme
- Servis Yönetimi
- DBPlugin
- UserPlugin
- FilePlugIn
- Performans Yönetimi
- Kullanıcı Senkronizasyonu
- Elektronik Posta Gönderim Hataları
- Veri Tabanı
- Organizasyon Şeması Senkronizasyonu
- SSL Sertifikası Güncelleme
- Lisanslar ve Açıklamaları
- MFA
- SMS
- SMS PlugIn
- PaperWork Tray
- KEP
- Elektronik İmza
- ISDD
- SEDA ™
- Tedarikçi Modülü
- Kullanıcı Ayarları
- Arama
- Sohbet Mimarisi
- Nasıl Yaparım
- Eğitim Videoları
- Taslak Akışlar
- 11 Mar 2025
- 1 Minute to read
- DarkLight
Makro Aktivitesinde Akış Ekindeki Dosya Kartı Belgelerini Kabinete Taşıma
- Updated on 11 Mar 2025
- 1 Minute to read
- DarkLight
Makro aktivitesinde akış ekinde bulunan dosya kartı kaydına bağlı klasörlerin ve bu klasörler içindeki belgelerin Müşteri Kodu değerine göre belirlenen kabinet altında müşteri kodunun 2 basamaklı değerine göre alt klasörlerin oluşturulması ve en son klasörün müşteri kodunun tamamıyla oluşturulan bir klasör içerisinde belgelerin dosya kartında bulundukları klasörlerle beraber taşıması işlemini gerçekleştirilecek kod örneği aşağıda paylaşılacaktır.
Senaryomuz gereği Müşteri kodumuz 0654321 olsun.
Dosya Kartında bu müşteri numarasına ait iki adet belge olsun. Dosya Kartında birinci belge Resmi Belgeler isimli klasörde diğeri de Yazışmalar isimli klasör içinde bulunsun.
Hedef Kabinet ismi "Müşteri" olarak belirlendi.
Makro çalıştığında belgeler Müşteri Kabineti içerisinde aşağıdaki gibi görülecektir.
Bu işlemi gerçekleştiren kod aşağıdaki gibidir.
try
{
Log(string.Format("Belgelerin kabinetlere dağılması makrosu başladı.workflowId : {0} , attachment Id : {1} ",WorkflowId,AttachmentId));
LoadObject();
LoadAttachment();
Log("Kart getiriliyor.");
Log("object ıd : " + (string)AttachmentData.getAttribute("OBJECT_ID"));
a_Card card2 = Server.productivity.rCard.GetCard(new ObjectID((string)AttachmentData.Get("OBJECT_ID")), true);
Log("1");
ObjectID obid;
Log("object id : " + (string)AttachmentData.getAttribute("OBJECT_ID"));
string targetPath = string.Empty;
string customerID = string.Empty;
Log("Kart bilgileri alınıyor.");
foreach (a_SeperatorInfo item in card2.CardSeperator.Seperators)
{
Log("Seperatör bilgileri yükleniyor.");
Log("İşlem yapılan seperatör:" +item.SeperatorName);
obid = item.SeperatorId;
Log("Kart oluştu, object Id : "+ obid.ToString());
a_NavigationInfo getFolderFile =Server.productivity.rNavigation.GetFolderFiles(string.Empty, obid, true,2,1,
string.Empty,string.Empty,string.Empty,string.Empty,
string.Empty,string.Empty);
foreach (PW_SYSOBJECT obj in getFolderFile.folderObjects)
{
ObjectID fileObjectId = new ObjectID(obj.OBJECT_ID);
customerID = ((string)AttachmentData.getAttribute("MUSTERI_KODU")).PadLeft(7,"0"[0]);
Log("İşlem yapılan belge: {0}"+ obj.OBJECT_NAME);
Log("Taşınan belgenin nesne numarası "+ fileObjectId);
StringBuilder sb = new StringBuilder(@"Kabinetler\Müşteri");
string strA = customerID;
string[] split = new string[strA.Length / 2 + (strA.Length % 2 == 0 ? 0 : 1)];
for (int i = 0; i < split.Length - 1; i++)
{
sb.Append("\\");
sb.Append(strA.Substring(i * 2, i * 2 + 2 > strA.Length ? 1 : 2));
}
sb.Append("\\");
sb.Append(customerID);
string targetPath2 = string.Format(sb.ToString() + "\\Müşteri Resmi Evrakları\\{0}",item.SeperatorName);
Log("Hedef kabinet:"+targetPath2);
a_PathInfo pi1 = Server.productivity.rNavigation.CreateFolderByPath(targetPath2, new ObjectID((string)AttachmentData.getAttribute("ACL_ID")), false);
if (pi1.ErrorCode != 0) throw new Exception(string.Format("Kabinet yolu yaratılamadı!"));
ObjectID targetFolderId = new ObjectID(pi1.ObjectList[pi1.ObjectList.Count - 1]);
ObjectID currentFolderId = new ObjectID(obj.OBJECT_ID);
Server.productivity.rNavigation.MoveObject(fileObjectId, targetFolderId, 1);
}
}
SaveObject();
}
catch(Exception ex)
{
Log("Hata:"+ex.Message+ "-" + WorkflowId);
var hata = string.Empty;
hata=ex.Message;
if(hata=="Object reference not set to an instance of an object."){
FormData.Set("MAKRO_HATASI",hata + "-" + WorkflowId + " Nolu Akış Ekinde Dosya Kartı Bulunamadı!...");
FormData.Set("MAKRO_DURUMU","Hata");
}
else
{
FormData.Set("MAKRO_HATASI",hata);
FormData.Set("MAKRO_DURUMU","Hata");
}
SaveObject();
return true;
}
Related articles