|
Конвертация данных "Объект не найден" | ☑ | ||
---|---|---|---|---|
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) Да, ужас.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |