모든 사용자 및 시스템 관리자는 정전에서 장비 고장에 이르기까지 다양한 이유로 발생하는 데이터베이스 운영 오류에 직면했습니다. 예를 들어 사용자가 프로그램이 재부팅을 허용하지만 닫을 수 없다는 것을 알면 관리자는 오류를 찾아 처리합니다.

이러한 상황에서 각 전문가의 첫 번째 제안은 백업을 복원하는 것입니다. 아무것도 없거나 오래된 경우 예를 들어 1C 기반을 테스트하는 것과 같은 여러 가지 간단한 단계를 수행해야 합니다. 이 기사에서는 1C 데이터베이스의 오류를 찾고 제거하는 메커니즘과 그 사용 기능 중 하나만 고려할 것입니다.

1C 구성 회계 에디션 3.0(릴리스 - 3.0.54.20), 플랫폼 - 8.3.10.2561의 예를 사용하여 1C 정보 기반을 테스트하고 수정하는 것을 고려할 것입니다. 이전 버전 및 기타 구성과 플랫폼 버전 8.2의 경우 이 유틸리티의 알고리즘은 유사합니다.

1C 8.3 데이터베이스를 테스트하고 수정하기 전을 포함하여 1C 구성자를 사용하여 조작하기 전에 처리할 데이터베이스의 백업 복사본을 만드는 것이 좋습니다.

1C 기반을 테스트하고 발견된 오류를 수정하기 위해 생성된 필요한 작동 모드는 "관리" 메뉴 섹션의 구성자에서 사용할 수 있습니다.


유틸리티를 실행하면 다음 창이 표시됩니다.


여기에는 검사 및 모드 목록과 테스트 방법이 포함되어 있습니다. 각각에 대해 더 자세히 살펴 보겠습니다.

IB 테이블 재인덱싱– 확인란을 선택하면 테이블이 다시 인덱싱됩니다. 데이터베이스 테이블 인덱스를 완전히 재구축하는 과정입니다. 재인덱싱은 1C 시스템의 성능과 속도를 크게 향상시킵니다.

IS 논리적 무결성 제어- 데이터 구성을 확인하고 연구 중인 데이터베이스의 논리적 및 구조적 무결성 오류를 찾는 메커니즘입니다.

정보 보안의 참조 무결성- 정보가 잘못 처리될 때, 종종 데이터가 삭제되거나 데이터 교환이 잘못 구성될 때 나타나는 "깨진" 또는 "빈" 링크가 있는지 IS를 확인합니다.

결과 재계산,우리가 레지스터 1C에서 만나는 개념으로. 전체 레지스터를 "수정"하는 것보다 분석하기가 더 쉽고 빠른 계산된 데이터인 결과 표입니다. 절차는 데이터베이스의 속도를 높일 수 있습니다.

IB 테이블 압축- 데이터베이스의 크기를 줄입니다. 사실 데이터베이스에서 개체를 삭제할 때 1C는 개체를 영구적으로 삭제하지 않고 삭제 표시만 합니다. 저것들. 그들은 데이터베이스에 남아 있지만 작동에 사용할 수 없습니다. 이러한 데이터가 특별한 처리에 의해 삭제되지 않으면 IS 테이블이 압축될 때 삭제됩니다. 그런데 데이터베이스 파일을 언로드/로드하여 동일한 효과를 얻을 수 있습니다.

IS 테이블 재구성– 이 과정에서 시스템은 데이터베이스 테이블을 재생성합니다. 이는 일반적으로 구성 메타데이터 구조가 변경될 때 발생합니다. 프로세스에 시간이 오래 걸릴 수 있습니다.

이 목록 바로 아래에는 테스트 유형을 선택하는 필드가 있습니다. 테스트만 할 것인지, 시스템이 기존 오류를 표시하지만 수정하지는 않을 것인지 또는 추가 수정을 통해 테스트할 것인지 여부입니다. 이 경우 시스템은 발견된 모든 오류를 수정하려고 시도합니다.

끊어진 링크 및 부분 데이터 손실 작업에 대한 옵션은 더 낮습니다. 세 가지 옵션을 사용할 수 있습니다.

  • 개체 만들기– 시스템은 수동으로 데이터를 채울 수 있는 빈 요소를 생성합니다.
  • 링크 정리– 부분 데이터가 있는 "깨진" 링크 및 개체는 삭제됩니다.
  • 바뀌지 않는다- 오류만 표시하고 시스템에서 개체를 변경하지 않습니다.

창의 마지막 영역은 중단된 테스트를 일시 중지하고 계속할 수 있는 기능입니다. 사실 일부 데이터베이스에서는 테스트 및 수정 프로세스에 오랜 시간이 걸릴 수 있습니다(1-2시간에서 20-30시간). 시스템이 오랫동안 스캔을 수행할 것으로 의심되는 경우 "다음 이후 스캔 중단" 상자를 선택하고 스캔이 일시 중지되는 기간을 설정할 수 있습니다.


