SugarCRMのQuoteNumberフィールドは自動インクリメントフィールドです(インクリメントはSugarCRM自体ではなく、データベースで行われます)。また、unique
制約付きのフィールドにインデックスがあります。
このため、フィールドを単純にリセットすることはできません。見積もり番号は一意である必要があり、自動インクリメントする必要があります。
SugarCRMにリセット可能な見積もり番号フィールドを設定するには、特別なロジックを使用して新しいフィールドを作成するか、デフォルトの見積もり番号フィールドまたは新しいが同等のフィールドの動作をカスタマイズするSugarCRMパッケージを作成する必要があります。連結関数のQuoteNumberフィールドを使用して他のすべてを更新し、新しいフィールドを使用します。
ほとんどの作業が必要になりますが、これが最善の方法です。これは、SugarCRM On Demandを独自のサーバーでホストするのではなく、使用している場合に必要なことを実現するための最良の方法でもあります。そして、これを行うための唯一のアップグレードの安全な方法です。これを可能にするパッケージがすでに存在する可能性があるため、 SugarExchangeをチェックする必要があります。
または、Quotesデータベーステーブルvardefsを変更unique
し、インデックスの制約を削除してquote_num
から、データベーステーブルの自動増分値をリセットして、任意の数からカウントを開始する必要があります。
これを行うには、推奨されていませんが( SugarCRMの将来の更新との互換性が失われ、Quote Numberフィールドのこの特定の動作に依存するものに対して意図しない副作用が発生する可能性があるため)、変更するには、以下の手順に従います。
これは、SugarCRMのインスタンスをSugarCRM On Demandではなく独自のサーバーでホストしており、MySQLを使用していることを前提としています。最終的に見積もり番号をリセット可能にする方法もいくつかあります。これはそのうちの1つにすぎません-最高ではないかもしれません。
データベースとSugarCRMインスタンスのバックアップを作成します。もちろん、これらのバックアップは何があっても定期的に実行する必要があります。
編集して、インデックスの制約{SugarCRM root}/modules/Quotes/vardefs.php
を削除します。これは、ファイルの下部にある配列の要素にあります。unique
quote_num
indices
$dictionary['Quote']
前:
array('name' =>'quote_num', 'type'=>'unique', 'fields'=>array('quote_num', 'system_id'))
後:
array('name' =>'quote_num', 'type'=>'index', 'fields'=>array('quote_num', 'system_id'))
クイック修復と再構築を実行します。これを行うには、SugarCRM管理ページに移動し、[修復]、[クイック修復と再構築]の順にクリックします。最初のパスが終了すると、ページの下部にSQLステートメントが1つまたは2つ含まれているテキストボックスが表示されます。「実行」ボタンをクリックすると、Quotesvardefsインデックスエントリに加えた更新が適用されます。
quotes
テーブルの自動増分値をリセットします。データベースがMySQLの場合、次を実行することでこれを行うことができます:( ALTER TABLE quotes AUTO_INCREMENT=1
今後1からカウントを開始したい場合)。
これらの手順が完了すると、見積もり番号は再び1(またはステートメントで指定した番号ALTER TABLE
)から始まり、ステートメントを再実行することで、後で番号をリセットできるようになりますALTER TABLE
。