Имя: Пароль:
1C
1С v8
Пропал справочник в конфигурации
, ,
0 FOI1977
 
28.09.17
00:50
Здравствуйте.

У результате динамического обновления пропал справочник в конфигурации. В дереве метаданных конфигуратора его видно, в "операции -> справочники" нет.

Тестирование и исправление выдаёт ошибку:
SDBL тип поля undefined не совместим с типом поля Fld10423
Выгрузку - загрузку конфы не могу сделать, таи как есть заблокированные объекты.

Часть отчётов просто аварийно закрывает 1С. В конфигураторе "Применить изменения" вызывает вылет из конфигуратора.

Выгрузка в файловую и проверка утилитой не нашла ошибок.

Исправление в скуле DBCC CHECKDB не дало результатов.

При восстановлении из бэкапа теряем полдня работы.

Заранее спасибо.
1 FOI1977
 
28.09.17
01:44
Пробую методику Гилёва
http://www.gilev.ru/restoreib/
2 Serg_1960
 
28.09.17
02:13
Первым делом - сделай копию!

"В результате динамического обновления..." - погугли "демоническое обновление" тут на Мисте.

"Когда не знаешь что делать - чисти кэши!"(я)

"При восстановлении из бэкапа теряем полдня работы." - тебе из бэкапа восстанавливать сначала конфигурацию.

"Выгрузку - загрузку конфы не могу сделать так, как есть заблокированные объекты" - блокировка объектов поставщиком? Снимай конфигурацию с поддержки поставщика и тогда можно будет загрузить конфигурацию из бэкапа.

PS: вероятно побилась конфигурация БД. В SQL таблицы конфигураций проще загрузить из архива"напрямую"
3 FOI1977
 
28.09.17
03:13
(2) Не снять Рарус бережёт свои секреты.
4 FOI1977
 
28.09.17
03:13
Восстановил из бэкапа безглючную копию
5 FOI1977
 
28.09.17
03:14
Ударил по площадям:

USE [crm]
GO

delete from [dbo].[ConfigSave]
GO
INSERT INTO ConfigSave
SELECT * FROM [ut-test].[dbo].[Config]
GO

delete from [dbo].[_YearOffset]
GO
INSERT INTO [dbo].[_YearOffset]
SELECT * FROM [ut-test].[dbo].[_YearOffset]
GO


delete from [dbo].[Config]
GO

INSERT INTO [dbo].[Config]
SELECT * FROM [ut-test].[dbo].[Config]
GO

delete from [dbo].[DBSchema]
GO
INSERT INTO [dbo].[DBSchema]
SELECT * FROM [ut-test].[dbo].[DBSchema]
GO

delete from [dbo].[Files]
GO
INSERT INTO [dbo].[Files]
SELECT * FROM [ut-test].[dbo].[Files]
GO

delete from [dbo].[ConfigSave]
GO
INSERT INTO [dbo].[ConfigSave]
SELECT * FROM [ut-test].[dbo].[Config]
GO

delete from  [dbo].[IBVersion]
GO
INSERT INTO [dbo].[IBVersion]
SELECT * FROM [ut-test].[dbo].[IBVersion]
GO

delete from [dbo].[Params]
GO
INSERT INTO [dbo].[Params]
SELECT * FROM [ut-test].[dbo].[Params]
GO
6 FOI1977
 
28.09.17
03:14
Помогло
7 FOI1977
 
28.09.17
03:19
Что в очередной раз доказывает "Яндекс есть ума не надо", как бы гнусно это не звучало.
8 Tateossian
 
28.09.17
04:34
Я вот часто делаю демоническое обновление. Оно ж не делает реструктуризации? Кстати, какая версия SQL, ибо я подумываю перейти на SQL Server 2016 так как в нем инструкция TABLOCK работает в параллельном (!) режиме.
9 Serg_1960
 
28.09.17
11:23
(8) Если есть изменения в объектах метаданных, то платформа не предполагает и предлагает сделать демоническое обновление.

PS: а выбор вида блокировки - определяет платформа, а не SQL. Захотела фирма - и установила монопольный доступ на всю базу при обновлении. И плевать её на версию SQL.
10 Serg_1960
 
28.09.17
11:24
* "не предполагает и НЕ предлагает"
11 Serg_1960
 
28.09.17
11:39
(3) "Не снять - Рарус бережёт свои секреты." - это сказка на ночь была? :) Блокировку устанавливает разработчик в правилах поддержки поставщика. Снял с поддержки - исчезла блокировка, можно загрузить конфигурацию из файла.

PS: не путать с модулями без исходного текста.

PSS: у меня УПП+CRM("1С-Рарус")
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn