esmDevelopers
JSプラグイン
esm API
JSプラグイン
esm API
  • ContactItem

ContactItem

ContactItem クラスは顧客コンタクト先や案件コンタクト先に対して操作を行うためのメンバーを持っています。

継承

SheetItem

インスタンスプロパティ

contactMasterChoices読み取り専用

コンタクト先マスタの配列です。

例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
  const contactItem = SheetSaveScreen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );
  //選択肢を確認
  console.log(contactItem.contactMasterChoices);
  // [{ selectName:"キーマン",value:1 },{ selectValue:"担当者",value:2 }]
});

motivationChoices読み取り専用

意欲マスタの配列です。

esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
  const contactItem = SheetSaveScreen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );
  //選択肢を確認
  console.log(contactItem.motivationChoices);
  // [{ selectName:"前向き",value:1 },{ selectValue:"後ろ向き",value:2 }]
});

positionChoices読み取り専用

立場マスタの配列です。

esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
  const contactItem = SheetSaveScreen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );
  //選択肢を確認
  console.log(contactItem.positionChoices);
  // [{ selectName:"推進者",value:1 },{ selectValue:"決裁者",value:2 }]
});

インスタンスメソッド

includesNonReferableEntity

コンタクトの名刺情報に閲覧権限がない名刺が紐づいているかどうかを判定します。

構文

includesNonReferableEntity();
引数

なし

返値

真偽値

例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
  const contactItem = SheetSaveScreen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );
  console.log(
    contactItem.getContacts().entities.map((contact) => contact.contactId)
  );
  // [1,2,3,4,null]

  const result = contactItem.includesNonReferableEntity();

  console.log("結果:", result); // 結果:true
});

getContacts

Contactsクラスのインスタンスを返します。

構文

getContacts();
引数

なし

返値

Contactsクラスのインスタンス。

例
esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
  const contactItem = SheetSaveScreen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );

  const contacts = getContacts();
});

onContactAdded

コンタクト先が追加された後に呼び出されるeventHookを登録します。

構文

onContactAdded(callback);
onContactAdded(callback, group);
引数

callback

コンタクトが追加されたタイミングで実行する関数です。

group

指定された値でeventHookをグルーピングします。
Listenable.unlistenGroupを利用して、ここで指定したgroupに属するeventHookを全て解除することができます。

返値

なし

例
esmJSPlugin.screen.sheetSave("customer").onEntered(function (screen) {
  const contactItem = screen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );

  const unlisten = contactItem.onContactAdded(function () {
    console.log("contactAdded");
    unlisten(); // 解除
  });
});

onContactRemoved

コンタクトが削除された後に呼び出されるeventHookを登録します。

構文

onContactRemoved(callback);
onContactRemoved(callback, group);
引数

callback

コンタクトが削除されたタイミングで実行する関数です。

group

指定された値でeventHookをグルーピングします。
Listenable.unlistenGroupを利用して、ここで指定したgroupに属するeventHookを全て解除することができます。

返値

なし

例
esmJSPlugin.screen.sheetSave("customer").onEntered(function (screen) {
  const contactItem = screen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );

  const unlisten = contactItem.onContactRemoved(function () {
    console.log("contactRemoved");
    unlisten(); // 解除
  });
});

onContactsUpdated

コンタクト先が更新された後に呼び出されるeventHookを登録します。

構文

onContactsUpdated(callback);
onContactsUpdated(callback, group);
引数

callback

コンタクトが更新されたタイミングで実行する関数です。

group

指定された値でeventHookをグルーピングします。
Listenable.unlistenGroupを利用して、ここで指定したgroupに属するeventHookを全て解除することができます。

返値

なし

例
esmJSPlugin.screen.sheetSave("customer").onEntered(function (screen) {
  const contactItem = screen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );

  // entitiesが初期化されたタイミングで関数を実行
  const unlisten = contactItem.onContactsUpdated(function () {
    console.log("contactsUpdated");
    unlisten(); // 解除
  });
});

setContactAdded

contactMasterId を指定してコンタクトを追加します。

構文

setContactAdded(contactMasterId);
引数

contactMasterId

contactMasterChoicesに value に対応する数値です。 指定しない場合、未設定に登録されます。

返値

なし

例
esmJSPlugin.screen.sheetSave("customer").onSheetItemsMounted(function (screen) {
  const contactItem = SheetSaveScreen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );

  console.log(contactItem.getContacts().entities);
  // [Contact,Contact,Contact]

  contactItem.setContactAdded(1);

  console.log(contactItem.getContacts().entities);
  // [Contact,Contact,Contact,Contact]
});

getContactRemoved

contactMasterId を指定してコンタクトを削除します。

構文

getContactRemoved(contactMasterId);
引数

contactMasterId

contactMasterChoicesに value に対応する数値です。 指定しない場合、未設定に登録されます。

返値

なし

例
esmJSPlugin.screen.sheetSave("customer").onSheetItemsMounted(function (screen) {
  const contactItem = SheetSaveScreen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );

  console.log(contactItem.getContacts().entities);
  // [Contact,Contact,Contact]

  contactItem.getContactRemoved(1);

  console.log(contactItem.getContacts().entities);
  // [Contact,Contact]
});

setContactRemovedByIndex

Index で指定したコンタクトを削除します。

構文

setContactRemovedByIndex(contactMasterId);
引数

Index 何行目かのコンタクトかを示す数値

返値

なし

例
esmJSPlugin.screen.sheetSave("customer").onSheetItemsMounted(function (screen) {
  const contactItem = SheetSaveScreen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );

  console.log(contactItem.getContacts().entities);
  // [Contact,Contact,Contact]

  contactItem.setContactRemovedByIndex(1);

  console.log(contactItem.getContacts().entities);
  // [Contact,Contact]
});

setContactMaster

コンタクト先マスタを変更します。

構文

setContactMaster(contactMasterId);
引数

contactMasterId

contactMasterChoicesの value に対応する ID です。

返値

なし

例

esmJSPlugin.sheetSave("customer").onSheetItemsMounted((SheetSaveScreen) => {
  const contactItem = SheetSaveScreen.getSheetItem(
    "customers.customer.relational_business_card_info"
  );

  //選択肢を確認
  console.log(contactItem.contactMasterChoices);
  // [{ selectName:"キーマン",value:1 },{ selectValue:"担当者",value:2 }]

  console.log(contactItem.contactMaster); //1

  contactItem.setContactMaster(2);

  console.log(contactItem.contactMaster); //2
});

関連情報

  • Contact
  • Contacts
  • Target