Компютри Windows интернет

Грешка: „Целостта на конфигурационната структура е нарушена.“ Решение за базата на сървъра, когато възникне грешка „целостта на конфигурационната структура е нарушена“ Възстановяване на архивния файл

Обикновено грешката възниква, когато е имало грешка по време на процеса на запазване на конфигурацията. В резултат на това конфигурацията не беше запазена правилно.

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 \Administrator\AppData\Roaming\1C \1Cv82. Можете просто да преименувате данните на папката след затваряне на 1C.
4. Стартирайте нашата неработеща база данни в режим на конфигуратор и погледнете кеша. И в резултат на това имаме две папки с конфигурационни идентификатори (Жив и Мъртъв).
5. Затворете всичко и заменете напълно кеша на мъртвия conf с жив. Тези. изтрийте текущата и я заменете с предишната преименувана папка.
6. Стартираме неработеща база данни в режим на конфигуратор И ЕТО първият успех - конфигурационното дърво е отворено, секциите от менюто за управление на конфигурацията са активни.
7. Отидете в управлението на поддръжката и премахнете поддръжката напълно. запазване, актуализиране. Можете да го актуализирате чрез файл с конфигурацията на работещата база данни.
8. Изтрийте напълно кеша.
9. Стартираме неработеща база данни в режим на конфигуратор, опитайте се да отворите конфигурацията - всичко се отваря, няма грешки.
10. Стартирайте 1C. Всичко е налично. Данните са на място.

Имаше същото съобщение, когато динамично актуализирах конфигурацията на централната база данни и направих обмен на периферната и подобно съобщение се появи на периферната.
1. Защото Изобщо нямах достъп до конфигуратора на периферното устройство, така че трябваше да изтрия папката C:\Documents and Settings\Admin\Application Data\1C\1Cv81.
2. Отидете в конфигуратора и изберете Конфигурация - Конфигурация на база данни - Връщане към конфигурацията на база данни.
3. Основният възел е недефиниран.
4. Конфигурация - Зареждане на конфигурация от файл (централна конфигурация).
5. Главният възел е инсталирал необходимия.

Имах подобна ситуация, но на 8.1. По време на динамичната актуализация на конфигурацията очевидно е възникнала повреда, след което опитът за разтоварване както на основната конфигурация, така и на конфигурацията на базата данни и допълнителен опит за качване на файла в локалната база данни е довел до грешката „целостта на конфигурационната структура е нарушено.” Но базата данни е функционална. Нито тестването и коригирането, нито ChDBFl.exe не дадоха нищо.

Направих резервно копие на работещата база данни и я заредих в чиста база данни. Добавен план за обмен
http://kb.mista.ru/article.php?id=7
и създаде първоначалното изображение. Конфигурацията в базата данни с изображения е коригирана.

Ако не помогне, мога да препоръчам опцията, към която исках да прибегна:
1. намерете най-близката версия на конфигурацията, заредете я в чиста база данни (възстановима).
2. създайте напълно чиста база данни (междинна)
3. отворете конфигуратора на повредената база данни.
4. копирайте и поставете модули и обекти, в които са настъпили промени след последната версия (в моя случай е много по-лесно, тъй като промените са настъпили само в модули и форми, структурата на данните остава същата и всички промени се документират от плакати) от повредената база данни към междинната.
5. Качете междинната конфигурация.
6. Обединете го с базата данни, която се възстановява.
7. Качете възстановената конфигурация във файл.
8. Заредете конфигурацията от възстановяваната в повредената база данни.

На теория резултатът трябва да е възможно най-близо до работната база, но работата със сигурност не е лесна. Но все пак е по-добре, отколкото да загубите цялата база.


Друг вариант за решаване на проблема, свързан с повредена конфигурация на доставчика. Когато актуализирате конфигурация, която се поддържа с възможност за редактиране и целостта на конфигурацията на доставчика е компрометирана, може да се появи следното съобщение:

Моето решение е да заменя конфигурацията на нашия доставчик на база данни.
Последователността на действията е следната:
1. Изтрийте конфигурацията на доставчика, като я премахнете от поддръжката (Конфигурация->Поддръжка->Настройки за поддръжка->Премахване на поддръжка)
2. Създайте файл за доставка на конфигурация (Конфигурация->Доставка на конфигурация->Създаване на файлове за доставка и актуализации на конфигурацията). Нека наречем файла work delivery file.cf
3. Комбинираме нашата конфигурация с новосъздадения файл за доставка (Конфигурация->Сравнение, обединяване с конфигурацията от файла). Ще бъдете подканени да върнете конфигурацията обратно в поддръжка.
В прозореца за сравнение на конфигурацията, който се появява, щракнете върху „Изпълни“
4. Актуализирайте конфигурацията на базата данни (Конфигурация->Актуализиране на конфигурацията на база данни).
В идеалния случай чрез изпълнението на тези стъпки преструктурирахме конфигурацията на доставчика.
Сега можем да опитаме да актуализираме нашата конфигурация до следващата версия, както обикновено.

