コンピュータ ウィンドウズ インターネット

エラー: 「構成構造の整合性が侵害されました。」 「構成構造の整合性が侵害されています」エラーが発生した場合のサーバーベースの解決策 バックアップファイルの復元

通常、このエラーは、構成保存プロセス中に障害が発生した場合に発生します。 その結果、構成は正しく保存されませんでした。

1. テストと修正または ChDBFl.exe を通じて確認してみます。
2. 問題に対する次の解決策を確認してください。

場合によっては、CACHE を完全にクリアすると、C:\Users\Administrator\AppData\Roaming\1C\1Cv82 および C:\Users\Administrator\AppData\Local\1C\1Cv82 (Win7x64) が存在します。

または詳細:
1. 同じバージョンのクリーンな構成が必要です - 動作しています。
2. キャッシュを完全にクリアします (上記)。
3. クリーンなデータベースをコンフィギュレータ モードで起動し、設定を開きます。 同時に、1C は C:\Users\Administrator\AppData\Local\1C\1Cv82 にキャッシュを作成します (構成 ID を持つフォルダー内のファイルとフォルダーのセット)。C:\Users にもキャッシュが必要です。 \Administrator\AppData\Roaming\1C \1Cv82。 1Cを閉じた後、フォルダーデータの名前を変更するだけで済みます。
4. 動作していないデータベースをコンフィギュレータ モードで起動し、キャッシュを確認します。 その結果、構成 ID (Alive と Dead) を持つ 2 つのフォルダーができました。
5. すべてを閉じて、死んだ conf のキャッシュを生きているものと完全に置き換えます。 それらの。 現在のフォルダーを削除し、以前に名前を変更したフォルダーに置き換えます。
6. 動作していないデータベースを構成モードで起動します。これが最初の成功です。構成ツリーが開き、構成管理メニューのセクションがアクティブになります。
7. サポート管理に移動し、サポートを完全に削除します。 保存、更新。 作業中のデータベース構成を含むファイルを介して更新できます。
8. キャッシュを完全に削除します。
9. 動作していないデータベースを構成モードで起動し、構成を開こうとします。すべてが開き、エラーはありません。
10. 1C を起動します。 すべてが利用可能です。 データは所定の場所にあります。

中央データベースの構成を動的に更新し、周辺データベースで交換を行ったときにも同じメッセージが表示され、周辺データベースでも同様のメッセージが表示されました。
1. なぜなら 周辺機器のコンフィギュレータにまったくアクセスできなかったため、フォルダー C:\Documents and Settings\Admin\Application Data\1C\1Cv81 を削除する必要がありました。
2. コンフィギュレータに移動し、[構成] - [データベース構成] - [データベース構成に戻る] を選択します。
3. MainNode は未定義に設定されます。
4. 構成 - ファイルから構成をロードします (中央構成)。
5. MainNode には必要なものがインストールされています。

私も同様の状況を経験しましたが、8.1 でした。 構成の動的更新中に、明らかに障害が発生しました。その後、メイン構成とデータベース構成の両方をアンロードしようとし、さらにファイルをローカルデータベースにアップロードしようとすると、「構成構造の整合性」というエラーが発生しました。違反されました。」 しかし、データベースは機能しています。 テストと修正も ChDBFl.exe も何も得られませんでした。

作業中のデータベースのバックアップを作成し、それをクリーンなデータベースにロードしました。 交換プランを追加しました
http://kb.mista.ru/article.php?id=7
そして初期イメージを作成しました。 画像データベースの構成が修正されました。

それが役に立たない場合は、私が自分自身に頼ろうと思っていた選択肢を勧めることができます。
1. 最も近い構成リリースを見つけて、それをクリーンなデータベース (回復可能) にロードします。
2. 完全にクリーンなデータベースを作成します (中間)
3. 破損したデータベースのコンフィギュレータを開きます。
4. 前回のリリース以降に変更が発生したモジュールとオブジェクトをコピーして貼り付けます(私の場合、変更はモジュールとフォームでのみ発生し、データ構造は同じままで、すべての変更はポスターによって文書化されるため、はるかに簡単です)。破損したデータベースを中間データベースにコピーします。
5. 中間構成をアップロードします。
6. それを復元中のデータベースとマージします。
7. 復元された構成をファイルにアップロードします。
8. 復元中の構成から破損したデータベースに構成をロードします。

