8.3 구성 구조의 무결성이 손상되었습니다. 이를 수정하는 방법입니다. "구성 구조의 무결성이 위반되었습니다" 오류가 발생하는 경우 서버 기반에 대한 솔루션

"구성 구조의 무결성이 위반되었습니다"라는 오류는 업데이트 또는 기타 상황에서 1C 8.3에서 매우 일반적인 오류입니다. 이 상황의 원인과 해결 방법을 고려해 보겠습니다.

1C에서 267개의 비디오 강의를 무료로 받으세요:

오류의 원인과 수정

이 문제는 데이터베이스 구성을 업데이트할 때(특히 1C 8.3의 동적 업데이트의 경우), 보고서를 생성할 때, 문서를 게시할 때 등에서 가장 자주 발생합니다. 허공에서 오류가 나타나는 경우가 있습니다. 이는 파일 데이터베이스와 클라이언트-서버 SQL 변형 모두에서 발견됩니다.

여러 가지 가능한 해결 방법이 있습니다(어떤 조치를 취하기 전에 백업 복사본데이터 베이스):

  1. 임시 파일()을 정리합니다. 일반적으로 한 명의 사용자에게만 오류가 발생하면 도움이 됩니다.
  2. 데이터베이스 구성자가 열리면 데이터베이스를 커밋해 보세요. 열리지 않으면 chdbfl.exe 유틸리티를 사용하여 수행하십시오(파일 데이터베이스에만 해당). chdbfl.exe는 프로그램 폴더(예: C:\Program Files (x86)\1cv8\8.3.4.389\bin)에 있습니다.
  3. 클라이언트의 경우 - 서버 기반, SQL Server에 설치된 경우 "delete * from configsave" 요청을 사용해 볼 수 있습니다.
  4. 구성자를 사용할 수 있는 경우 데이터베이스를 업로드하고 로드해 보세요.
  5. 놓다 새로운 플랫폼 1C 8.3: 기술 플랫폼의 최신 릴리스에서는 일부 오류가 수정될 수 있습니다.
  6. 위의 조치가 도움이 되지 않으면 사건이 복잡할 가능성이 높습니다. 이 페이지에 설명된 지침을 참조할 수 있습니다.

동적 업데이트에 실패했습니다. 사용자는 엔터프라이즈 모드에서 프로그램을 계속 사용할 수 있지만 구성 프로그램 열기가 중지되었습니다.

초기 데이터: 1C Enterprise 8.3, 클라이언트-서버 기반, MS SQL 2012, 지원 MS SQL을 사용하여 구성된 백업은 하루에 한 번, 밤에 생성됩니다.

구성이 수정되고 활발한 작업이 진행 중이므로 개발이 수행되는 두 번째 서버 기반이 있었고 전날 두 기반에서 dt로 업로드가 있었습니다. 이 기사에서는 "MyBase"를 작업 데이터베이스 이름으로 사용하고 "MyTestBase"를 백업 서버 데이터베이스 이름으로 사용합니다.

제 경우에는 설명된 자료에서와 같이 ConfigSave 데이터베이스 테이블이 비어 있었고 Config 및 Params 테이블에는 FileName 필드에 "DynamicallyUpdated" 값이 있는 행이 포함되어 있었습니다.

문제를 해결하는 데 사용한 네트워크 자료:

고객은 당일 데이터 손실 위험을 감수하고(복구 절차가 실패하여 야간 백업으로 롤백해야 하는 경우) 근무일 종료 시 복원 작업을 수행하기로 결정했습니다.

문제를 해결하기 위해 다음 단계가 수행되었습니다.

1. 모든 1c 사용자 세션이 비활성화됩니다.

2. 1c 서버 관리 콘솔을 통해 세션 시작이 차단되고 일상적인 작업 시작이 취소되었습니다.

3. 작업 데이터베이스의 백업은 다음을 사용하여 MS SQL을 사용하여 만들어졌습니다. SQL 서버매니지먼트 스튜디오. 테이블의 쿼리

