Обсуждение накопленного

Автор Харлампий Дымба, 14 октября 2025, 01:31

« назад - далее »

Харлампий Дымба

8000 копий для анализа и уйма времени  - чтобы принести это бесполезное хрустальное знание :)  Спасибо за интерес, без дураков.

Смотри, дело вообще не в данных. Дело в том, что в результате обычного объединения получается битый мдшник.
Возьми свою лучшую конфу, просто чистый мдшник, и разложи в две папки.
1) В конфе 1 добавь константу и сохрани.
2) В конфе 2 добавь общий реквизит документа и выведи его в колонку в любом журнале.
3) Накати на конфу 1 мдшник от конфы 2 стандартным объединением и сохрани.
А теперь "Джентльмены, подходим ближе: вот он есть (в конфигураторе ты колонку в журнале видишь) , а вот его нет (в режиме "1С: Предприятия" ты колонку не видишь).

Вообще у фокуса есть продолжение: если теперь удалить константу, и попробовать объединять конфигурации, то 1С будет говорить, что "Конфигурации идентичны". При этом конфа 1 будет битая (колонка пользователям не видна), а конфа 2 нормальная (колонка пользователям видна).

PS ИдентификаторМетаданных - это внутренний id реквизита в конфигураторе.



Харлампий Дымба

Цитата
PS ИдентификаторМетаданных - это внутренний id реквизита в конфигураторе.
Лучше так:
ИдентификаторМетаданных - это внутренний id объекта метаданных в конфигурации.

Злоп


 ИдентификаторМетаданных не изменяется вслед за изменением Идентификатора исходного объекта (например, общего реквизита «Автор»), а остаётся как был в накатываемой конфигурации
.
Накатываемая конфигурация - п2.
Что такое Идентификатор исходного объекта? - это есть идентификатор метаданных общего реквизита "автор" в п2? В П2 все в порядке с мд, он небитый? "Идентификатормптаданных" - в твоем приложении - он где, в П1? Если он не меняется и остается как был в П2 - откуда в п1 битый мд?
Твое предложение для меня набор каких-то несвязных слов, который вообще не склеивается с описанием воспроизводства проблемы... Можешь это свое предложение перефразировать как-то по-другому, понятнее...?

Харлампий Дымба

Любой объект, который ты создаёшь в конфигурации получает внутренний id (идентификатор метаданных) - число от 1 и далее:
...
         1   Задача
       475   ОбщийРеквизитДокумента.Комментарий
     66404   ОбщийРеквизитДокумента.новый1
       476   ГрафаОтбора.Контрагент
       471   Нумератор.АктОС1
       472   Нумератор.ПриходныйОрдерМ4
     58672   Нумератор.СчетаФактуры
        12   Константа.ДатаРегистрации
        13   Константа.НазваниеОрганизации
...

Упрощенно:
Пусть у тебя в исходной конфигурации 1000 объектов.
Когда ты создал в П1 константу (пусть "ОГРН")она получила id = 1001.
Когда ты создал в П2 общий реквизит документа (пусть "Автор") он тоже получит id = 1001
Когда ты накатываешь на П1 объединением конфигурацию П2, то id добавляемого общего реквизита уже занят (он присвоен константе ОГРН) и общий реквизит "Автор" получает новый id = 1002.
И вот тут упущение - в колонке журнала ссылка не изменяется (а должна!) и остается - id 1001. Т.е в колонке журнала вместо Автора будет выводится Константа.ОГРН. Но в качестве заплатки 1С в таком случае просто не показывает эту колонку вообще.

Ну это же проще 1 раз увидеть, чем 7 раз услышать. Поэтому
Цитата
...возьми свою лучшую конфу, просто чистый мдшник, и разложи в две папки..

Или запустить код для проверки - возможно проблема обнаружится, тогда будет понятно как это выглядит.


Злоп

Сразу бы так написать... ;-)