Ошибка при обновлении конфигурации "Бухгалтерия для Украины" с 1.2 на 2.0

1. macho210386 13 27.01.20 15:32 Сейчас в теме
Обновляю конфигурацию "Бухгалтерия для Украины" (конфигурация снята с поддержки) с версии 1.2.51.1 на 2.0.19.1.
Платформа: 1С:Предприятие 8.3 (8.3.14.1854)
База файловая.

В процессе обновления выдаёт ошибку:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка SDBL:
Таблица или поле parentPredefinedID не содержится в разделе FROM

Базу тестировал ошибок нет.
Если базу (версии 1.2.51.1) внести изменение в конфигурацию и сохранить данная ошибка не повторяется.
Судя по всему проблема с предопределенными элементами справочника или плана видов характеристик, только как понять какого справочника или плана видов характеристик?!
По теме из базы знаний
Найденные решения
7. macho210386 13 29.01.20 11:31 Сейчас в теме
Нашёл решение: включаем технический журнал: файл log.cfg

<config xmlns="http://v8.1c.ru/v8/tech-log">
        <dump create="true" location="C:\dumps" prntscrn="true" type="2"/>
        <log history="72" location="C:\logs">
		<event><eq property="name" value="EXCP"/></event>
                <event><eq property="name" value="EXCPCNTX"/></event>
                <event><eq property="name" value="PROC"/></event>
                <event><eq property="name" value="ADMIN"/></event>       
                <event><eq property="name" value="MEM"/></event>       
                <event><eq property="name" value="LEAKS"/></event>       
                <property name="all"/>
        </log>
</config>
Показать


Далее пытаемся обновить конфигурацию - ошибка. Затем журнале ищем эту ошибку:

37:52.762602-0,EXCP,4,process=1cv8,OSThread=12192,Usr=DefUser,DBMS=DBV8DBEng,DataBase=Переход 1.2 на 2,Exception=DataBaseException,Descr='Ошибка SDBL:
Таблица или поле parentPredefinedID не содержится в разделе FR OM'
37:52.762603-0,EXCPCNTX,0,ClientComputerName=PC,ServerComputerName=PC,UserName=,ConnectString='File="C:\Переход 1.2 на 2.0";'
37:52.762604-3,EXCPCNTX,3,SrcName=SDBL,process=1cv8,OSThread=12192,Usr=DefUser,DBMS=DBV8DBEng,DataBase=Переход 1.2 на 2,Trans=0,Sdbl='SEL ECT T1.PredefinedID PredefinedID, T1.Description Description, T1.ID ID, T2.ID ParentID
INTO #mdUpdated_O
FR OM #mdUpdated_O2 T1
INNER JOIN Reference127 T2
ON T1.parentPredefinedID = T2.PredefinedID
WH ERE T1.parentPredefinedID <> 0x00000000000000000000000000000000 AND T2.ID IS NOT NULL'


Из ходя из запроса я понял, что проблема в справочнике Reference127 (текст "INNER JOIN Reference127");

Далее я использовал обработку со следующим кодом:

Процедура КнопкаВыполнитьНажатие(Кнопка)
	
        //Названия - -это таблица значений на форме
	Названия.Очистить();

	МассивИменМетаданных = Новый Массив();
	Для каждого Объект Из Метаданные.Справочники Цикл
		МассивИменМетаданных.Добавить(Объект.ПолноеИмя());
	КонецЦикла;

	// Таблица значений, содержащая таблицы указанного объекта.
	Таблицы = ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных);
	Для Каждого Таблица Из Таблицы Цикл

		НоваяСтрока = Названия.Добавить();
		НоваяСтрока.Справочник = Таблица.Метаданные;
		НоваяСтрока.Название = Таблица.ИмяТаблицыХранения;

	КонецЦикла;
	
КонецПроцедуры
Показать


