Quotes

Teklifin fatura adresini teslimat adresine kopyalar. Fatura adresi tamamen boşsa dokunmaz; dolu teslimat adresini korumaz, üstüne yazar.

Modül
Quotes
Tetik
Workflow · On Create / On Edit
Argüman
quoteId = Quote Id
Uzunluk
69 satır Deluge
Güncelleme

Ne yapar

Teklifin Billing_* beşlisini okur, Shipping_* beşlisine yazar. Fatura adresi tamamen boşsa dokunmaz. Kısmen doluysa beş alanın beşini de yazar; faturada boş olan alanlar teslimata boş değer olarak gider ve teslimattaki karşılıkları boşalır. Teslimat alanlarının dolu olup olmadığına bakmaz; her tetiklemede fatura adresini teslimata basar.

Kurulum mantığı

  1. 01

    Workflow Rules altında modül Quotes, tetik On Create. Fatura adresi sonradan giriliyorsa On Edit + Billing_Street alanı koşulu.

  2. 02

    Eylem Function, argüman quoteId, Quote Id alanına eşlenir.

  3. 03

    Teslimat adresi farklı olabilen teklifler için (depoya sevk gibi) tetik koşuluna Shipping_Street boş filtresi koyun; aksi halde elle girilen teslimat adresi ezilir.

Alan eşlemesi

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

AlanDeğerNot
Billing_StreetShipping_Street
Billing_CityShipping_City
Billing_StateShipping_State
Billing_CodeShipping_Code
Billing_CountryShipping_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.copyQuoteBillingAddressToShipping(String quoteId)
void automation.copyQuoteBillingAddressToShipping(String quoteId)
{
try
{
	info "===== Quote Teslimat Adresi Kopyalama Başladı =====";
	info "Quote ID: " + quoteId;

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

	quoteRecord = zoho.crm.getRecordById("Quotes",quoteId.toLong());

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

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

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

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

	updateMap = Map();
	updateMap.put("Shipping_Street",billingStreet);
	updateMap.put("Shipping_City",billingCity);
	updateMap.put("Shipping_State",billingState);
	updateMap.put("Shipping_Code",billingCode);
	updateMap.put("Shipping_Country",billingCountry);

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

Dikkat edilecekler

  • Teslimat ezilir

    Fonksiyon teslimat alanlarını kontrol etmez; koşulsuz On Edit'e bağlanırsa her fatura değişikliği teslimatı ezer. Filtreyi workflow tarafında kurun.

  • Aynı modül içi kopya

    copyAccountBillingAddressToQuote ile birlikte kullanılabilir: önce firmadan faturaya, sonra faturadan teslimata. İki fonksiyonu aynı On Create kuralına bağlamak sırayı garanti etmez; teslimat fonksiyonu fatura adresi yazılmadan önce çalışırsa kopya yapmaz. Firma fonksiyonunun güncellemesi workflow tetiklemediği için teslimat kopyasını ayrı bir On Edit kuralına bağlamak da zinciri kurmaz. Sıranın kesin olması gerekiyorsa iki adımı tek fonksiyonda art arda çalıştırın.

İlgili kayıtlar

  1. 02
    Quotes

    Teklif başlığını müşteri ve üründen üret

    Teklif başlığını "Ahmet Yılmaz - FUE Standart" biçiminde otomatik yazar; teklif listesi, PDF adı ve e-posta konusu kim için hangi ürün olduğunu ilk bakışta söyler.

    Workflow · On Create / On Edit111 satır Deluge
  2. 12
    Quotes · Accounts

    Firma fatura adresini teklife aktar

    Teklif açıldığında bağlı firmanın fatura adresini teklifin Billing alanlarına kopyalar; teklif PDF'inde adres eksik çıkmaz, temsilci beş alanı elle doldurmaz.

    Workflow · On Create98 satır Deluge
  3. 03
    Leads

    Mükerrer lead'leri telefondan birleştir

    Aynı telefon numarasıyla ikinci kez gelen lead'leri elle karşılaştırmadan tek kayda indirir; reklam formu, WhatsApp ve web sitesinden ayrı ayrı gelen kayıtlar tek lead'de toplanır.

    Workflow · On Create · On Edit (onay kutusu)300 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.