Имя: Пароль:
1C
 
Названия таблиц баз данных РИБ: одинаковые ли?
, , Rulan87
0 Caesar
 
11.03.25
09:58
Здравствуйте.

РИБ, Конфигурация Розница 2.3.21.37
Обновили в ЦБ, после чего приступили к обновлению периферийных баз данных (файловые).
В двух при синхронизации появляется сообщение о том, что не обнаружена таблица RefSIns21018. Я так понимаю, что это какие-то предопределенные данные
В центральной базе (SQL) такой таблицы не обнаружил.
К несчастью, бэкапов периферийных баз сделано не было.
Пробовал сбросить главный узел (resetMasterNode) и загрузить конфигурацию из файла ЦБ - не помогло.
Можно ли как-то выкрутиться из ситуации без генерации периферийного узла?
Заранее благодарен.
1 Гипервизор
 
11.03.25
10:17
Может, всё-таки RefSInf? Тогда предопределённые данные справочника, да.
А как искали в ЦБ?
2 Ёпрст
 
11.03.25
10:45
(0) >>>Названия таблиц баз данных РИБ: одинаковые ли?
Нет, конечно.
Одинаковый только cf, т.е унутренние идентификаторы метаданных, а вот сами таблицы бд с другими идентификаторами, их связь как раз и валяется в дбсхема
3 Ёпрст
 
11.03.25
10:46
>>>В центральной базе (SQL) такой таблицы не обнаружил.

её там и не будет, она будет с другим id
4 Ёпрст
 
11.03.25
10:51
А так, ну создай табличку руками в ПБ.
5 Caesar
 
11.03.25
11:42
(1) На Инфостарте скачал обработку СтруктураХраненияБазыДанных.epf
Выдает Объекты и имена соответсвующих им таблиц

(2) А ДБСхема это где такое посмотреть можно?

(4) А как это в файловой сделать?
6 Ёпрст
 
11.03.25
11:47
(5) в файловой...можно сделать только через одно место.
У тя ж скуль есть. Сделай всё там
7 Ёпрст
 
11.03.25
11:49
в файловой, в лучшем случае, поможет реструктуризация таблиц, и то, скорее нет, чем да.
8 Caesar
 
11.03.25
12:04
(7) Реструктуризация таблиц дает ту же ошибку об отсутствии RefSInf

(6) придется на сервер тащить ПБ, делать нечего
9 Ёпрст
 
11.03.25
12:16
(8) расширения есть ?
10 Caesar
 
11.03.25
12:30
(9) Да, есть. Патчи от 1С и доработки.
11 Caesar
 
11.03.25
13:15
(6) В скуль тоже затянуть не выходит, при выгрузке на отсутствие той же таблицы ругается RefSInf
Может, схему поправить или только хуже будет?
А в файловой таблицу добавить - это через ToolCD или еще инструмент есть какой-то?
12 Ёпрст
 
11.03.25
13:44
(11) платформа, какой версии хоть ?
13 Serg_1960
 
11.03.25
13:46
В распределенных базах идентичная конфигурация. Это азбука. Когда-то давно, когда Земля была тёплая и по ней бегали мамонты... эээ.. забыл что хотел сказать... Ааа, - и предопределенные данные тоже были идентичные.

Но сейчас это неточно. Когда создание предопределенных данных стало доступно даже юзверям, «Жить стало лучше, жить стало веселее»(с).

И разработчики конфигураций были вынуждены дополнить механизм обмена данными программной надстройкой по обмену/синхронизацией предопределенных данных...
14 Caesar
 
11.03.25
13:56
(12) 8.3.24.1586 x32
15 Serg_1960
 
11.03.25
14:03
Короче, если моё предположение верно, то нужно найти наименование справочника _Reference21018 и создать хотя бы один предопределенный элемент... а потом удалить его.

PS: и само собой разумеется, после каждой операции (добавление/удаление предопределенных в конфигураторе) - взаимный сеанс обмена данными между узлами.
16 Caesar
 
11.03.25
14:00
(13) Ваше сообщение дало мне пищу для размышлений в связи вот с чем:

В этой информ. базе есть план видов характеристик  "ПраваПользователей", в котором есть элемент предопределенных данных "НеСопоставлятьТовары". В Конфигураторе ЦБ этот элемент один, в режиме Предприятие ЦБ этих элементов 10 штук и все предопределенные.
Не может это быть связано с проблемой?
17 Caesar
 