Една от многото опции за разрешаване на грешката „Целостта на конфигурационната структура е нарушена“.
Ако случайно срещнете тази грешка, определено се свържете с специалист от 1C. Има много възможни решения, но в зависимост от ситуацията и източника на проблема, решенията са напълно различни.

Представям на вашето внимание една от тези ситуации.
Описание на задачата:
Актуализацията на конфигурацията се извърши автоматично. Когато стартираме режима на 1C конфигуратор, получаваме съобщението „Целостта на конфигурационната структура е нарушена“. По време на автоматичното актуализиране конфигурацията на доставчика не може да се актуализира правилно. Изпълнението в потребителски режим дава грешка, отнасяща се до модула в конфигурацията.
Първо, трябва да изчистите кеша. В ОС Windows 7 има 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. Стартирайте нашата неработеща база данни в режим на конфигуратор и погледнете кеша. И в резултат на това имаме две папки с конфигурационни идентификатори (Жив и Мъртъв).
5. Затворете всичко и заменете напълно кеша на мъртвата conf с жива. Тези. изтрийте текущата и я заменете с предишната преименувана папка.
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 \Administrator\AppData\Roaming\1C \1Cv82. Можете просто да преименувате данните на папката след затваряне на 1C.
4. Стартирайте нашата неработеща база данни в режим на конфигуратор и погледнете кеша. И в резултат на това имаме две папки с конфигурационни идентификатори (Жив и Мъртъв).
5. Затворете всичко и заменете напълно кеша на мъртвия conf с жив. Тези. изтрийте текущата и я заменете с предишната преименувана папка.
6. Стартираме неработеща база данни в режим на конфигуратор И ЕТО първият успех - конфигурационното дърво е отворено, секциите от менюто за управление на конфигурацията са активни.
7. Отидете в управлението на поддръжката и премахнете поддръжката напълно. запазване, актуализиране. Можете да го актуализирате чрез файл с конфигурацията на работещата база данни.
8. Изтрийте напълно кеша.
9. Стартираме неработеща база данни в режим на конфигуратор, опитайте се да отворите конфигурацията - всичко се отваря, няма грешки.
10. Стартирайте 1C. Всичко е налично. Данните са на място.

Имаше същото съобщение, когато динамично актуализирах конфигурацията на централната база данни и направих обмен на периферната и подобно съобщение се появи на периферната.
1. Защото Изобщо нямах достъп до конфигуратора на периферното устройство, така че трябваше да изтрия папката C:\Documents and Settings\Admin\Application Data\1C\1Cv81.
2. Отидете в конфигуратора и изберете Конфигурация - Конфигурация на база данни - Връщане към конфигурацията на база данни.
3. Основният възел е недефиниран.
4. Конфигурация - Зареждане на конфигурация от файл (централна конфигурация).
5. Главният възел е инсталирал необходимия.

Имах подобна ситуация, но на 8.1. По време на динамичната актуализация на конфигурацията, очевидно е имало повреда, след което опит за разтоварване както на Main conf, така и на DB conf и когато се опитах допълнително да заредя файла в локалната база данни, съобщението „целостта на конфигурацията структурата е нарушена” беше изхвърлен. Но базата данни е функционална. Нито тестването и коригирането, нито ChDBFl.exe не дадоха нищо.

Направих резервно копие на работещата база данни и я заредих в чиста база данни. Добавен план за обмен
http://kb.mista.ru/article.php?id=7
и създаде първоначалното изображение. Конфигурацията в базата данни с изображения е коригирана.

Ако не помогне, мога да препоръчам опцията, към която исках да прибегна:
1. намерете най-близката версия на конфигурацията, заредете я в чиста база данни (възстановима).
2. създайте напълно чиста база данни (междинна)
3. отворете конфигуратора на повредената база данни.
4. копирайте и поставете модули и обекти, в които са настъпили промени след последната версия (в моя случай е много по-лесно, тъй като промените са настъпили само в модули и форми, структурата на данните остава същата и всички промени се документират от плакати) от повредената база данни към междинната.
5. Качете междинната конфигурация.
6. Обединете го с базата данни, която се възстановява.
7. Качете възстановената конфигурация във файл.
8. Заредете конфигурацията от възстановяваната в повредената база данни.