FileName 필드에 "DynamicallyUpdated" 값이 있는 레코드가 Config 및 Params 테이블에서 제거되었습니다.


그리고
다음에서 삭제..
"동적으로 업데이트됨"과 같은 곳

4. 구성 도구를 사용하여 작업 데이터베이스(전날 저녁)의 마지막 upload.dt가 백업 데이터베이스에 로드되고 기존 .cf 파일에서 현재 날짜의 마지막 작업 구성이 맨 위에 로드되었습니다( 구성 변경의 전체 기록은 버전 번호와 함께 별도의 파일에 저장됩니다.

5. 작업 관리자에서 중단된 1s8 프로세스를 비활성화해야 했습니다.

6. 1c 서버 서비스 중지

7. 1C 캐시 삭제

제 경우에는 C:\Users\Administrator\AppData\Local\1C\1сv8 폴더 이름을 바꾸는 중이었습니다.

C:\Users\Administrator\AppData\Roaming\1C\1CEStart

C:\Users\관리자\AppData\Roaming\1C\1Cv82

C:\Users\관리자\AppData\Roaming\1C\1Cv8

8. 서버 서비스 시작

9. 캐시를 지운 후 1C를 시작할 때 데이터베이스 목록이 있는 창이 비어 있으므로 기존 작업 서버 데이터베이스를 추가합니다.

10. 구성 프로그램이 열렸습니다. 만약을 대비해 현재 "깨진" 상태의 작업 데이터베이스를 .dt에 업로드하고 구성 프로그램을 닫습니다.

11. SQL Server Management Studio를 실행하고 쿼리를 사용하여 작업 데이터베이스의 구성 테이블을 지우고 유사한 테이블의 내용으로 덮어씁니다. 예비 기지에스:

다음에서 삭제..

INSERT INTO .. ​​​​선택 * FROM ..

사용된 자료의 작성자(위 링크 참조)의 경우 조치를 취한 후 데이터베이스 기능이 복원되었습니다. 제 경우에는 현 단계에서는 오류가 남아서 컨피규레이터에서 데이터베이스 창을 열 수 없었습니다. 작업 데이터베이스와 백업 데이터베이스의 Params 테이블에 있는 레코드 수를 비교한 결과, 덮어쓰는 것도 가치가 있다는 결론에 도달했습니다.

다음에서 삭제..

INSERT INTO .. ​​​​선택 * FROM ..

그런 다음 구성기를 실행하고 구성 창을 열 수 있었습니다. 혹시 모르니 현재 상태를 .dt에 업로드하고, 그 위에는 오늘의 최신 작업 구성을 로드했습니다.

12. 세션 시작 차단을 비활성화하고 엔터프라이즈 모드로 들어갑니다.

작업이 완전히 복원되었으며 데이터가 손실되지 않았습니다.

13. 예약된 작업 차단을 해제합니다.

오늘은 1C 8.2 구성을 업데이트한 후 "구성 구조의 무결성이 위반되었습니다"라는 오류가 나타나는 경우 취해야 할 조치에 대해 설명하겠습니다.
따라서 요점은 다음과 같이 문제를 해결해 볼 수 있다는 것입니다(구성 작업을 시작하기 전에 다음을 수행하는 것을 잊지 마십시오). 보관 사본데이터베이스에 대해 메모에 이를 수행하는 방법을 썼습니다):

  • 새 폴더에 빈 데이터베이스를 새로 만들고 이전에 언로드한 데이터베이스를 구성에 로드합니다. 정보 기반, 업데이트가 필요합니다.

원칙적으로 문제에 대한 해결책으로 이 옵션을 사용하는 경우 다중 사용자 작업 중에 데이터베이스 경로를 다시 작성해야 한다는 불편함이 있습니다. 이 구성을 업데이트한 다음 실행해 보겠습니다.