理論的には、結果は作業ベースに可能な限り近いものになるはずですが、作業は確かに簡単ではありません。 しかし、基地全体を失うよりはまだマシです。


ベンダー構成の破損に関連する問題を解決するためのもう 1 つのオプション。 編集機能がサポートされている構成を更新し、ベンダー構成の整合性が損なわれると、次のメッセージが表示される場合があります。

私の解決策は、データベースプロバイダーの構成を置き換えることです。
一連のアクションは次のとおりです。
1. ベンダー構成をサポートから削除して削除します ([構成] -> [サポート] -> [サポート設定] -> [サポートの削除])。
2. 構成配信ファイルを作成します (「構成」->「構成配信」->「配信ファイルと構成更新の作成」)。 ファイルを作業配信 file.cf と名付けましょう。
3. 設定を新しく作成した配信ファイルと結合します (「設定」->「比較」、ファイルの設定とマージします)。 構成をサポートに戻すように求められます。
表示される構成比較ウィンドウで「実行」をクリックします。
4. データベース構成を更新します (「構成」->「データベース構成の更新」)。
理想的には、これらの手順を実行することで、サプライヤー構成を再構築しました。
ここで、いつものように構成を次のバージョンに更新してみることができます。

「構成構造の整合性が侵害されています」というエラーを解決するための多くのオプションのうちの 1 つ。
このエラーが発生した場合は、必ず 1C 専門家に連絡してください。 考えられる解決策はたくさんありますが、状況や問題の原因によって解決策はまったく異なります。

これらの状況の 1 つを皆さんにお知らせします。
タスクの説明:
構成の更新は自動的に行われました。 1C コンフィギュレーター モードを開始すると、「構成構造の整合性が侵害されました。」というメッセージが表示されます。 自動更新中に、ベンダー構成を正しく更新できませんでした。 ユーザー モードで実行すると、構成内のモジュールを参照するエラーが発生します。
まず、キャッシュをクリアする必要があります。 Windows 7 OS では、C:\Users\Administrator\AppData\Roaming\1C\1Cv82 および C:\Users\Administrator\AppData\Local\1C\1Cv82 (Win7x64) があります。 1C キャッシュをクリアした後、コンフィグレータ モードで起動します。 1C 構成を開こうとするとクラッシュします。 情報ベースをバックアップ ファイルにアップロードします。 テストと修正は役に立ちません。 ファイル データベース チェック ユーティリティでは、エラーはないと表示されます。 設定のロード、アップロード、サポートなどのメニュー項目。 オープンな設定がないとアクティブになりません。 データ構成の保存が可能です。これは、データが破壊されないことを意味します。これが重要なことです。
また、コンフィギュレーターからデバッグモードのユーザーモードに移行すると、起動する場合と起動しない場合がありますが、これは状況には影響しません。
情報ベースを SQL にロードしようとしても、良い結果は得られません。

そして、データベースをあきらめることもできるだろう...古いバックアップがあればそこから回復する...そして手動でデータを復元することも可能ではないかという考えが生じます。

解決:
1. 同じバージョンのクリーンな構成が必要です - 動作しています。
2. キャッシュを完全にクリアします (上記)。
3. クリーンなデータベースをコンフィギュレータ モードで起動し、設定を開きます。 同時に、1C は C:\Users\Administrator\AppData\Local\1C\1Cv82 にキャッシュを作成します (構成 ID を持つフォルダー内のファイルとフォルダーのセット)。C:\Users にもキャッシュが必要です。 \Administrator\AppData\Roaming\1C \1Cv82。 1Cを閉じた後、フォルダーデータの名前を変更するだけです。
4. 動作していないデータベースをコンフィギュレータ モードで起動し、キャッシュを確認します。 その結果、構成 ID (Alive と Dead) を持つ 2 つのフォルダーができました。
5. すべてを閉じて、死んだ conf のキャッシュを生きているものに完全に置き換えます。 それらの。 現在のフォルダーを削除し、以前に名前を変更したフォルダーに置き換えます。
6. 動作していないデータベースを構成モードで起動します。これが最初の成功です。構成ツリーが開き、構成管理メニューのセクションがアクティブになります。
7. サポート管理に移動し、サポートを完全に削除します。 保存、更新。 作業中のデータベース構成を含むファイルを介して更新できます。
8. キャッシュを完全に削除します。
9. 動作していないデータベースを構成モードで起動し、構成を開こうとします。すべてが開き、エラーはありません。
10. 1C を起動します。 すべてが利用可能です。 データは所定の場所にあります。

