ユーザが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
}
});
アドバイスをいただきありがとうございます:)私はそれに行きます。あなたが 'nlapiRequestURL()'を呼び出すと、私はあなたが私の 'SuiteScript/Account.Model.js'の中でこのサーバー側と呼んでいると思いますか?あるいは、私はこのクライアント側を通常のサービス(すなわち、私のバックボーン・ビューまたはモデル)のように呼んでいますか? –
あなたがSCAを経験したことがありますか?私は[ここ](http://stackoverflow.com/questions/43600707/sca-webstore-session-bugs)で説明したセッションのバグに出くわしましたか?それはSCAのことですか?そうでなければ、新しい/オーバーライドされたモジュールにいくつかのバグがあります。 –