Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Почему конвертация переписывает элементы, которые не должна переписывать?

Почему конвертация переписывает элементы, которые не должна переписывать?
Я
   Сияющий Асинхраль
 
16.04.21 - 14:40
Написал переброску из одной базы в другую с помощью КД2. В номенклатуре установил галку "Не замещать существующие объекты в приемнике при загрузке, а только создавать новые и заполнять их". Всегда считал что в случае если обмен осуществляется через файл XML, то этой галки достаточно, чтобы элемент не перезаписывался. Но выясняется, то Наименования элементов справочника меняются Даже при этой галке. Т.е. перезапись идет. Вопрос, как указать Конвертации, чтобы элементы не перезаписывались в принципе? Причем по наименованию даже поиска нет, от слова Совсем... :-(
   Курцвейл
 
1 - 16.04.21 - 14:44
(0) Надо установить признак "Не искать по ссылке"
Есть обработчики кода при событиях, можно там свой код использовать.
   d4rkmesa
 
2 - 16.04.21 - 14:45
(0) КД2 последняя? Если нет - там были ошибки и с поиском, и с перезаписью.
   Сияющий Асинхраль
 
3 - 16.04.21 - 14:48
(2) Да, КД последняя...
(1) Убрать галку "Искать объект приемника по внутреннему идентификатору объекта источника" имеешь ввиду? А обработчики есть, но мне то по сути надо просто чтобы найденный элемент не менялся, что здесь еще писать?
   Сияющий Асинхраль
 
4 - 16.04.21 - 14:51
Я конечно могу у каждого реквизита поставить галку "Не замещать значение свойства у существующих объектов в приемнике"... Но как-то не правильно расставлять эту галку у реквизитов, если у элемента стоит "Не замещать объект..."
   DimVad
 
5 - 16.04.21 - 14:53
В (1) самый надёжный способ. Перед записью проверяете был ли он найден, и если да - Отмена.
   ГдеСобакаЗарыта
 
6 - 16.04.21 - 14:54
Если Наименование это поле поиска, то само собой оно перезапишется.
   Сияющий Асинхраль
 
7 - 16.04.21 - 14:58
(6) Нет, не поле поиска...
(5) Туплю. Где в КД "Перед записью"? При загрузке, после загрузки есть, а где Перед записью?
   DimVad
 
8 - 16.04.21 - 15:03
(7) Ну например так :

"При загрузке
Условия возникновения события
Только для платформы V8.
Событие выполняется после попытки идентификации. В случае успешной синхронизации доступен найденный объект. В противном случае его значение Неопределено. Можно произвести произвольную инициализацию, заполняемого данными объекта.

Параметры:
ОбъектНайден - Булево. Если значение параметра равно Ложь, то объект не идентифицирован, то есть не найден в информационной базе

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

НеЗамещатьОбъект - Булево - Если установить значение Истина, то существующий объект информационной базы не будет изменен.
"
Или "Перед загрузкой"
НеЗамещатьОбъект - Если для данного параметра установить значение Истина, то объект идентифицированный при загрузке (т.е. найденный в информационной базе приемнике по значению синхронизирующих полей) не будет изменен/замещен.
   Сияющий Асинхраль
 
9 - 16.04.21 - 15:09
(8) НеЗамещатьОбъект вижу, думаешь флаг установленный программно как-то кардинально отличается от того же флага установленного просто галочкой? Я и начал вопрос с того, что галочку Установил, но она не сработала, поскольку все объекты перезаписались...
   hhhh
 
10 - 16.04.21 - 15:13
(9) я вообще тупо пишу в обработчике после загрузки
Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
    Объект - Объект.Ссылка.ПолучитьОбъект();
КонецЕсли;

срабатывает на 100%
   hhhh
 
11 - 16.04.21 - 15:14
Объект = Объект.Ссылка.ПолучитьОбъект();
   polosov
 
12 - 16.04.21 - 15:18
(10) И вправду тупо.
   Сияющий Асинхраль
 
13 - 16.04.21 - 15:22
НеЗамещатьОбъект даже установленный программно не срабатывает;
Даже не срабатывает галка "Не замещать значение свойства у существующих объектов в приемнике"
Сейчас попробую (10)
   Сияющий Асинхраль
 
14 - 16.04.21 - 15:35
(10) Забавно :-), но сработал только вариант (10), так что пусть оно будет тупо трижды смешно, но зато работает, а 1С понаделала кучу галочек и параметров, которые тупо не работают. Спасибо!!!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.