"이전에 중단된 테스트 계속" 확인란이 선택된 경우 "실행" 버튼을 누르면 중지된 지점부터 테스트가 계속됩니다.

chdbfl.exe 유틸리티

여러 가지 이유로 구성기에 들어갈 수 없는 경우(예: 시작할 권한이 없는 경우) "chdbfl.exe" 유틸리티를 사용할 수 있습니다. 사실 이것은 파일(SQL에 적합하지 않음) 정보 베이스를 테스트하고 수정하는 것과 유사합니다. 데이터베이스의 물리적 무결성을 검사합니다. 그것이 어디에 있고 어떻게 사용하는지 봅시다.

플랫폼이 설치된 폴더로 이동합니다. 파일을 다운로드할 필요가 없습니다.


시작하면 다음 창이 표시됩니다.


여기에서 데이터베이스 파일의 경로를 지정하고 식별된 오류를 수정해야 하는지 확인(또는 수행하지 않음)해야 합니다. 데이터베이스 파일의 경로는 데이터베이스 목록에서 찾을 수 있습니다.


검사가 완료되면 시스템에서 발견된 오류를 보고합니다.

1C 테스트 및 수정 방법: 회계 데이터베이스(8.3 에디션 3.0)

2017-12-19T18:21:22+00:00

따라서 데이터베이스에 문제가 있습니다. 오류가 발생했거나 실행이 중지되었습니다. 프로그래머를 부르기 위해 서두르지 마십시오. 스스로 많은 일을 할 수 있습니다.

1. 먼저 기존 데이터베이스를 백업합니다. 사실 테스트 및 수정은 데이터베이스에서 되돌릴 수 없는 작업이므로 거의 항상 상황을 개선하지만 매우 적은 비율의 경우 모든 것을 망칠 수 있습니다. 이 매우 드문 경우에는 먼저 백업 복사본을 만들어야 합니다.

2. 이제 백업이 만들어졌으므로 구성자 모드에서 데이터베이스를 시작합니다.

3. "관리" - "테스트 및 수정..."을 선택합니다.

4. 우리 앞에는 "실행" 버튼을 선택하고 클릭해야 하는 확인 및 수정을 위한 많은 옵션이 있습니다. 원칙적으로 모든 항목을 선택할 수 있지만 이러한 확인 및 수정을 순서대로 수행하고 각 수정 후 데이터베이스의 오류가 사라졌는지 여부를 확인하는 것이 가장 합리적입니다.

5. 즉시 테스트하고 수정하겠습니다(두 번째 옵션).

6. 데이터베이스가 매우 큰 경우 체크인 실행 시간을 제한할 수 있습니다. 이러지 말자:

7. infobase 테이블의 재인덱싱. 이게 뭐야? 각 테이블(예: 디렉토리)에 대해 특정 필드 검색 속도를 높이기 위해 데이터베이스에 색인이 작성됩니다. 따라서 이 수정은 모든 인덱스를 다시 빌드합니다.

8. 인포베이스의 논리적 무결성 확인은 테이블 구조의 논리적 오류를 확인하고 수정합니다.

9. 정보베이스의 참조 무결성을 확인하면 더 이상 존재하지 않거나 파괴될 수 있는 개체에 대한 모든 참조를 확인합니다.

따라서 이 검사에서 이러한 개체로 수행할 작업을 지정해야 합니다. 새 개체를 만들거나 지우거나 아무 작업도 수행하지 않습니다.

10. 결과 재계산. 합계 - 대략적으로 말하면 문서에서 생성된 정보를 저장하는 레지스터의 인덱스입니다. 예를 들어 제품 잔액 등록에 대한 총계를 사용할 수 있으므로 특정 날짜의 제품 잔액 값을 신속하게 얻을 수 있습니다. 이 확인은 모든 시간에 대한 모든 합계를 다시 계산합니다. 이것은 일반적으로 매우 오랜 시간 동안 확인하는 것입니다.

11. 데이터베이스는 시간이 지남에 따라 크기가 커집니다. 이는 데이터베이스에 많은 데이터가 축적되어 삭제 표시를 한 다음 삭제했지만 실제로는 여전히 데이터베이스에 남아 있기 때문에 발생합니다(더 이상 표시되지 않음). "Infobase 테이블 압축" 항목은 실제로 해당 테이블을 삭제하고 데이터베이스 크기를 줄입니다.