И сформировав список справочников, я нашёл, что это справочник "Способы отражения зарплаты в регл. учете". В 1.2 иерархия была отключена, а в 2.0 включена. Тогда в ред. 1.2 я включил иерархию в данном справочнике и обновление конфигурации прошло успешно.
krava_vlad; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. acanta 27.01.20 15:35 Сейчас в теме
Если вы это делаете на 32х версии виндоус, попробуйте на 64х.
3. macho210386 13 27.01.20 15:38 Сейчас в теме
(2) вы имеете ввиду версию платформы 1С?
6. macho210386 13 27.01.20 16:01 Сейчас в теме
4. acanta 27.01.20 15:38 Сейчас в теме
5. macho210386 13 27.01.20 15:39 Сейчас в теме
7. macho210386 13 29.01.20 11:31 Сейчас в теме
Нашёл решение: включаем технический журнал: файл log.cfg

<config xmlns="http://v8.1c.ru/v8/tech-log">
        <dump create="true" location="C:\dumps" prntscrn="true" type="2"/>
        <log history="72" location="C:\logs">
		<event><eq property="name" value="EXCP"/></event>
                <event><eq property="name" value="EXCPCNTX"/></event>
                <event><eq property="name" value="PROC"/></event>
                <event><eq property="name" value="ADMIN"/></event>       
                <event><eq property="name" value="MEM"/></event>       
                <event><eq property="name" value="LEAKS"/></event>       
                <property name="all"/>
        </log>
</config>
Показать


Далее пытаемся обновить конфигурацию - ошибка. Затем журнале ищем эту ошибку:

37:52.762602-0,EXCP,4,process=1cv8,OSThread=12192,Usr=DefUser,DBMS=DBV8DBEng,DataBase=Переход 1.2 на 2,Exception=DataBaseException,Descr='Ошибка SDBL:
Таблица или поле parentPredefinedID не содержится в разделе FR OM'
37:52.762603-0,EXCPCNTX,0,ClientComputerName=PC,ServerComputerName=PC,UserName=,ConnectString='File="C:\Переход 1.2 на 2.0";'
37:52.762604-3,EXCPCNTX,3,SrcName=SDBL,process=1cv8,OSThread=12192,Usr=DefUser,DBMS=DBV8DBEng,DataBase=Переход 1.2 на 2,Trans=0,Sdbl='SEL ECT T1.PredefinedID PredefinedID, T1.Description Description, T1.ID ID, T2.ID ParentID
INTO #mdUpdated_O
FR OM #mdUpdated_O2 T1
INNER JOIN Reference127 T2
ON T1.parentPredefinedID = T2.PredefinedID
WH ERE T1.parentPredefinedID <> 0x00000000000000000000000000000000 AND T2.ID IS NOT NULL'


Из ходя из запроса я понял, что проблема в справочнике Reference127 (текст "INNER JOIN Reference127");

Далее я использовал обработку со следующим кодом:

Процедура КнопкаВыполнитьНажатие(Кнопка)
	
        //Названия - -это таблица значений на форме
	Названия.Очистить();

	МассивИменМетаданных = Новый Массив();
	Для каждого Объект Из Метаданные.Справочники Цикл
		МассивИменМетаданных.Добавить(Объект.ПолноеИмя());
	КонецЦикла;

	// Таблица значений, содержащая таблицы указанного объекта.
	Таблицы = ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных);
	Для Каждого Таблица Из Таблицы Цикл

		НоваяСтрока = Названия.Добавить();
		НоваяСтрока.Справочник = Таблица.Метаданные;
		НоваяСтрока.Название = Таблица.ИмяТаблицыХранения;

	КонецЦикла;
	
КонецПроцедуры
Показать


И сформировав список справочников, я нашёл, что это справочник "Способы отражения зарплаты в регл. учете". В 1.2 иерархия была отключена, а в 2.0 включена. Тогда в ред. 1.2 я включил иерархию в данном справочнике и обновление конфигурации прошло успешно.
krava_vlad; +1 Ответить
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)