Решение "Нарушена целостность структуры конфигурации" для SQL

08.10.10

Задачи пользователя - Корректировка данных

При использовании динамического обновления конфигурации, работающей под SQL Server, в один прекрасный момент можно увидеть сообщение, информирующее о том, что "Нарушена целостность структуры конфигурации", и база становится неработоспособна ни, в режиме Конфигуратора, ни, в режиме Предприятия, так что же делать?

Такая ситуация может возникнуть при монопольном обновлении ИБ в которой ранее производились динамические обновления.

Итак приступим:

Делаем резервную копию средствами SQL Server.

Заходим в SQL Management Studio и создаем новый запрос к нашей ИБ.

 Выполняем запрос :

SELECT FileName, Modified FROM Config
WHERE FileName Like '%_dynupdate_%'
ORDER bY FileName, Modified

должен отобразиться список файлов вида, где [.число] означает возможный суффикс-расширение.

Для каждой группы файлов, начинающейся с одинакового УИД1, ориентируясь на значение поля Modified удаляем все более старые записи и заменяем в поле FileName значение наесли получившиеся строка уже существует в ИБ то необходимо сравнить их даты изменения (поле Modified) и оставить самый новый.

Пример:

из

FileName Modified
02b6f4b6-ebfa-4aab-9e30-e5f0a29588d1_dynupdate_2d7c76c5-9819-418f-a4a8-11085dfb1f7d 4010-10-08 02:36:08.000
02b6f4b6-ebfa-4aab-9e30-e5f0a29588d1_dynupdate_2d7c76c5-9819-418f-a4a8-11085dfb1f7d.0 4010-10-08 02:36:08.000
dc230ac5-7853-4d1f-8d45-168d28f1b6b0_dynupdate_abbd5ed3-1e1b-4752-b63b-eb5072af5d99 4010-10-08 03:04:41.000
dc230ac5-7853-4d1f-8d45-168d28f1b6b0_dynupdate_abbd5ed3-1e1b-4752-b63b-eb5072af5d99.0 4010-10-08 03:04:41.000

должно получиться

FileName Modified
dc230ac5-7853-4d1f-8d45-168d28f1b6b0 4010-10-08 03:04:41.000
dc230ac5-7853-4d1f-8d45-168d28f1b6b0.0 4010-10-08 03:04:41.000

См. также

Исправление в 1С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

Корректировка данных Зарплата Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    2640    30    15    

35

Тестирование и исправление ключей аналитики ERP, УТ11, КА

Корректировка данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    107307    636    173    

679

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27946    82    146    

61

Исправление ошибки закрытия месяца "Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости по организации". УТ 11.4,УТ 11.5, КА 2.4,КА 2.5, ERP 2.4, ERP 2.5, КА 2 Казахстан, Управление торговлей 3 для Казахстана

Закрытие периода Корректировка данных Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Закрытие месяца - важный процесс в современных конфигурациях, таких как УТ 11.4, УТ 11.5, КА 2.4, КА 2.5 ERP 2.4,ERP 2.5, КА 2 Казахстан, УТ 3 Казахстан регламентные операции влияют на расчет себестоимости, и ошибки в данном расчете не дают картины деятельности организации.

2400 руб.

27.10.2021    22563    302    35    

74

Заполнение документа "Корректировка регистров" произвольными данными

Закрытие периода Корректировка данных Платформа 1С v8.3 Система компоновки данных 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    50325    171    29    

121

Исправление ошибок по НДФЛ и взаиморасчетам с сотрудниками в 1С:Бухгалтерия 3.0

Корректировка данных Зарплата Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Внешняя обработка предназначена для исправления самых различных ошибок, возникших по самым разным причинам. Общее проявление этих ошибок видно в различии данных между: проводками и различными отчетами по НДФЛ, заполнении ведомостей на выдачу зарплаты, неверным расчетом НДФЛ при начислении ЗП и т.д.

3600 руб.

09.02.2024    725    3    4    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. oberonm 9 08.10.10 08:29 Сейчас в теме
только на днях произошло подобное непотребство. пришлось восстанавливать из старого бэкапа и данные из таблиц экспортировать
13. denp2002 10.03.11 01:28 Сейчас в теме
К данной публикации нашел запрос, который мне помог

delete from Config where FileName in (
select c.filename from Config as c
inner join (
select * from (
SELECT max( modified ) over (partition by substring(FileName,0,37)) as mdt
,SUM(1) over (partition by substring(FileName,0,37)) as sm, substring(FileName,0,37) fs
, substring(FileName,48,37) sc
, *
FROM Config
WHERE FileName Like '%_dynupdate_%')as a
where a.sm != 1 ) as b
on b.mdt != c.modified and b.FileName = c.FileName)

delete from Config where FileName in (
select filename from (
select MAX(Modified) over(partition by substring(a.filename, 0, 37) ) as mdt
, *
from Config as a
where LEN(a.FileName) = 36
or a.FileName like '%_dynupdate_%'
) as b
where b.mdt != b.Modified
)

update Config set filename = substring(filename, 0, 37)
where FileName like '%_dynupdate_%'
2. ПСВ 114 08.10.10 08:36 Сейчас в теме
Для каждой группы файлов, начинающейся с одинакового УИД1, ориентируясь на значение поля Modified удаляем все более старые записи и заменяем в поле FileName значение на <УИД1[.число]> если получившиеся строка уже существует в ИБ то необходимо сравнить их даты изменения (поле Modified) и оставить самый новый