Infostar ユーザー Tavalik が提案した別の救済オプションは次のとおりです。

1.「設定」-「データベース設定」-「データベース設定に戻る」
2.「設定」-「データベース設定の更新」

通常、このエラーは、構成保存プロセス中に障害が発生した場合に発生します。 その結果、構成は正しく保存されませんでした。
1. テストと修正または ChDBFl.exe を通じて確認してみます。
2. 問題に対する次の解決策を確認してください。

場合によっては、CACHE を完全にクリアすると、C:\Users\Administrator\AppData\Roaming\1C\1Cv82 および C:\Users\Administrator\AppData\Local\1C\1Cv82 (Win7x64) が存在します。

または詳細:
1. 同じバージョンのクリーンな構成が必要です - 動作しています。
2. キャッシュを完全にクリアします (上記)。
3. クリーンなデータベースをコンフィギュレータ モードで起動し、設定を開きます。 同時に、1C は C:\Users\Administrator\AppData\Local\1C\1Cv82 にキャッシュを作成します (構成 ID を持つフォルダー内のファイルとフォルダーのセット)。C:\Users にもキャッシュが必要です。 \Administrator\AppData\Roaming\1C \1Cv82。 1Cを閉じた後、フォルダーデータの名前を変更するだけで済みます。
4. 動作していないデータベースをコンフィギュレータ モードで起動し、キャッシュを確認します。 その結果、構成 ID (Alive と Dead) を持つ 2 つのフォルダーができました。
5. すべてを閉じて、死んだ conf のキャッシュを生きているものと完全に置き換えます。 それらの。 現在のフォルダーを削除し、以前に名前を変更したフォルダーに置き換えます。
6. 動作していないデータベースを構成モードで起動します。これが最初の成功です。構成ツリーが開き、構成管理メニューのセクションがアクティブになります。
7. サポート管理に移動し、サポートを完全に削除します。 保存、更新。 作業中のデータベース構成を含むファイルを介して更新できます。
8. キャッシュを完全に削除します。
9. 動作していないデータベースを構成モードで起動し、構成を開こうとします。すべてが開き、エラーはありません。
10. 1C を起動します。 すべてが利用可能です。 データは所定の場所にあります。

中央データベースの構成を動的に更新し、周辺データベースで交換を行ったときにも同じメッセージが表示され、周辺データベースでも同様のメッセージが表示されました。
1. なぜなら 周辺機器のコンフィギュレータにまったくアクセスできなかったため、フォルダー C:\Documents and Settings\Admin\Application Data\1C\1Cv81 を削除する必要がありました。
2. コンフィギュレータに移動し、[構成] - [データベース構成] - [データベース構成に戻る] を選択します。
3. MainNode は未定義に設定されます。
4. 構成 - ファイルから構成をロードします (中央構成)。
5. MainNode には必要なものがインストールされています。

私も同様の状況を経験しましたが、8.1 でした。 構成の動的更新中に、明らかに失敗があり、メイン構成と DB 構成の両方をアンロードしようとした後、さらにファイルをローカルデータベースにロードしようとすると、「構成の整合性」というメッセージが表示されました。構造に違反しました」という言葉が吐き出されました。 しかし、データベースは機能しています。 テストと修正も ChDBFl.exe も何も得られませんでした。

作業中のデータベースのバックアップを作成し、それをクリーンなデータベースにロードしました。 交換プランを追加しました
http://kb.mista.ru/article.php?id=7
そして初期イメージを作成しました。 画像データベースの構成が修正されました。

それが役に立たない場合は、私が自分自身に頼ろうと思っていた選択肢を勧めることができます。
1. 最も近い構成リリースを見つけて、それをクリーンなデータベース (回復可能) にロードします。
2. 完全にクリーンなデータベースを作成します (中間)
3. 破損したデータベースのコンフィギュレータを開きます。
4. 前回のリリース以降に変更が発生したモジュールとオブジェクトをコピーして貼り付けます(私の場合、変更はモジュールとフォームでのみ発生し、データ構造は同じままで、すべての変更はポスターによって文書化されるため、はるかに簡単です)。破損したデータベースを中間データベースにコピーします。
5. 中間構成をアップロードします。
6. それを復元中のデータベースとマージします。
7. 復元された構成をファイルにアップロードします。
8. 復元中の構成から破損したデータベースに構成をロードします。

理論的には、結果は作業ベースに可能な限り近いものになるはずですが、作業は確かに簡単ではありません。 しかし、基地全体を失うよりはまだマシです。


ベンダー構成の破損に関連する問題を解決するためのもう 1 つのオプション。 編集機能がサポートされている構成を更新し、ベンダー構成の整合性が損なわれると、次のメッセージが表示される場合があります。

私の解決策は、データベースプロバイダーの構成を置き換えることです。
一連のアクションは次のとおりです。
1. ベンダー構成をサポートから削除して削除します ([構成] -> [サポート] -> [サポート設定] -> [サポートの削除])。
2. 構成配信ファイルを作成します (「構成」->「構成配信」->「配信ファイルと構成更新の作成」)。 ファイルを作業配信 file.cf と名付けましょう。
3. 設定を新しく作成した配信ファイルと結合します (「設定」->「比較」、ファイルの設定とマージします)。 構成をサポートに戻すように求められます。
表示される構成比較ウィンドウで「実行」をクリックします。
4. データベース構成を更新します (「構成」->「データベース構成の更新」)。
理想的には、これらの手順を実行することで、サプライヤー構成を再構築しました。
ここで、いつものように構成を次のバージョンに更新してみることができます。

「構成構造の整合性が侵害されました」というエラーは、1C 8.3 の更新時やその他の状況でよく発生するエラーです。 この状況の原因と解決策を考えてみましょう。

1C の 267 ビデオ レッスンを無料で入手:

エラーの原因とその修正

この問題は、データベース構成の更新時 (特に 1C 8.3 の動的更新の場合)、レポートの生成時、ドキュメントの投稿時などに最もよく発生します。 エラーが突然現れる場合があります。 これは、ファイル データベースとクライアント/サーバー SQL バリアントの両方にあります。

考えられる解決策はいくつかあります (アクションを実行する前に、データベースのバックアップ コピーを作成してください)。

  1. 一時ファイルをクリーンアップします ()。 一般に、エラーが 1 人のユーザーに対してのみ発生する場合は役に立ちます。
  2. データベース コンフィギュレーターが開いたら、データベースをコミットしてみてください。 開かない場合は、chdbfl.exe ユーティリティを使用して開きます (ファイル データベースの場合のみ)。 chdbfl.exe はプログラム フォルダー (たとえば、C:\Program Files (x86)\1cv8\8.3.4.389\bin) にあります。
  3. SQL サーバーにインストールされているクライアントサーバー データベースの場合は、「delete * from configsave」リクエストを使用してみてください。
  4. コンフィギュレータが利用可能な場合は、データベースのアップロードとロードを試してください。
  5. 新しい 1C 8.3 プラットフォームをインストールします。一部のエラーは、テクノロジー プラットフォームの新しいリリースで修正される可能性があります。
  6. 上記の対策が役に立たなかった場合は、おそらく状況が複雑です。 このページに記載されている手順を参照してください

「システム整合性の違反が検出されました。」多くのユーザーが 1C にログインするときにこのエラーを目にしました。 このエラーは、2017 年 12 月に 1C がバージョン 8.3.10.2699 および 8.3.11.2899 のプラットフォームをリリースし、プログラムの合法性をチェックするメカニズムを導入したことが原因で発生します。

1C プラットフォームのバージョンが 8.3.10.2699 または 8.3.11.2899 より高い場合、ファイル データベースを操作するときに、「システム整合性の違反が検出されました。」というエラーが表示される可能性が高くなります。 このエラーは、1C のライセンス版を持っている場合でも発生します。

