Имя: Пароль:
1C
1С v8
Удаления данных при обновлении конфигурации
0 abbas
 
24.03.22
07:01
Добрый день.
Есть конфигурация (бухгалтерия) на 8.3.20
Был добавлен один документ без использования расширения, при появлении новой конфигурации, физически добавляем в новую конфигурацию путем копированием данный документ.
Но когда загружаем (не сравнить объединить) в базу со старым релизом, то данные данного документа удаляются.
А типовые документы норм обновляются.
Этот документ при сравнении 2х конфигураций, не отображается, т.к. идентичные.
https://ibb.co/h270pL3 при реорганизации
Данный принцип работал со дня изменения конф с долгой протяженностью, но сегодня не сработал.
Подскажите пжста в чем может быть дело?
1 Serg_1960
 
24.03.22
08:37
"добавляем в новую конфигурацию путем копированием данный документ." - методически неверный подход (изменяются внутренние идентификаторы)
"Но когда загружаем [конфигурацию], то данные данного документа удаляются." - внутренние идентификаторы не совпадают.
"Этот документ при сравнении 2х конфигураций, не отображается, т.к. идентичные." - вероятно сравнение происходит по свойству "Имя" объекта.

"Особенности сравнения и объединения конфигураций в режиме обновления"
https://its.1c.ru/db/metod8dev/content/2299/hdoc

Для сопоставления объектов при объединении конфигурации в 1С:Предприятии 8 используются свойство "Имя" объекта метаданных и его внутренний идентификатор. Однако в различных вариантах сравнения алгоритм сопоставления объектов разный. Прежде чем подробно описать различные варианты, сначала опишем правила изменения внутреннего идентификатора. Идентификатор в пределах одной конфигурации никогда не изменяется. Идентификатор не изменяется при выгрузке конфигурации в cf или dt файлы (включая файлы поставки cf и обновления cfu). Идентификатор не изменяется при использовании механизма групповой разработки (в процессе перемещений между конфигурацией и хранилищем). Идентификатор всегда изменяется при копировании объекта, в том числе в процессе объединения конфигураций...
2 hhhh
 
24.03.22
11:43
(1) обычно CtrlC, CtrlV прокатывает и идентификатор тот же. Наверно, нестандартная ситуация - идентификатор такой уже есть в новой базе.
3 John83
 
24.03.22
11:48
(2) у меня ни разу не прокатывало - объекты всегда удалялись
4 DJ Anthon
 
24.03.22
11:59
(2) внутренние  идентификаторы там невооруженным взглядом не видно. имена объектов - это не внутренние идентификаторы. надо пользоваться сравнением и объединением конфиг. а сейчас уже и расширения нормально работают.
5 Serg_1960
 
24.03.22
14:38
У меня такое же, как у автора, было и не раз. Но это было давно, на старых платформах и особо я не заморачивался - устанавливал соответствие "вручную" и двигался дальше. Однажды удалось поймать "неуловимого Джо": платформа лажанулась при сравнении/объединении конфигураций, когда у объекта метаданных в текущей конфигурации было свойство "на поддержке с возможность изменения", а в другой конфигурации объект был "на поддержке".
6 ДедМорроз
 
25.03.22
00:32
Выгрузить конфигурацию в файлы там будет файл идентификаторов,в нем можно править,только при загрузке обратно будет такая же фигня - исправленные улетят.
Поэтому,делать на пустой конфигурации заготовку с правильными идентификаторами,и ничего не улетит.
7 rudnitskij
 
25.03.22
18:55
(6) я так реквизиты табчасти спасал один раз. Но данные удалось не потерять
8 Фрэнки
 
26.03.22
08:45
Похоже, что при таком подходе к разработке и саппорту нужно помнить, что накатываемая обновленная конфигурация должна быть потомком для той базы, которая уже установлена.

Т.е. изначально есть прод-база.

Сниаем с нее копию для разработки. И начинаем вносить изменния в конфигурацию. При этом, сама конфигурация не должна откуда-то извне перезаливаться.
Разработали в ней чего-то. Обновляли в типовом смысле, доливали, дописывали. Дошли до готовности переноса конфиги на прод.
Выгружаем конфиг в файл.
Открываем прод-базу - и можно даже залить базу на прод из файла (не сравнивая и не объединяя, а просто залить) Но надо понимать, что заливаемая конфига для прод-базы явялется потомком - прямым наследником. И тогда все будет хорошо.

Гораздо удобней для таких манипуляций использовать Хранилище конфигурации, которое надо генерить изначально из прод-базы.
Тогда даже при радикальном изменении всех типовых объектов на разработческой базе, получившей конфигурацию из хранилища, будет сохранятся наследование метаданных от прод-базы
9 Фрэнки
 
26.03.22
08:49
Т.е. в данном конкретном случае очевидно, что манипуляция с копированием документа из прода в конфигурацию для разработки происходит при том, что конфига для разработки "не родная" для этого прода.