На теория резултатът трябва да е възможно най-близо до работната база, но работата със сигурност не е лесна. Но все пак е по-добре, отколкото да загубите цялата база.


Друг вариант за решаване на проблема, свързан с повредена конфигурация на доставчика. Когато актуализирате конфигурация, която се поддържа с възможност за редактиране и целостта на конфигурацията на доставчика е компрометирана, може да се появи следното съобщение:

Моето решение е да заменя конфигурацията на нашия доставчик на база данни.
Последователността на действията е следната:
1. Изтрийте конфигурацията на доставчика, като я премахнете от поддръжката (Конфигурация->Поддръжка->Настройки за поддръжка->Премахване на поддръжка)
2. Създайте файл за доставка на конфигурация (Конфигурация->Доставка на конфигурация->Създаване на файлове за доставка и актуализации на конфигурацията). Нека наречем файла work delivery file.cf
3. Комбинираме нашата конфигурация с новосъздадения файл за доставка (Конфигурация->Сравнение, обединяване с конфигурацията от файла). Ще бъдете подканени да върнете конфигурацията обратно в поддръжка.
В прозореца за сравнение на конфигурацията, който се появява, щракнете върху „Изпълни“
4. Актуализирайте конфигурацията на базата данни (Конфигурация->Актуализиране на конфигурацията на база данни).
В идеалния случай чрез изпълнението на тези стъпки преструктурирахме конфигурацията на доставчика.
Сега можем да опитаме да актуализираме нашата конфигурация до следващата версия, както обикновено.

Грешката „Целостта на структурата на конфигурацията е нарушена“ е доста често срещана грешка в 1C 8.3 при актуализиране или в други ситуации. Нека разгледаме причината и начините за разрешаване на тази ситуация.

Вземете безплатно 267 видео урока за 1C:

Причини за грешката и нейното коригиране

Този проблем най-често възниква при актуализиране на конфигурацията на базата данни (особено при динамично актуализиране на 1C 8.3), при генериране на отчет, при публикуване на документ и т.н. Има моменти, когато грешка се появява от нищото. Намира се както във файлови бази данни, така и във варианти на клиент-сървър SQL.

Има няколко възможни решения (преди каквото и да е действие, направете резервно копие на базата данни):

  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 г. 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 или са инсталирани ключови емулатори. Може да имате лицензирана версия, но най-вероятно, преди да закупите лиценз, сте използвали нелицензирана версия и не сте я изтрили или са останали следи от нея в системата.

Как да се отървете от грешката „Открито е нарушение на целостта на системата“.

Има няколко начина за преодоляване на тази грешка.

Върнете версията на 1C:Enterprise до по-ранна. Най-новите версии, които работят без проверка на файла backbas.dll и емулатори 8.3.10.2667 И 8.3.11.2867 . Това решение е временно, тъй като... рано или късно ще излезе конфигурация, която няма да работи в тези версии.

Деинсталирайте HASP емулатора. Има много емулатори, така че е трудно да се напишат универсални инструкции за премахването им. Можете да опитате следните стъпки:

  1. Намерете и изтрийте файловете VUsb.sys и vusbbus.sys
  2. Изпълнете командите от командния ред като администратор:
    loaddrv.exe -стоп haspflt
    loaddrv.exe -премахване на haspflt
    del %systemroot%\system32\drivers\haspflt.sys
    Препоръчително е също да изтриете ключовете в системния регистър HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\haspflt\
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emulato r
    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 (деактивиране на проверката на целостта в тънък клиент)

Има и възможност за незаконно заобикаляне на проверката. С помощта на всеки шестнадесетичен редактор отворете файла backend.dll (ако имате версия 8.1) или backbas.dll (ако имате версия 8.2,8.3) от директорията bin в директорията с инсталиран 1C, потърсете HEX стойностите: 100000FFD085C00F8208F8FEFF0F8416 и заменете 85 с 31.

Информацията в края на статията е предоставена само за информационни цели и не насърчава незаконни действия!

UPD. 15.01.2019 г

Скрипт за премахване на VUSBBUS и HASPFLT
Код:

@echo изключено
setlocal enableextensions disabledelayeexpansion

за %%a в (vsubbus haspflt) извикайте: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