2017-04-25 2 views
0

ユーザがSCA Mont Blancのウェブサイトに登録すると、ユーザを作成する前に電子メールが一意であることを確認する必要があります。そこで、[email protected]/SuiteScript/Account.Model.jsファイルを編集して、新しいユーザーを登録する前に特定のメールアドレスを持つユーザーのCustomerテーブルを確認しました。SCA SuiteScript内からカスタマーテーブルにアクセス

問題がある:そのスクリプトは、役割Customer Centerの下で実行し、それがCustomerテーブルを照会/表示する権限がありません。だから私たちの小切手はスクリプトをクラッシュさせます。

ユーザー登録時にCustomerテーブルにアクセスするにはどうすればいいですか(具体的にはファイル[email protected]/SuiteScript/Account.Model.js)?役割は、/サービスファイルservices/Account.Register.Service.ssのパーミッションは、私が作成した新しい役割の下で実行する

  • 変更:私はかなりこだわっていて:(私が試してみました

    事をあなたが提供できるソリューション/アドバイスはありますWebstore Userと呼ば残念ながら、エラーを表示するには、ログインページを引き起こしている;。You do not have permission to view this pageたぶん私は右のファイルや設定を変更しなかった新しい役割が正しくCustomersためCustomer Centreプラスview許可のすべての権限を持っていた新しいロールを作成し

  • 。?しかし、上記と同じエラー。

[email protected]/SuiteScript/Account.Model.js 

... 

return SCModel.extend({ 

    name: 'Account' 

, register: function (user_data) 
    { 
     // Check if there is already a user/customer with this email address 
     // The below function will crash the script because 
     // the script cannot access the 'customer' table 
     var emailDulicates = nlapiSearchRecord('customer', null, 
      new nlobjSearchFilter('email', null, 'is', ''+user_data.email)); 

     if (emailDulicates && emailDulicates.length > 0) { 
      Application.sendError({"Email already taken."}); 
      return false; 
     } 

     ... continue on to register user 

    } 
}); 

答えて

1

私は何をしてコンパニオン.SSファイルを作成し、それに権限を与えるです。次に、nlapiRequestURLを使ってそれを呼び出し、データを取得します。これはスイートレットレットよりも少し便利です。すべてのファイルをまとめて扱いやすいURLを持っているからです。

このサーバー側をnlapiRequestURLと呼びます。 SuiteScript/Account/Model.jsまたはservices/Account.Register.Service.ssから

登録する前に電子メールの検証を行うこともできます。あなたはきれいな電子メール評価を得るまで登録ボタンを無効にします。

+0

アドバイスをいただきありがとうございます:)私はそれに行きます。あなたが 'nlapiRequestURL()'を呼び出すと、私はあなたが私の 'SuiteScript/Account.Model.js'の中でこのサーバー側と呼んでいると思いますか?あるいは、私はこのクライアント側を通常のサービス(すなわち、私のバックボーン・ビューまたはモデル)のように呼んでいますか? –

+0

あなたがSCAを経験したことがありますか?私は[ここ](http://stackoverflow.com/questions/43600707/sca-webstore-session-bugs)で説明したセッションのバグに出くわしましたか?それはSCAのことですか?そうでなければ、新しい/オーバーライドされたモジュールにいくつかのバグがあります。 –

関連する問題