Решение "Нарушена целостность структуры конфигурации" для 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С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

14400 руб.

29.04.2020    33005    107    152    

73

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

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.2 от 09.06.2024!

19200 руб.

26.08.2018    52261    16    61    

55

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

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

3600 руб.

10.02.2017    110745    664    174    

703

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

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

4800 руб.

27.10.2021    24120    242    35    

79

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

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

4800 руб.

06.10.2023    4120    35    18    

44
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 1474 08.10.10 15:07 Сейчас в теме
10063820 Нарушена целостность структуры конфигурации
Проблема:
В клиент-серверном варианте информационной базы при сохранении конфигурации информационной базы, в которой до этого выполнялось динамическое обновление, а также при последующем запуске Конфигуратора или Предприятия диагностируется ошибка
Нарушена целостность структуры конфигурации
и происходит аварийное завершение работы программы.


Ошибка исправлена в тестовом релизе 8.2.12.92
6. iov 407 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 828 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 Сейчас в теме
Автор спасибо такое бывало и не обнажды. Лечил востановлением из бекапа пробовал разные методы колдовства но они почемуто не сработали.При случае попробую и ваш метод. Про результат обязательно отпишусь. Спасибо за роботу так держать.
Оставьте свое сообщение