「システム整合性違反が検出されました」エラーが発生するのはなぜですか?

エラーが発生する理由を考えてみましょう。 1C の合法性検証メカニズムは、次の原則に基づいて構築されています。 1C を起動してデータベースに入ると、プログラムはいくつかのチェックを行います。

  • backbas.dll ファイルが変更されました (チェックサムがチェックされています)
  • エミュレータはインストールされていますか?
  • エミュレータからのエントリがレジストリに存在する

違法なバージョンが検出された場合 (おそらく、単に間違ってインストールされたプログラム)、1C はエラーを表示し、「シャットダウン」または「再起動」の選択肢を表示します。

詳細を表示する場合、追加情報は提供されません。

この時点で、ユーザーはパニックになり始め、慌ててシステム管理者に電話をかけ始めます。 悪いことは何も起こりませんでした。 あなたの基地は安全です。 テストや修正は行わず、1C データベースを復元するプログラムも役に立ちません。 このエラーは 1C データベースとは関係ありません。

このエラーは、不正なバージョンの 1C が検出された場合、または主要なエミュレータがインストールされている場合に発行されます。 ライセンス付きバージョンをお持ちの可能性もありますが、おそらく、ライセンスを購入する前にライセンスなしのバージョンを使用し、それを削除しなかったか、その痕跡がシステムに残っていた可能性があります。

「システム整合性違反が検出されました」エラーを取り除く方法

このエラーを解決するにはいくつかの方法があります。

1C:Enterprise のバージョンを以前のバージョンにロールバックします。 backbas.dll ファイルとエミュレータをチェックしなくても動作する最新バージョン 8.3.10.2667 そして 8.3.11.2867 。 この解決策は一時的なものです。なぜなら... 遅かれ早かれ、これらのバージョンでは動作しない構成が登場するでしょう。

HASP エミュレータをアンインストールします。 エミュレータは数多くあるため、それらを削除するための普遍的な手順を記述するのは困難です。 次の手順を試すことができます。

  1. VUsb.sys および vusbbus.sys ファイルを見つけて削除します。
  2. コマンドラインで管理者としてコマンドを実行します。
    loaddrv.exe -stop haspflt
    loaddrv.exe -haspflt を削除
    デル %systemroot%\system32\drivers\haspflt.sys
    レジストリ キー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\haspflt\ も削除することをお勧めします。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emulator
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emu

さて、最後の手段として、rbc_icp patcher (Integrity Check Patcher) を使用します。 1C のライセンス キーをお持ちで、USB コネクタが重要な場合は、違法な方法を使用できます。 このパッチは、それが実装されている 1C:Enterprise の最新バージョンでのシステム整合性チェックを無効にします。

このパッチは次のファイルを変更します。

  • backbas.dll (unipatch 1c8_UP.exe を使用)
  • frntend.dll (シック クライアントでの整合性チェックを無効にする)
  • mngcln.dll (シンクライアントでの整合性チェックを無効にする)

不正にチェックを回避するという選択肢もあります。 任意の 16 進エディタを使用して、1C がインストールされているディレクトリの bin ディレクトリからファイル backend.dll (バージョン 8.1 の場合) または backbas.dll (バージョン 8.2、8.3 の場合) を開き、16 進値: 100000FFD085C00F8208F8FEFF0F8416 を探します。 85 を 31 に置き換えます。

記事の最後にある情報は情報提供のみを目的としており、違法行為を助長するものではありません。

更新。 2019/01/15

VUSBBUS と HASPFLT を削除するスクリプト
コード:

@エコーオフ
setlocalenableextensionsdisabled遅延拡張

(vsubbus haspflt) の %%a に対して、次の呼び出しを実行します:CheckDriver %%a
一時停止
goto:eof

:チェックドライバー
sc クエリ %1|find /i “KERNEL_DRIVER”>nul
エラーレベル 1 の場合 goto:DelSYS
sc 停止 %1
sc 削除 %1
:DelSYS
del /f /q “%SystemRoot%\system32\drivers\%1.sys”
goto:eof