顧客企業から顧客担当者を作るときの住所引き継ぎについて

通勤中に春を感じました、エンジニアリングチームの川合(@Ricckn)です。

今年は暖冬と言われていますが、2月上旬の割には梅が開くのが早い気がしますね。ほぼ雪を見れていないのだけが残念ですが、早く暖かくなってほしいです(ただし花粉は除く)

住所に関する項目をカスタマイズする場合

F-RevoCRMに限らず、住所情報の項目を変更したくなるケースはよくあります。

例えば、基幹システムの項目分けにCRM側を合わせたいとか、Excelで管理しているシートと一致させたいとか、Webフォームに記載している項目と一致させたいとか・・・。
そうなると、F-RevoCRMの住所項目が「たまたま」一致しない限りはなかなか同じ項目、粒度で使い続けられないケースが有ります。

そしていざ項目を変えてしまうと、F-RevoCRMで自動でやってくれる「顧客企業から顧客担当者を作成するときの住所情報の引き継ぎ」のマッピングが狂って困ってしまいます。

このようなケースの対処法をご紹介できればと思います。

編集箇所の紹介

編集するファイルは各モジュールの Edit.js です。
例えば、顧客企業から、顧客担当者を登録するときに表示されるポップアップで、住所情報を引き継ぐ場合は layouts/vlayout/modules/Contacts/resources/Edit.jsを編集することになります。

開いていただくと、以下のようなコードがありますので、確認してください。

Vtiger_Edit_Js("Contacts_Edit_Js", {}, {

	//Will have the mapping of address fields based on the modules
	addressFieldsMapping: {
		'Accounts': {
			'mailingstreet': 'bill_street',
			'otherstreet': 'ship_street',
			'mailingpobox': 'bill_pobox',
			'otherpobox': 'ship_pobox',
			'mailingcity': 'bill_city',
			'othercity': 'ship_city',
			'mailingstate': 'bill_state',
			'otherstate': 'ship_state',
			'mailingzip': 'bill_code',
			'otherzip': 'ship_code',
			'mailingcountry': 'bill_country',
			'othercountry': 'ship_country'
		}
	},

この addressFieldMappingが住所情報を引き継ぐ際に関係する、fieldidとなります。

fieldidはMySQLのテーブル、vtiger_field内にありますので、確認してみてください。もしくはInputタグの中のname属性の値も参考になります。

ここでは、Contactから見て、Accountsのデータを引き継ぐ時のマッピングが記載されています。
このときの key側にはContactsのフィールドを、value側にはAccountsのフィールドを登録してください。

もしこの部分を深く追いたい場合は以下のコードも参照です。
※Edit.js内

/**
 * Function which will map the address details of the selected record
 */
mapAddressDetails: function (addressDetails, result, container) {
	for (var key in addressDetails) {
		if (container.find('[name="' + key + '"]').length == 0) {
			var create = container.append("<input type='hidden' name='" + key + "'>");
		}
		container.find('[name="' + key + '"]').val(result[addressDetails[key]]);
		container.find('[name="' + key + '"]').trigger('change');
	}
},

引き継がせたい項目を入れてしまうのも・・・!

住所項目の引き継ぎではあるものの、他にも引き継がせたいものがあれば、ポップアップの文言とともに修正することで同時に引き継がせることもできてしまいます。

この部分は機能を有効活用して、便利に使ってもらえればと思いますので参考になったのであれば幸いです。

今回はこれで終わりです。
また次回のエンジニアリングBlogもよろしくおねがいします!

ご質問・お問い合わせはこちら

メールフォームへ