0

私は見積もり番号フィールドを持っているので、PDF番号を印刷するときはフォーマット55-JD-2012, 56-JD-2012,57-JD-2012などです。したがって、55、56、57は自動的に生成される見積もり番号です。見積もり番号の値であるこの最初の値をリセットすることに興味があり、それはもちろんからのフィールドですモジュールを引用します。今年はそれをリセットしたいので、PDF を印刷するときにこれを出力として取得できるようにします55- JD -2013, 56 -JD -2013。現時点では、現在 500 を超える最後の見積もり番号よりも 1 大きい出力番号を取得しています。

どのファイルまたはどこでこのカウンターをリセットするのですか?

4

1 に答える 1

1

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つにすぎません-最高ではないかもしれません。

  1. データベースとSugarCRMインスタンスのバックアップを作成します。もちろん、これらのバックアップは何があっても定期的に実行する必要があります。

  2. 編集して、インデックスの制約{SugarCRM root}/modules/Quotes/vardefs.phpを削除します。これは、ファイルの下部にある配列の要素にあります。uniquequote_numindices$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'))

  3. クイック修復と再構築を実行します。これを行うには、SugarCRM管理ページに移動し、[修復]、[クイック修復と再構築]の順にクリックします。最初のパスが終了すると、ページの下部にSQLステートメントが1つまたは2つ含まれているテキストボックスが表示されます。「実行」ボタンをクリックすると、Quotesvardefsインデックスエントリに加えた更新が適用されます。

  4. quotesテーブルの自動増分値をリセットします。データベースがMySQLの場合、次を実行することでこれを行うことができます:( ALTER TABLE quotes AUTO_INCREMENT=1今後1からカウントを開始したい場合)。

これらの手順が完了すると、見積もり番号は再び1(またはステートメントで指定した番号ALTER TABLE)から始まり、ステートメントを再実行することで、後で番号をリセットできるようになりますALTER TABLE

于 2013-03-06T00:57:27.130 に答える