11.03.25
14:01
(15) нет такого, по крайней мере, в ЦБ
18 Ёпрст
 
11.03.25
14:04
(14) Пробуй 25 релиз или 8.3.24.1663 там это чинили
19 Ёпрст
 
11.03.25
14:14
* и выше
20 Serg_1960
 
11.03.25
14:18
(16) Скорее всего это не связано с озвученной проблемой. Ибо ранее Вы сказали "В центральной базе (SQL) такой таблицы не обнаружил".

(17) А что есть с окончанием "21018"?
21 Caesar
 
11.03.25
14:37
(20) в ЦБ - ничего
Впрочем, я смотрел обработкой с Инфостарта, надо бы непосредственно таблицы в MSSQL посмотреть
22 Ёпрст
 
11.03.25
14:20
(20) её там и не будет, никогда см (2),(3)
23 Ёпрст
 
11.03.25
14:21
(20) подыми 24 релиз до 1667 хотя бы, на нем если сразу не заведётся, пробуй сделать реструктуризацию в тии
24 Serg_1960
 
11.03.25
14:28
(22) Спорить не буду, - Вы не правы.
25 Ёпрст
 
11.03.25
14:30
(24) не прав в чем ? Что имена таблиц в центре и в перефирий ке всегда разные ? Вы это хотите оспорить ?
26 Caesar
 
11.03.25
14:39
(23) Спасибо, попробую.
А все же - ДБСхема где лежит? Это одна из таблиц?
27 Ёпрст
 
11.03.25
14:42
(26)
1. dbo.DBSchema
2. DBNames в табличке dbo.Params

вот эти 2 отвечают за согласование между идентификаторами метаданных и реальных имен табличек в базе.
28 Serg_1960
 
11.03.25
15:05
(25) Стоп. Перечитал самого себя... sorry, был не прав. Я несколько (совсем) об другом хотел сказать.
29 Caesar
 
11.03.25
15:10
(27) Благодарю, буду знать.
30 Serg_1960
 
11.03.25
15:11
+(28) Если в ПУ не обнаружена таблица RefSInf21018, то (там-же в ПУ) можно узнать какому объекту она бы принадлежала, если бы была. Я так думаю что это справочник (15). После этого в ЦУ можно создавать/удалять предопределенные элементы.
31 Serg_1960
 
11.03.25
18:24
Чуть больше времени выдалось... нагуглил:

Версия 8.3.24.1667:
"При тестировании и исправлении с проверкой логической целостности информационных баз, использующих разделение данных, ошибочно удаляются пустые таблицы предопределенных данных."
Источник: https://bugboard.v8.1c.ru/error/000157288

"Получил такую же ошибку на платформе 8.3.24.1586... В итоге средствами SQL перенес удаленную таблицу из копии потом выполнил Реструктуризацию, проблема ушла."
Источник: https://forum.infostart.ru/forum9/topic308646/ (пост №19)
32 Serg_1960
 
11.03.25
18:54
Написал пару строк кода, озвучивается какая таблица каким объектам принадлежит. Пример работы в ЗУПе:
...
_RefSInf1339 (Справочник.ВидыВыплатБывшимСотрудникам)
_RefSInf43296 (Справочник.ВидыДеятельностиСпециалистов)
_RefSInf45135 (Справочник.ВидыАттестацийСотрудников)
...
Можно/нужно запустить в копии базы из архива, где нет озвученной автором проблемы. Обработка-крохотулька собственной персоной:

    ЧтоИщем = "_RefSInf";
    СтруктураХранения = ПолучитьСтруктуруХраненияБазыДанных(,Истина);
    Для Каждого Таблица Из СтруктураХранения Цикл
        Если СтрНайти(Таблица.ИмяТаблицыХранения, ЧтоИщем) Тогда
            Сообщить(Таблица.ИмяТаблицыХранения + " (" + Таблица.Метаданные + ")");
        КонецЕсли;
    КонецЦикла;
33 Caesar
 
11.03.25
19:55
(32) Дык нет ее, этой копии базы
34 Ёпрст
 
11.03.25
20:15
(33) обнови платформу, 1с признала этот баг и поправила в 1667
35 Serg_1960
 
11.03.25
20:26
(33) Тогда запусти в той, что есть - это ж "структура хранения" - она реальное наличие таблиц в БД не проверяет :) Как мне кажется... но это не точно :))