문제가 해결되면 1c 캐시 폴더( C:\문서 및 설정\사용자\로컬 설정\응용 프로그램 데이터\1C\1Cv82). 폴더는 기본적으로 숨겨져 있을 가능성이 높으므로 액세스 방법을 모르는 경우 숨겨진 파일그리고 윈도우 폴더, 메모를 읽는 것이 좋습니다. 현재/마지막 수정 날짜가 있는 루트 폴더 1Cv82 및 1Cv81의 파일은 건드리면 안 됩니다. 시작 창 설정을 저장합니다. 이 경우 모든 것이 시작되지만 처음 시작할 때 기다려야 합니다.

문제를 해결한 후(물론 제안된 방법이 도움이 되는 경우) 데이터베이스의 아카이브 복사본을 다시 만들고 표준 1C "테스트 및 수정" 도구를 사용하여 구성에 오류가 있는지 확인하는 것이 좋습니다.

정보 보안 테스트 및 수정

구성 프로그램으로 이동하여 "관리" 메뉴 항목에서 "테스트 및 수정"을 선택해야 합니다.

이 도구는 2가지 모드로 작동합니다.

  • 테스트는 구성 오류만 확인하는 모드입니다.
  • 테스트 및 수정은 두 구성 오류를 모두 확인하고 수정하는 모드입니다.

정보 기반이 운영되는 경우 파일 버전및 작업 옵션 클라이언트 서버, 논리적 무결성, 참조 무결성 및 총계 재계산을 테스트하고 수정하는 것이 허용됩니다. 정보 베이스의 파일 버전의 경우 데이터베이스의 재인덱싱 및 압축을 수행할 수 있습니다.

테스트 중인 정보베이스에 없는 개체에 대한 링크가 포함된 데이터를 수신할 수 있는 분산 정보베이스(DIB)의 경우 선택을 취소하세요. 정보베이스의 참조 무결성 확인이를 통해 "존재하지 않는" 데이터 생성을 비활성화할 수 있으며 결과적으로 이 데이터가 분산 정보 기반의 다른 노드로 전송되지 않습니다.

논리적 무결성 검사를 비활성화하면서 IS 참조 무결성 검사를 활성화하는 것은 불가능합니다. 또한 참조 무결성 검사를 비활성화한다고 해서 참조 유형 검사가 비활성화되는 것은 아닙니다.

제일 약점, 예를 들어 회계에서는 매출액 대차 대조표이므로 처리 전후에 매출액 시트를 작성하고 테스트 및 수정 전과 후의 합계를 비교하는 것이 좋습니다. 물론 이것은 테스트의 정점은 아니지만 적어도 뭔가입니다.

그것이 내가 오늘 당신에게 말하고 싶었던 전부입니다. 다음 시간까지.

"구성 구조의 무결성이 위반되었습니다." 오류를 해결하기 위한 여러 옵션 중 하나입니다.
이 오류가 발생하면 반드시 1C 전문가에게 문의하세요. 가능한 해결 방법은 많지만 상황과 문제의 원인에 따라 해결 방법은 완전히 다릅니다.

나는 이러한 상황 중 하나에 주목합니다.
작업 설명:
구성 업데이트가 자동으로 발생했습니다. 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에도 캐시가 필요합니다. \관리자\AppData\Roaming\1C\1Cv82. 1C를 닫은 후 폴더 데이터의 이름을 간단히 바꿀 수 있습니다.
4. 구성자 모드에서 작동하지 않는 데이터베이스를 시작하고 캐시를 살펴보세요. 결과적으로 구성 ID(Alive 및 Dead)가 있는 두 개의 폴더가 있습니다.
5. 모든 것을 닫고 죽은 구성의 캐시를 라이브 구성으로 완전히 교체합니다. 저것들. 현재 폴더를 삭제하고 이전에 이름을 바꾼 폴더로 바꾸세요.
6. 구성자 모드에서 작동하지 않는 데이터베이스를 시작하고 여기에 첫 번째 성공이 있습니다. 구성 트리가 열려 있고 구성 관리 메뉴 섹션이 활성화되어 있습니다.
7. 지원 관리로 이동하여 지원을 완전히 제거합니다. 저장, 업데이트. 작업 중인 데이터베이스 구성이 포함된 파일을 통해 업데이트할 수 있습니다.
8. 캐시를 완전히 삭제하세요.
9. 구성자 모드에서 작동하지 않는 데이터베이스를 시작하고 구성을 열려고 시도합니다. 모든 것이 열리고 오류가 없습니다.
10. 1C를 ​​실행합니다. 모든 것이 가능합니다. 데이터가 제자리에 있습니다.

