Имя: Пароль:
1C
1С v8
Ошибка при обновлении конфигурации с 1.2 на 2.0
,
0 satoru
 
27.01.20
12:49
Обновляем конфигурацию "Бухгалтерия для Украины" (конфигурация снята с поддержки) с версии 1.2.51.1 на 2.0.19.1.
Платформа: 1С:Предприятие 8.3 (8.3.14.1854)
База файловая.

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

Базу тестировал ошибок нет.
1 satoru
 
27.01.20
12:56
Да и ещё, если базу (версии 1.2.51.1) внести изменение в конфигурацию и сохранить данная ошибка не повторяется.
Судя по всему проблема с предопределенными элементами справочника или плана видов характеристик, только как понять какого?!
2 Amra
 
27.01.20
13:10
Сравни какая платформа требуется для 2.0 с той, которая установлена у вас
3 satoru
 
27.01.20
13:12
2.0 требует не ниже: 8.3.14.1694
Я использую: 8.3.14.1854
4 satoru
 
27.01.20
13:48
up
5 satoru
 
27.01.20
15:23
up2
6 satoru
 
27.01.20
17:18
up3
7 satoru
 
29.01.20
11:30
Нашёл решение: включаем технический журнал: файл 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 не содержится в разделе FROM'
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='SELECT T1.PredefinedID PredefinedID, T1.Description Description, T1.ID ID, T2.ID ParentID
INTO #mdUpdated_O
FROM #mdUpdated_O2 T1
        INNER JOIN Reference127 T2
            ON T1.parentPredefinedID = T2.PredefinedID
WHERE T1.parentPredefinedID <> 0x00000000000000000000000000000000 AND T2.ID IS NOT NULL'

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

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

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

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

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

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

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

И сформировав список справочников, я нашёл, что это справочник "Способы отражения зарплаты в регл. учете". В 1.2 иерархия была отключена, а в 2.0 включена. Тогда в ред. 1.2 я включил иерархию в данном справочнике и обновление конфигурации прошло успешно.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn