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ığı
- 01
Workflow Rules altında modül Contacts, tetik On Create; kişi sonradan firmaya bağlanıyorsa On Edit +
Account_Namekoşulu da eklenir. - 02
Eylem Function, argüman
contactId, Contact Id alanına eşlenir. - 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.
| Alan | Değer | Not |
|---|---|---|
| Billing_Street | Mailing_Street | |
| Billing_City | Mailing_City | |
| Billing_State | Mailing_State | |
| Billing_Code | Mailing_Zip | Ad farklı; Contacts'ta Mailing_Code yoktur. |
| Billing_Country | Mailing_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)
{
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();
}
}Dikkat edilecekler
- Mailing_Zip
Contacts'ta posta kodu alanının API adı
Mailing_Zip;Mailing_Codeyazı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
- 04Contacts
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.
- 09Contacts · 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ığı.
- 10Contacts
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.