Contacts · Accounts

Kişi kaydı bir firmaya bağlı açıldığında firmanın fatura adresini kişinin posta adresi (Mailing) alanlarına kopyalar; kişi kartında adres boş kalmaz, toplu posta ve fatura yazdırmada eksik adres çıkmaz.

Modül
Contacts · Accounts
Tetik
Workflow · On Create
Argüman
contactId = Contact Id
Uzunluk
98 satır Deluge
Güncelleme

Ne yapar

Kişinin Account_Name lookup'ından firmayı okur, Billing_* beşlisini kişinin Mailing_* alanlarına yazar. Adlar birebir değil: Billing_Code, Mailing_Zip alanına yazılır. Firma adresi tamamen boşsa dokunmaz.

Kurulum mantığı

  1. 01

    Workflow Rules altında modül Contacts, tetik On Create; kişi sonradan firmaya bağlanıyorsa On Edit + Account_Name koşulu da eklenir.

  2. 02

    Eylem Function, argüman contactId, Contact Id alanına eşlenir.

  3. 03

    Kişinin kendi adresi farklıysa (şubede çalışan gibi) tetik koşuluna "Mailing_Street boş" filtresi koyun; aksi halde girilmiş adres ezilir.

Alan eşlemesi

Koda yazılan alanlar ve kendi org'unuzda dikkat etmeniz gerekenler.

AlanDeğerNot
Billing_StreetMailing_Street
Billing_CityMailing_City
Billing_StateMailing_State
Billing_CodeMailing_ZipAd farklı; Contacts'ta Mailing_Code yoktur.
Billing_CountryMailing_Country

Deluge kodu

Kodu olduğu gibi kopyalayın; değiştirmeniz gereken yerler yukarıdaki tabloda işaretli. İzle düğmesi, fonksiyonu adım adım okutur.

void automation.copyAccountBillingAddressToContact(String contactId)
void automation.copyAccountBillingAddressToContact(String contactId)
{
try
{
	info "===== Contact Posta Adresi Kopyalama Başladı =====";
	info "Contact ID: " + contactId;

	if(contactId == null || contactId.trim() == "")
	{
		info "Contact ID boş.";
		return;
	}

	contactRecord = zoho.crm.getRecordById("Contacts",contactId.toLong());

	if(contactRecord == null || contactRecord.isEmpty())
	{
		info "Contact bulunamadı.";
		return;
	}

	accountLookup = contactRecord.get("Account_Name");

	if(accountLookup == null)
	{
		info "Contact'a bağlı firma yok.";
		return;
	}

	accountId = "";

	if(accountLookup.get("id") != null)
	{
		accountId = accountLookup.get("id").toString();
	}

	if(accountId == "")
	{
		info "Firma ID bulunamadı.";
		return;
	}

	accountRecord = zoho.crm.getRecordById("Accounts",accountId.toLong());

	if(accountRecord == null || accountRecord.isEmpty())
	{
		info "Firma bulunamadı.";
		return;
	}

	billingStreet = "";
	billingCity = "";
	billingState = "";
	billingCode = "";
	billingCountry = "";

	if(accountRecord.get("Billing_Street") != null)
	{
		billingStreet = accountRecord.get("Billing_Street").toString();
	}
	if(accountRecord.get("Billing_City") != null)
	{
		billingCity = accountRecord.get("Billing_City").toString();
	}
	if(accountRecord.get("Billing_State") != null)
	{
		billingState = accountRecord.get("Billing_State").toString();
	}
	if(accountRecord.get("Billing_Code") != null)
	{
		billingCode = accountRecord.get("Billing_Code").toString();
	}
	if(accountRecord.get("Billing_Country") != null)
	{
		billingCountry = accountRecord.get("Billing_Country").toString();
	}

	if(billingStreet == "" && billingCity == "" && billingState == "" && billingCode == "" && billingCountry == "")
	{
		info "Firma fatura adresi boş.";
		return;
	}

	updateMap = Map();
	updateMap.put("Mailing_Street",billingStreet);
	updateMap.put("Mailing_City",billingCity);
	updateMap.put("Mailing_State",billingState);
	updateMap.put("Mailing_Zip",billingCode);
	updateMap.put("Mailing_Country",billingCountry);

	updateResponse = zoho.crm.updateRecord("Contacts",contactId.toLong(),updateMap);
	info "Güncelleme sonucu: " + updateResponse;
}
catch (e)
{
	info "Hata: " + e.toString();
}
}
5 ADIMİzle düğmesi fonksiyonu adım adım aydınlatır.

Dikkat edilecekler

  • Mailing_Zip

    Contacts'ta posta kodu alanının API adı Mailing_Zip; Mailing_Code yazılırsa posta kodu kişiye aktarılmaz. Kod güncelleme yanıtını yalnız log'a yazdığı için fonksiyon log'una bakmadıkça bunu fark etmezsiniz.

  • Kişi adresi ezilir

    Kaynak boşsa hedef de boşalır; elle girilmiş adresleri korumak için tetik koşulu şart.

İlgili kayıtlar

  1. 04
    Contacts

    Mükerrer kişileri telefon ve e-postadan birleştir

    Aynı telefon ya da aynı e-postayla açılmış kişi kayıtlarını tek kayda indirir; lead sürümünün Contacts karşılığı, üstüne e-posta eşleşmesi ekler.

    Workflow · On Create · On Edit (onay kutusu)349 satır Deluge
  2. 09
    Contacts · Tasks

    Kişinin tüm açık görevlerini kapat

    Müşteri ilişkisi bittiğinde ya da süreç tamamlandığında kişi kaydındaki tüm açık görevleri tek seferde kapatır; Lead sürümünün Contacts modülü karşılığı.

    Workflow · Alan değişimi72 satır Deluge
  3. 10
    Contacts

    Kişi telefonlarını +90 biçimine getir

    Kişi kaydındaki Telefon ve Mobil alanlarında 05…, 5…, 90… ya da 0090… ile girilmiş numaraları +90… biçimine çevirir; WhatsApp, SMS ve santral entegrasyonları bu numaraları tek biçimde alır.

    Workflow · On Create / On Edit107 satır Deluge

30+

proje

%99

müşteri memnuniyeti

3 kanal

kurulum sonrası destek

İletişim

Mevcut sisteminiz, hedefiniz ve takviminize göre somut bir teklif ve canlı demo hazırlıyoruz. Sözleşme öncesi taahhüt yok.

Görüşme planla

Bilgileriniz KVKK Aydınlatma Metni kapsamında işlenir. 24 saat içinde dönüş yapıyoruz.