Имя: Пароль:
1C
 
Конвертация данных "Объект не найден"
0 Wirtuozzz_Х
 
29.08.18
14:45
При выгрузке в ПКО правила указываю:
1. Искать объект приемника по ГУИД
2. Продолжить поиск по полям поиска, если не нашли по гуид;
3. Не замещать существующие объекты;
4. Не создавать новый объект. если не найден.

При выгрузке реквизита, установлен флаг:
ВыгрузитьОбъект = Истина;

Выгрузка происходит между двумя базами через план обмена. Не пойму откуда лезет этот объект не найден. Кто сможет подсказать куда посмотреть?
1 Alexor
 
29.08.18
14:51
(0) Может это ссылка из другого объекта?
2 Alexor
 
29.08.18
14:52
+1 Где выдает объект не найден? При выгрузке/загрузке. После загрузки сам объект или в объекте реквизит?
3 Skylark
 
29.08.18
14:53
(0) Нам очень интересно и конвертацию данных мы любим, иначе за такое описание ты получил бы игнор
4 Wirtuozzz_Х
 
29.08.18
14:57
(2) После загрузки данных через синхронизацию, захожу в документ, в реквизит подразделение установлено значение: Объект не найден.

(3) Не уловил месседж
5 Optan
 
29.08.18
15:00
(0) эти пункты для ПКО правила ОБЪЕКТА который ты выгружаешь или ПКО РЕКВИЗИТА ОБЪЕКТА Подразделение??
6 Optan
 
29.08.18
15:01
(5) + для реквизита Подразделение в ПКС указано правило?
7 Wirtuozzz_Х
 
29.08.18
15:04
(5) 1. Искать объект приемника по ГУИД
2. Продолжить поиск по полям поиска, если не нашли по гуид;
3. Не замещать существующие объекты;
4. Не создавать новый объект. если не найден.  

Это для ПКО правила подразделения.

ВыгрузитьОбъект = Истина; это для ПКС реквизита подразделения из документа списание ДС с расчетного счета
8 Wirtuozzz_Х
 
29.08.18
15:05
(6) да, правило для ПКС указано явно
9 Optan
 
29.08.18
15:07
(7)
1. Получается что у тебя при выгрузке конкретного дока стоит подразделение = "Отдел1". Выгружается Guid и поля поиска -- ищется сначала по GUID потом по полям - соответствие не находится. Такого подразделения действительно нет в приемнике?
10 elCust
 
29.08.18
15:09
(8) Если <объект не найден> есть, значит было событие добавление в справочник подразделение.

Поставь отладку в событии перед загрузкой и посмотри какие данные приходят при вызове.
11 Skylark
 
29.08.18
15:09
(3) Надо сразу писать (4)
По (4) все сразу понятно, а по (0) неясно нифига
12 Wirtuozzz_Х
 
29.08.18
15:13
(9) получается, что да.

(10) Уже смотрю. Курю загрузку, сейчас дошибу ее.
13 Skylark
 
29.08.18
15:14
Предположение:

Ссылка на объект выгрузилась, а сам объект в базе приемнике отсутствует, поэтому и "объект не найден".
А в базе-приемнике объекта нет и не будет потому что "4. Не создавать новый объект. если не найден"
14 Wirtuozzz_Х
 
29.08.18
15:14
(11) ну хоть поумничать дал возможность.
15 Wirtuozzz_Х
 
29.08.18
15:15
(13) Как сделать, если выгрузилась ссылка, а объекта нет не было Объект не найден?

После загрузки

Если Объект.Подразделение.ПолучитьОбъект() = неопределено Тогда
Объект.Подразделение = Справочники.Подразделения.ПустаяСсылка();
КонецЕсли;
?
16 azt-yur
 
29.08.18
15:16
(0) через план обмена ссылочные объекты по умолчанию переносятся только ссылками и должны быть сами зарегистрированы к обмену.
Добавь в ПередВыгрузкой ПКО подразделения:
ТолькоПолучитьУзелСсылки = Ложь;
17 Wirtuozzz_Х
 
29.08.18
15:21
(16) Можно и так, а мне кажется, что если косяк в моей логике.

Надо убрать кусок ВыгрузитьОбъект = Истина;
Ведь этот кусок не имеет смысла из-за ПКО Подразделения :

1. Искать объект приемника по ГУИД
2. Продолжить поиск по полям поиска, если не нашли по гуид;
3. Не замещать существующие объекты;
4. Не создавать новый объект. если не найден.
18 Wirtuozzz_Х
 
29.08.18
15:22
Какой смысл что то выгружат, если я только ищу в базе и никогда ничего не будет создано в ней.
19 Wirtuozzz_Х
 
29.08.18
15:22
Так ведь?
20 Alexor
 
29.08.18
15:23
(18)  Цель то какая?
Если подразделение не найдено, пустую ссылку указать или подразделение должно создаться?
21 Alexor
 
29.08.18
15:24
+20 Ну и глупый вопрос, поля поиска у подразделения указаны?
22 azt-yur
 
29.08.18
15:30
(17) по поводу ВыгрузитьОбъект посмотри здесь:
Конвертация. Параметр ПКС "ВыгрузитьОбъект"

Похоже что этот параметр нерабочий, вместо него ВыгрузитьТолькоСсылку.

И скорей всего это используется для выгрузки через обработку Универсального обмена, хотя может и с планом обмена сработает, не проверял.
Как в (16) приходилось делать, выгружает при синхронизации полностью объект.
23 Wirtuozzz_Х
 
29.08.18
15:33
(20) если подразделение не найдено, то должно остаться пустым.
24 Wirtuozzz_Х
 
29.08.18
15:33
(21) Поля поиска указаны.
25 azt-yur
 
29.08.18
15:35
(23) а ну тогда (15) должно сработать
26 Skylark
 
29.08.18
15:36
(23) убери "Искать по ГУИД"
27 Wirtuozzz_Х
 
29.08.18
15:37
(26) нельзя убирать искать по ГУИД, это нужное условие
28 Skylark
 
29.08.18
15:38
(27) тогда (15)
напиши только покошернее, типа

Если НЕ ОбщегоНазначения.СсылкаСуществует(Объект.Подразделение) Тогда
29 Wirtuozzz_Х
 
29.08.18
15:39
Круть, спасибо.
30 MaxS
 
29.08.18
15:40
При выгрузке через планы обмена все попытки в конвертации установить какой-то флаг для выгрузки будут программно игнорироваться и переопределяться. Нужно выгрузить, регистрируй к обмену и всё.
31 Wirtuozzz_Х
 
29.08.18
15:43
ТолькоПолучитьУзелСсылки = Истина;
Решил вопрос вот так.
32 Wirtuozzz_Х
 
29.08.18
15:55
(30) Жесть полная, ужас страшный. Отвратительный совет.
33 Wirtuozzz_Х
 
29.08.18
15:57
(30) Да, ужас.