infostar 사용자 Tavalik이 제안한 또 다른 구조 옵션은 다음과 같습니다.

1. "구성" - "데이터베이스 구성" - "데이터베이스 구성으로 돌아가기"
2. "구성" - "데이터베이스 구성 업데이트"

일반적으로 이 오류는 구성 저장 과정에서 오류가 발생했을 때 발생합니다. 결과적으로 구성이 올바르게 저장되지 않았습니다.

1. 테스트 및 수정 또는 ChDBFl.exe를 통해 확인해보세요.
2. 문제에 대한 다음 해결 방법을 살펴보십시오.

어떤 경우에는 CACHE를 완전히 지우는 것이 도움이 됩니다.Windows 7에는 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에도 캐시가 필요합니다. \관리자\AppData\Roaming\1C\1Cv82. 1C를 닫은 후 폴더 데이터의 이름을 간단히 바꿀 수 있습니다.
4. 구성자 모드에서 작동하지 않는 데이터베이스를 시작하고 캐시를 살펴보세요. 결과적으로 구성 ID(Alive 및 Dead)가 있는 두 개의 폴더가 있습니다.
5. 모든 것을 닫고 죽은 구성의 캐시를 라이브 구성으로 완전히 교체합니다. 저것들. 현재 폴더를 삭제하고 이전에 이름을 바꾼 폴더로 바꾸세요.
6. 구성자 모드에서 작동하지 않는 데이터베이스를 시작하고 여기에 첫 번째 성공이 있습니다. 구성 트리가 열려 있고 구성 관리 메뉴 섹션이 활성화되어 있습니다.
7. 지원 관리로 이동하여 지원을 완전히 제거합니다. 저장, 업데이트. 작업 중인 데이터베이스 구성이 포함된 파일을 통해 업데이트할 수 있습니다.
8. 캐시를 완전히 삭제하세요.
9. 구성자 모드에서 작동하지 않는 데이터베이스를 시작하고 구성을 열려고 시도합니다. 모든 것이 열리고 오류가 없습니다.
10. 1C를 ​​실행합니다. 모든 것이 가능합니다. 데이터가 제자리에 있습니다.

중앙 데이터베이스의 구성을 동적으로 업데이트하고 주변 데이터베이스에서 교환을 수행했을 때도 동일한 메시지가 있었고 주변 데이터베이스에도 비슷한 메시지가 나타났습니다.
1. 왜냐면 주변기기의 구성기에 전혀 액세스할 수 없어서 C:\Documents and Settings\Admin\Application Data\1C\1Cv81 폴더를 삭제해야 했습니다.
2. 구성자로 이동하여 구성 - 데이터베이스 구성 - 데이터베이스 구성으로 돌아가기를 선택합니다.
3. 메인노드 세트가 정의되지 않았습니다.
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. 공급업체 구성을 지원에서 제거하여 삭제합니다(구성->지원->지원 설정->지원 제거).
2. 구성 전달 파일을 생성합니다(구성->구성 전달->전달 파일 및 구성 업데이트 생성). 파일을 작품배달 file.cf라고 부르자
3. 구성을 새로 생성된 전달 파일과 결합합니다(구성->비교, 파일의 구성과 병합). 구성을 다시 지원하라는 메시지가 표시됩니다.
나타나는 구성 비교 창에서 “실행”을 클릭하십시오.
4. 데이터베이스 구성을 업데이트합니다(구성->데이터베이스 구성 업데이트).
이상적으로는 이러한 단계를 수행하여 공급업체 구성을 재구성했습니다.
이제 평소처럼 구성을 다음 버전으로 업데이트할 수 있습니다.

공유하다