12. 정보베이스 테이블의 재구성. 버그와의 싸움에서 마지막 강력한 무기. 각 테이블에 대해 원하는 구조로 새 테이블이 생성되고 이전 테이블의 모든 데이터가 새 테이블로 전송됩니다.

13. 원하는 항목을 선택한 후 스캔을 시작합니다("실행" 버튼).

14. 모든 확인이 끝나면 서비스 메시지 창이 열리고 테스트 결과에 대한 정보가 표시됩니다.

수정이 도움이 되지 않고 악화된 경우 첫 번째 단계에서 만든 백업에서.

업데이터로 테스트

내 사용자에게는 훨씬 더 쉽습니다.

목록에서 필요한 데이터베이스를 표시한 다음 "자세히" 항목에서 "6.06 데이터베이스 테스트 및 수정" 항목을 선택합니다.

구성기와 완전히 일치하는 옵션이 있는 창이 열립니다.

원하는 항목을 체크하고 "확인" 버튼을 클릭합니다.

이 경우 업데이터는 다음을 수행합니다.

  • 그는 데이터베이스를 차단하고 작업 중인 사용자를 쫓아낼 것입니다.
  • 그는 데이터베이스의 백업 복사본을 만들 것입니다.
  • 표시된 설정에 따라 자동 테스트를 위해 구성기를 시작합니다.
  • 그는 테스트 후 모든 사용자를 돌려보낼 것입니다.
  • 탭의 업데이터 창에서 테스트 결과에 대한 모든 정보를 볼 수 있습니다. 보고서.

동시에 테스트 전에 생성된 백업 복사본으로 데이터베이스를 복원(롤백)해야 하는 경우 - 확인란을 사용하여 데이터베이스를 선택한 다음 "자세히" 항목에서 "6.01 zip에서 데이터베이스 데이터 파일 복원" 옵션을 선택합니다. , 7z, rar".

때때로 1C로 작업할 때 실패 또는 오류가 발생할 수 있습니다.

이 기사에서는 1C 정보 기반 테스트 및 수정에 대해 설명합니다.

정보 기반 1C(1C 회사 측면에서)-특정 저장 주소로 특징 지어지는 하나 이상의 조직에 모든 회계 데이터를 저장하는 장소. 정보베이스를 저장하는 데는 파일 및 클라이언트-서버 옵션의 두 가지 옵션이 있습니다.

1C 정보 기반을 테스트하고 수정하는 절차를 수행해야 하는 경우:

먼저 데이터베이스의 복사본을 생성해야 합니다(가능한 경우 데이터베이스 구조가 너무 "손상"되어 백업 복사본을 생성할 수조차 없기 때문입니다).

두 번째: 백업을 생성한 후 구성기를 연 다음 메뉴에서 관리 -> 테스트 및 수정 ...

정보베이스를 테스트하고 수정하는 절차는 데이터 저장 형식이 다른 정보베이스의 잘못된 상태를 진단하고 제거하는 데 사용됩니다( 파일또는 클라이언트 서버):

절차를 통해 현재 정보베이스에 대해 수행할 검사 및 모드를 선택할 수 있습니다.

테이블 재인덱싱 -이는 데이터베이스 성능 향상을 목표로 하는 테이블 인덱스의 재구축입니다.

논리적 무결성 확인전체 데이터베이스 논리 검사입니다.

참조 무결성 검사- 이것은 "깨진"링크가 있는 별도의 작업을 위해 존재하는 데이터베이스의 논리적 무결성을 검사하는 하위 집합입니다. 보다 구체적으로 아래 본문에서 설명하겠습니다.

합계 재계산 -누적 레지스터 테이블의 합계 계산

정보베이스 테이블 압축 –이 항목은 테스트 후 데이터베이스 크기를 줄이는 역할을 합니다. 데이터베이스 크기의 감소는 예를 들어 다음과 같이 설명할 수 있습니다. 객체가 데이터베이스에서 삭제되면 실제로는 데이터베이스 내부에 남아 있지만 최종 사용자에게는 보이지 않습니다. 이는 개체가 데이터베이스에서 완전히 삭제된 후에도 여전히 복원될 수 있도록 수행되었습니다(이는 발생하지 않았지만). 그리고 테이블 압축은 데이터베이스에서 이미 삭제된 개체에 대한 정보만 제거합니다. 이렇게 하면 테이블이 더 작아집니다(이는 압축 작동 방식의 한 예일 뿐입니다).

"정보 베이스 테이블 압축" 작업은 파일 버전에서만 사용할 수 있습니다. 나머지 옵션은 파일 모드와 서버 모드 모두에서 작동합니다.

테이블 재구성 -예를 들면 다음과 같습니다. 1번 테이블을 가져와 그 구조의 복사본을 만들고 이를 2번 테이블이라고 하고 1번 테이블의 데이터를 2번 테이블에 부분적으로 복사합니다.

테스트만 수행하거나 수정 사항이 있는 테스트를 수행할 수 있습니다.

데이터베이스 오류 처리 설정은 "인포베이스 참조 무결성 검사" 모드와 "테스트 및 수정" 처리 옵션에서 선택할 수 있습니다.

첫 번째 설정: "존재하지 않는 개체에 대한 링크가 있는 경우"는 데이터베이스에서 "깨진 링크"를 검색함을 의미합니다(일부 속성이 예를 들어 디렉토리 요소를 참조하지만 이 요소는 이미 결과적으로 "객체를 찾을 수 없습니다.<……>”) 및 이러한 링크를 처리하는 옵션:

존재하지 않는 객체를 생성하려는 시도

아무것도 변경하지 마십시오.

두 번째 설정: "오브젝트 데이터의 일부 손실이 있는 경우"는 오브젝트의 데이터가 손실되었지만 나머지 데이터는 손실된 데이터를 복원하기에 충분함을 의미합니다. 이러한 개체를 처리하기 위한 옵션은 이전 설정에 대한 옵션과 의미가 다르지 않습니다.

정보베이스를 테스트하고 수정하는 프로세스는 여러 단계로 나눌 수 있습니다. 다음 옵션을 사용할 수 있습니다.

  • 테스트 및 수정을 위한 시간 제한;
  • 단계 사이에 테스트 매개변수 저장;
  • 이전에 중단된 테스트 및 수정의 지속;
  • 시작 명령줄에서 일괄 테스트 및 패치 지원.

1C 정보 베이스의 테스트 및 수정은 독점 모드에서만 수행할 수 있습니다(즉, 사용자는 테스트 및 수정 중에 정보 베이스로 작업할 수 없음).

chdbfl 유틸리티

1C 프로그램 자체를 사용하여 데이터베이스를 테스트하는 옵션이 유일한 것은 아닙니다. 1C: Enterprise 플랫폼의 제공 패키지에는 데이터베이스의 파일 버전을 테스트하고 수정하기 위한 보조 유틸리티도 포함되어 있습니다.

다시 말하지만, 데이터베이스에 대한 모든 작업을 수행하기 전에 복사본을 만들어야 합니다.

성공적인 백업 후에는 chdbfl 유틸리티를 열어야 합니다. 설치된 1C 프로그램의 디렉토리에 있습니다.

경로는 일반적으로 C:\Program Files\1cv82\ "1c platform release" \bin입니다.

파일이 있습니다: "chdbfl.exe"

테스트할 1C 데이터베이스에 단일 사용자(귀하 포함)가 없는지 확인한 후 프로그램을 실행하십시오.

"데이터베이스 파일 이름" 창에서 데이터베이스가 있는 파일의 경로를 선택합니다. 파일 자체는 항상 *.1CD 확장자를 가지며 데이터베이스가 있는 폴더의 경로는 1C: Enterprise를 시작할 때 열리는 정보 데이터베이스 목록에서 찾을 수 있습니다.

데이터베이스를 간단히 테스트할 수 있으며 "감지된 오류 수정" 상자를 즉시 ​​선택할 수 있습니다. 그런 다음 프로그램 자체가 데이터베이스의 오류를 수정합니다. 그러나 여기에는 설정이 없으며 프로그램이 데이터베이스 자체의 오류를 자동으로 수정합니다.

베이스를 선택하고 모드를 설정한 후 "실행"을 클릭하기만 하면 됩니다. 프로그램이 작동하기 시작하고 잠시 후 테스트 프로세스 완료를 보고합니다.

테스트 및 수정을 위한 1C8 콘솔 호출 매개변수

디자이너(8.0의 CONFIG) 실행 모드 구성자.

/@ 명령줄 옵션이 있는 파일의 경로입니다.

/에프파일 정보 베이스의 경로(파일 이름 제외).
/에스 1C:Enterprise 서버의 정보 베이스 주소입니다.
/IB이름정보베이스 목록에서 정보베이스의 이름으로 정보베이스를 시작합니다. 필요한 경우 이름을 큰따옴표로 묶어야 합니다. 이 경우 이름에 큰따옴표가 있으면 각 큰따옴표를 두 개의 큰따옴표로 바꿔야 합니다. 지정된 이름을 가진 데이터베이스가 데이터베이스 목록에 둘 이상 있으면 사용자에게 오류가 표시됩니다.

/N Configurator에 설정된 사용자 이름입니다.
/피/N 옵션에 이름이 지정된 사용자의 비밀번호. 사용자에게 비밀번호가 없으면 이 매개변수를 생략할 수 있습니다.

/Out[-NoTruncate]서비스 메시지를 표시하기 위한 파일을 지정합니다. -NoTruncate가 지정되면 파일이 제거되지 않습니다(씬 클라이언트에서 사용되지 않음). C 8.2.15 메시지 파일은 공유 읽기를 허용하는 모드에서 열리고 구성자 실행의 배치 모드 중에 이 파일에 대한 쓰기가 즉시 수행되며 버퍼링되지 않습니다.

/UC [액세스 코드]— 연결 차단이 설정된 정보베이스와의 연결을 설정할 수 있습니다. 잠금 설정 시 비어 있지 않은 액세스 코드를 지정한 경우 연결을 설정하려면 /UC 매개변수에 이 액세스 코드를 지정해야 합니다.

/DumpIB[파일 이름]정보베이스를 언로드합니다.

/IBCheckAndRepair정보베이스의 테스트 및 수정을 수행합니다.
. -재인덱싱테이블 재인덱싱;
-로그 무결성논리적 무결성 검사 또는
-LogAndRefs무결성논리적 및 참조 무결성 확인;
-RecalcTotals결과 재계산;
-IB압축테이블 압축;
- 재건 infobase 테이블의 구조 조정;

-BadRefCreate객체를 생성하거나
-BadRefClear명확한 물체 또는
-BadRef없음객체가 부분적으로 손실된 경우 변경하지 마십시오.

-BadDataCreate객체를 생성하거나
-BadDataDelete개체를 삭제하거나

-BadData없음개체를 변경하지 마십시오.

UseStartPoint저장된 반환 지점을 사용하여 이전 세션에서 중단된 지점부터 테스트를 계속합니다.
제한 시간:hhh:mm최대 테스트 세션 시간 제한: - 시간(0..999); mm- 분 수(0..59).

매개변수 사용 예

C:\Program Files\1cv8\bin\1cv8.exe CONFIG /F"C:\DemoTrd2" /N"Fedorov(관리자)" /P"" /IBcheckAndRepair -LogIntegrity

C:\Program Files\1cv82\common\1cestart.exe DESIGNER /S"Server-1C\1C-Work82" /N"Administrator" /P"12345" /IBcheckAndRepair -LogIntegrity

감사합니다!

정전과 같은 비상 정지로 인해 프로그램 작동이 중단될 수 있습니다. 그러면 데이터베이스가 입력되지 않습니다.

때때로 실행 중인 프로그램이 잘못된 결과를 표시할 수 있습니다. 목록에서 문서가 "사라지고" 문서를 열려고 하면 프로그램이 멈추고 보고서에 이상한 결과가 나타납니다. 이러한 모든 "결함"은 1C를 테스트하고 수정한 후에 중지됩니다.

오류는 그렇게 무례하지 않을 수 있지만 이상하고 부정확한 것이 "수리 작업"의 이유입니다.

문제를 일으키는 원인:

  • 작업의 긴급 종료(갑작스러운 전원 끄기)
  • 하드 드라이브의 물리적 열화
  • 컴퓨터가 오작동합니다.

데이터베이스를 수정하기 전에 백업을 만드십시오

데이터베이스를 테스트하기 전에 데이터베이스를 백업해야 합니다.

이는 정보베이스가 있는 디렉토리를 직접 복사하여 수행할 수 있습니다. Configurator에 들어갈 수 없는 경우 이 방법으로만 복사본을 만들 수 있습니다.

Configurator에 들어간 경우 그림 1과 같이 메뉴에서 Administration → Unload infobase 옵션을 선택해야 합니다. 열리는 창에서 백업을 저장할 디렉토리와 아카이브를 저장할 파일의 이름을 지정해야 합니다.

수정하면 데이터가 되돌릴 수 없게 변경되므로 테스트 및 수정하기 전에 복사본이 필요합니다. 경우에 따라(매우 드물게) 개선되지 않고 데이터베이스 상태가 악화될 수 있습니다.

정상 작동 중에는 백업을 정기적으로, 가능하면 매일 수행해야 합니다. 이 작업이 자동으로 이루어지도록 하려면 무료 프로그램을 설치하세요 Backup-1C 회계 백업.

데이터베이스 자체가 있는 동일한 미디어에 백업을 저장하지 않는 것이 좋습니다. 플래시 드라이브, 인터넷 스토리지, 다른 하드 드라이브가 가능합니다. 결국 때때로 데이터 손실은 하드 드라이브의 물리적 열화와 관련이 있습니다.

백업은 데이터 손실에 대한 보험입니다. 그러나 백업에서 모든 것이 완벽하다고 보장할 수 없으므로 테스트 및 수정 옵션의 관련성이 줄어들지 않습니다.

쌀. 1. 데이터 업로드.

요약하다:

  • 백업은 정기적으로 수행해야 합니다.
  • 백업은 다른 미디어에 저장해야 합니다.
  • 자동화 프로그램이 있습니다. 백업 1C 회계 백업;
  • 테스트 및 수정하기 전에 데이터베이스의 복사본을 만드십시오.

프로그램의 내부 수단에 의한 정보베이스 수정

백업 복사본이 만들어진 후 구성자 모드에서 데이터베이스를 엽니다. 관리 → 정보베이스 테스트 및 복구 메뉴 옵션을 선택합니다.

열리는 창에서 상자를 선택합니다(그림 2).

그러나 이렇게하지 않는 것이 좋습니다. 메뉴에 나열된 모든 작업이 사고 후 수리에 필요한 것은 아닙니다.

그림 2. 모든 항목에 확인 표시가 있는 테스트 및 수정 창 1s 8. 다음을 수행하지 마십시오.

모든 항목을 확인하면 긴 프로세스가 시작됩니다. 테스트 및 수정 결과가 창 하단에 표시됩니다. 단계를 완료한 후 버튼을 클릭합니다. 닫다.

모든 것을 하는 것이 최선의 선택은 아닙니다! 강력한 사용자는 단계별로 선택적으로 작업을 수행합니다.

수정 단계

모든 메뉴 항목 테스트 및 수정을 고려하십시오.

  • 정보베이스 테이블 재인덱싱
  • 논리적 무결성 검사;
  • 참조 무결성 검사
  • 합계 재계산;
  • 테이블 압축;
  • 테이블 재구성.

첫 번째 단계인 인포베이스 테이블 재인덱싱은 문제의 90%를 해결하는 데 도움이 됩니다. 재인덱싱 프로세스 중에 어떤 일이 발생합니까?

디렉토리에 데이터를 입력하고 새 문서를 만들면 자동 주문이 수반됩니다. 제목은 알파벳순으로 나열되고 문서는 날짜순으로 정렬됩니다. 이 경우 레코드의 물리적 순서는 변경되지 않습니다. 레코드는 번호(색인)가 할당되기 때문에 특정 순서로 표시되며 물리적 레코드 번호에 대한 색인의 대응은 색인 테이블에 포함됩니다.

인덱스는 매우 중요합니다.

  • 인덱싱된 테이블의 검색은 인덱싱되지 않은 테이블보다 몇 배 더 빠릅니다.
  • 인덱스 번호는 레코드의 고유한 "코드"이며 인덱스는 서로 다른 테이블의 레코드를 연결하는 데 사용됩니다.
  • 인덱스 테이블은 인포베이스의 프레임워크입니다. 그것들이 없으면 1s 프로그램이 작동하지 않습니다.

인덱스 테이블을 위반하면 문서 표시가 혼란스러워집니다. 예를 들어 상품 이름은 없지만 수량은 있는 문서가 강조 표시될 수 있습니다.

각각의 새 항목은 색인 테이블의 변경 사항을 수반합니다. 예를 들어 문자 A로 시작하는 항목이 디렉토리에 입력되면 첫 번째 색인 중 하나가 할당되고 다른 모든 색인 번호가 변경됩니다. 새로 입력한 후 발생하는 짧은 일시 중지는 인덱스 재계산 때문입니다. 베이스가 클수록 일시 중지가 더 눈에 띕니다.

문서와 레코드를 생성하면 여러 인덱스 테이블(때로는 수십 개)이 작동합니다. 실제로 테이블은 데이터 작업을 하는 동안 지속적으로 1초 단위로 재인덱싱됩니다. 그러나 생산 모드에서는 매번 하나 이상의 테이블이 인덱싱되는 반면 Testing and Fixing은 모든 테이블의 전체 인덱싱을 수행하며 이 프로세스는 대규모 데이터베이스의 경우 시간이 오래 걸립니다.

따라서 재인덱싱할 때 다음 프로세스가 발생합니다.

  • 레코드의 순위가 다시 지정되고 정렬됩니다.
  • 테이블과 다른 개체 간의 연결이 복원됩니다.
  • 대부분의 경우 프로그램의 작동이 복원됩니다.

재인덱싱 후 데이터베이스가 복구되었는지 확인할 수 있습니다.

다음 단계는 논리적 무결성을 확인하는 것입니다. 정보베이스의 실제 구조와 구성의 설명(개체 존재, 개체 간 링크 존재)의 적합성을 확인합니다. 이 검사는 실행 중인 데이터베이스에서도 오류를 보고하는 경우가 많으므로 이러한 메시지로 당황해서는 안 됩니다. 그러나 이것은 전문가의 조언을 구하는 이유입니다.

참조 무결성을 확인하면 개체 간의 링크가 "링"됩니다. 경우에 따라 테이블은 삭제된 문서와 같은 누락된 개체에 대한 참조를 사용합니다. 확인 결과 얻은 목록에 따라 참조 무결성을 수동으로 복원하는 것이 일반적입니다. 때때로 참조 무결성이 "버려진 영역"(오래된 관련 없는 문서)에서 손상됩니다. 그런 다음 그들은 그냥 무시합니다.

합계 재계산은 시간이 오래 걸리고 위험한 절차입니다. 1s에서는 일반 모드에서 결과가 다시 계산되지만 "처음부터"가 아니라 월초부터 수행됩니다. 총 값은 레지스터에서 추적되므로 작업 속도가 빨라집니다. 테스트 및 수정 모드에서 합계 재 계산을 켜면 데이터베이스가 생성 된 순간부터 재 계산이 수행되며 올바른 현재 레지스터 값은 오래 전에 삭제 된 문서로 인해 "부동"될 수 있습니다 또는 수정된 "백데이팅". 결과적으로 재 계산에 대한 긴 작업은 유용하지 않습니다.

필요하지 않으면 결과를 다시 계산하지 않는 것이 좋습니다.

테이블 압축은 삭제 표시가 되어 더 이상 표시되지 않는 레코드를 물리적으로 삭제하는 절차입니다. 그러한 레코드가 많이 있을 수 있으며 데이터베이스의 볼륨을 쓸데없이 부풀립니다.

테이블 압축은 필수는 아니지만 유용한 기능입니다.

테이블 재구성은 새 버전의 프로그램으로 전환할 때 관련된 작업입니다. 재구성하는 동안 구성에 지정된 형식으로 빈 테이블이 생성되고 이전 테이블의 정보가 레코드별로 전송됩니다. 새 테이블에서 필드를 확장하고 새 필드를 추가할 수 있습니다. 재구성은 정보베이스가 새로운 방식으로 작동하도록 준비하는 작업이며 업데이트에 절대적으로 필요합니다.

버전이 변경되지 않은 경우 구조 조정이 필요하지 않으며 이 긴 절차는 아무것도 추가하거나 변경하지 않습니다.

따라서 "떨어진" 프로그램을 고칠 때 다음 옵션이 필요하고 유용합니다.

  • 정보베이스 테이블 재인덱싱
  • 논리적 무결성 확인
  • 참조 무결성 검사

테스트 및 수정을 실행할 수 없으면 어떻게 해야 합니까?

데이터베이스가 심하게 손상되어 Configurator에 들어갈 수도 없는 경우 복구 옵션이 하나 더 남아 있습니다. chdbfl.exe 유틸리티를 사용하는 것입니다. 이 파일은 설치 디렉터리의 Bin 폴더에서 찾을 수 있습니다(그림 3).

쌀. 3. chdbfl.exe 유틸리티 선택

그림 3에 표시된 명령줄 항목에서 파일 경로가 1cv8.2 디렉토리 또는 1cv8.3, 간단히 말해서 프로그램 디렉토리를 통해 있음을 알 수 있습니다. Program Files 폴더 또는 다른 폴더에 있을 수 있습니다. 디렉토리 위치를 찾아서 열어야 합니다. 디렉토리 내에서 Bin 폴더를 열고,

실행 파일을 실행한 후 수정할 베이스를 선택하고 감지된 오류를 수정하도록 허용합니다(그림 4).

그림 4. chdbfl.exe 프로그램 창

요약해보자. 충돌 후 프로그램이 시작되지 않으면 다음을 수행하십시오.

  • 백업하십시오.
  • 구성기를 통해 로그인하고 테스트 및 수정 옵션을 사용해 보십시오.
  • Configurator에 들어갈 수 없으면 exe 프로그램을 찾아 이 프로그램을 사용하여 데이터를 저장해 보십시오.
  • 모든 시도가 실패하면 전문가의 도움을 받아야 합니다.
  • 복구할 수 없는 데이터 손실의 경우 실행 가능한 최신 백업을 설치하십시오.
  • 백업을 수행하지 않은 경우 기본 문서 및 종이 인쇄물에서 데이터를 복원합니다.

성공적인 데이터 복구가 항상 발생하는 것은 아닙니다. 데이터 손실에 대한 보험은 일일 백업입니다. 정보 베이스가 손상된 경우 하루 전으로 돌아가 손실된 기록을 신속하게 복원할 수 있습니다.

정보베이스 작동 중 오류가 발생한 경우 데이터베이스 구성을 업데이트하기 전에 1C 8.3 정보베이스의 테스트 및 수정을 수행해야 합니다. 대부분의 경우 정보 베이스가 손상되면 도움이 됩니다.

테스트하고 수정하기 전에 데이터베이스의 백업 복사본을 만들어야 합니다. 구성자에 들어갈 수 없으면 1C 프로그램이 설치된 폴더에 구성자 모드에서 프로그램을 시작할 필요가 없는 테스트 및 수정용 유틸리티가 있습니다. 이 모든 것에 대해 아래에서 이야기하겠습니다.

이 도구와 사용 방법을 고려하십시오. 인터페이스에 어떤 플래그를 설정해야 하는지 자세히 분석합니다.

구성자 모드에서 프로그램을 실행합니다.

관리 메뉴에서 "테스트 및 수정"을 선택합니다.

어떤 체크박스를 넣어야 할까요?

테스트 설정을 위한 다양한 옵션이 있습니다. 다음 확인란을 고려하십시오.

  • 정보베이스 테이블 재인덱싱데이터베이스 테이블에 대한 인덱스의 완전한 재구축입니다. 색인을 다시 생성하면 정보베이스의 속도가 빨라집니다. 절차는 길지만 결코 불필요한 것은 아닙니다.
  • 정보베이스의 논리적 무결성 확인- 데이터베이스의 논리적 및 구조적 무결성을 확인하고 데이터 오류를 수정합니다.
  • 정보베이스의 참조 무결성 확인- 데이터베이스에서 "깨진 링크"를 확인합니다. 이러한 오류는 시스템 개체 또는 오류를 직접 삭제하는 동안 발생할 수 있습니다. 이러한 오류를 수정하기 위한 3가지 옵션이 있습니다.
    • 개체 만들기- 시스템은 필요한 정보로 채울 수 있는 스텁 요소를 생성합니다.
    • 링크 정리- "깨진" 링크가 정리됩니다.
    • 바뀌지 않는다- 시스템은 오류만 표시합니다.
  • 결과 재계산.결과 - 누적, 계산 및 회계 레지스터의 사전 계산된 결과 표입니다. 합계 재계산 및 재인덱싱은 결코 해롭지 않으며 프로그램 속도에 플러스를 제공합니다.
  • 정보베이스 테이블 압축- 데이터를 삭제할 때 1C는 테이블 행을 삭제하지 않고 삭제를 위해 "표시"만 합니다. 사용자에게는 보이지 않지만 데이터베이스에는 계속 남아 있습니다. 데이터베이스를 압축하면 이 데이터가 영구적으로 제거됩니다. infobase 파일(*.dt)을 업로드하고 다운로드하여 동일한 효과를 얻을 수도 있습니다.
  • 정보베이스 테이블 재구성- 시스템이 데이터베이스 테이블을 재생성하는 긴 프로세스. 이 절차는 구성 구조가 변경된 경우에도 발생합니다.

이 예에서는 그림과 같이 모든 확인란을 선택하고 "실행"을 클릭합니다.

1C 구성기 창의 왼쪽 하단에서 작업 단계를 볼 수 있습니다. 감지된 오류는 서비스 메시지 창에 표시됩니다.

테스트가 완료되면 "닫기"를 클릭합니다.

서비스 메시지 창에서 작업 결과를 볼 수 있습니다.

테스트 및 수정 완료.

구성자가 열리지 않는 경우: chdbfl.exe 유틸리티

데이터베이스가 너무 손상되어 구성자에 들어갈 수 없는 경우 . 이 유틸리티는 1C 플랫폼과 함께 설치되며 설치 디렉토리의 Bin 폴더에서 찾을 수 있습니다.

이 유틸리티를 사용하면 돌이킬 수 없는 결과를 초래할 수 있으므로 테스트를 시작하기 전에 반드시 데이터베이스 복사본을 만들어야 합니다. configurator에 들어갈 수 없기 때문에 단순히 infobase 디렉토리를 복사하여 백업 사본을 만들어야 합니다.

복사를 클릭한 후 폴더 창의 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 "붙여넣기"를 클릭합니다. 사본이 만들어지면 유틸리티를 실행하십시오.

기본 유틸리티 창이 나타납니다. 데이터베이스 파일의 이름을 지정해야 합니다. 세 개의 점을 클릭하십시오. 데이터베이스 파일 선택 창이 열립니다. 우리는 기지의 디렉토리를 찾고 있으며 여기에서 1Cv8.1CD 파일을 가리킵니다. "열기"를 클릭합니다.

"발견된 오류 수정" 상자를 선택하고 "실행"을 클릭합니다.

작업이 끝날 때까지 기다리고 있습니다. 데이터베이스 크기에 따라 시간이 오래 걸릴 수 있습니다.

실행 후 오류가 수정되면 유틸리티 창에 표시됩니다. 제 경우에는 오류가 발견되지 않았습니다. "닫기"를 클릭하고 프로그램에 들어가십시오. 여전히 로그인할 수 없으면 전문가에게 문의해야 합니다.