Так значит в последнем примере , надо оставить только полседнюю строчку?
а не две.
или ты не правильно объяснил.
10. b-real 20.10.10 00:53 Сейчас в теме
+(2)
Полагаю, что вместо первой строки результирующей таблицы из примера должна быть одна из первых 2х строк таблицы-источника.Отсюда вопрос, а как определить какую строчку нужно оставить? В приведенном примере у строчек с одинаковыми УИД1 отличия только в суффиксе-расширении, поля Modified совпадают.
3. manlak 77 08.10.10 09:49 Сейчас в теме
седня такая же беда случилась, даже в конфигуратор не пускало,
1С - это - ****************** (много мата).
И по этой технологии не получилось. Пришлось с бэкапа восстанавливать
4. manlak 77 08.10.10 09:50 Сейчас в теме
но плюс все равно за поднятие темы! У нас просто этих строк ОЧЕНЬ много скорей всего из-за этого, это если мало тогда подойдет возможно
5. Istur 1472 08.10.10 15:07 Сейчас в теме
10063820 Нарушена целостность структуры конфигурации
Проблема:
В клиент-серверном варианте информационной базы при сохранении конфигурации информационной базы, в которой до этого выполнялось динамическое обновление, а также при последующем запуске Конфигуратора или Предприятия диагностируется ошибка
Нарушена целостность структуры конфигурации
и происходит аварийное завершение работы программы.


Ошибка исправлена в тестовом релизе 8.2.12.92
6. iov 406 09.10.10 01:13 Сейчас в теме
5 ага и еще 10 подобных вылезет.... Заколебали тестировать продукты за деньги ... реально платформа стала еще более глючная чем 8.0 первые... Причем критических ошибок с падением данных стало больше кажется.
P.S. не поверите но 3 фирмы откатились на 7.7 из-за того что та стабильнее и мене проблемно на линксах с вайном запускается нежели 8 ки.
7. pri_hod 77 10.10.10 12:50 Сейчас в теме
Поставил, вроде ошибка исчезла но при запуске УТ появляется сообщение "ИнформацияОбОшибке" отладчиком отловил что невозможно создать
ComConnector = Новый COMОбъект(УправлениеСоединениямиИБ.ИмяCOMСоединителя())
8. RailMen 824 11.10.10 23:02 Сейчас в теме
У меня такое НЕПОТРЕБСТВО (слово понравилось) было в начале сентября на ЗУП конфе, а вот буквально вчера на БП. Платформа-бяка!
9. ndacoder 110 18.10.10 13:16 Сейчас в теме
вот альтернативное шаманство для тех кому не помогло http://infostart.ru/public/76964/
11. Gens76 11.11.10 23:25 Сейчас в теме
Быстрее всего поправить это дело через копирование файлов (Config и SaveConfig.) через утилиту (при условие если есть хотяб файл конфигурации )
http://www.interface.ru/home.asp?artId=4013
12. vasiliy_b 284 02.12.10 11:30 Сейчас в теме
Может кто скрипт перепишет, который сам сравнит строки и удалит из этих таблиц лишние записи...
К сожалению моих знаний в SQL запросах пока недостаточно, чтобы самому его написать...
14. Maks_Payn 05.10.11 11:07 Сейчас в теме
пробывал запрос в SQL 2008 и он мне ругнулся на синтаксис...
можете подсказать как будет выглядить запрос для 2008 сервера?
17. PastorNak 13 25.11.11 13:31 Сейчас в теме
(14) Maks_Payn, проверьте соотбетствие кавычек, обычно при копировании возникает глюк кодировки
15. PastorNak 13 25.11.11 13:29 Сейчас в теме
Если есть живая копия базы:
Вылечилось скриптом

GO
DROP TABLE [dest].[dbo].[Config]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dest].[dbo].[Config](
[FileName] [nvarchar](128) NOT NULL,
[Creation] [datetime] NOT NULL,
[Modified] [datetime] NOT NULL,
[Attributes] [smallint] NOT NULL,
[DataSize] [int] NOT NULL,
[BinaryData] [image] NOT NULL,
PRIMARY KEY CLUSTERED
(
[FileName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
INSERT INTO [dest].[dbo].[Config]
SELECT * FROM [src].[dbo].[Config]
GO
где dest - повреждённая база, а src - восстановленная из архива.
pri_hod; Norml; Letos; +3 Ответить
16. PastorNak 13 25.11.11 13:30 Сейчас в теме
18. avega 103 03.07.12 08:38 Сейчас в теме
Если используется терминальный вариант подключения к базе, и ошибка вылетает лишь у одного пользователя а остальных пускает в базу, то достаточно почистить файлы в подкаталогах C:\USERS\ИМЯ_Пользователя\Application Data\1C\1Cv82. После этого необходимо будет добавить в список баз ту базу на которой вылетала ошибка т.к. список баз обнулится. И можно работать! ;) Перезагрузка сервера не требуется. Сие актуально для Windows Server
19. dyak84 23.04.13 18:06 Сейчас в теме
Автор спасибо такое бывало и не обнажды. Лечил востановлением из бекапа пробовал разные методы колдовства но они почемуто не сработали.При случае попробую и ваш метод. Про результат обязательно отпишусь. Спасибо за роботу так держать.
Оставьте свое сообщение