|
КД 2.1 почему конвертация отказывается искать по полям поиска ? | ☑ | ||
---|---|---|---|---|
0
Бешеный заяц
03.06.21
✎
13:28
|
Имеем правила выгрузки справочника из ЕРП в УПП
В ерп заведен реквизит КодУпп куда заносят код аналогичного справочника упп те получается КодУпп-> Код по этим же полям стоит поиск. В правилах стоит поиск по ссылке и поиск по полям поиска. Почему то если по ссылке не нашел он создает новый, котя "код" подобный есть уде в справочнике. Вопрос как лечить? |
|||
1
mikecool
03.06.21
✎
13:37
|
продолжать поиск по полям поиска?
|
|||
2
Бешеный заяц
03.06.21
✎
13:39
|
(1) стоит
|
|||
3
mikecool
03.06.21
✎
13:40
|
событие Поля поиска - может в нем косой
|
|||
4
Бешеный заяц
03.06.21
✎
13:56
|
(3) нет там все пусто было, только сейчас стал добавлять ручной поиск
|
|||
5
Бешеный заяц
03.06.21
✎
13:58
|
пытался копировать код и сравнивать между собой, все совпадает, может "левые" соимолы какие?
хотя делаю СОКРЛП при выгрузке |
|||
6
Бешеный заяц
03.06.21
✎
14:14
|
Вопрос: если отключу поиск по ссылке, а оставлю только поиск по реквизиту, в базе приемника новый элемент с каким Гуид создастся? со своим или от источника придет? насколько помню есть особенности.
|
|||
7
welwel
03.06.21
✎
14:47
|
>отключу поиск по ссылке
Гуид источника тогда выгружаться не будет |
|||
8
Бешеный заяц
03.06.21
✎
16:53
|
по какой причине может не обрабатывать модуль "Поля поиска"?
Попытался в нем "в ручную" искать вот код Код = ПараметрыОбъекта.Получить("КодДляПоиска"); УИД = ПараметрыОбъекта.Получить("УИДДляПоиска"); РезультатПоСсылке = Справочники.Контрагенты.ПолучитьСсылку(Новый УникальныйИдентификатор(УИД)); Если РезультатПоСсылке.ПолучитьОбъект() = Неопределено Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.Код ПОДОБНО &Код"; Запрос.УстановитьПараметр("Код","%"+Код+"%"); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда СсылкаНаОбъект = Выборка.Ссылка.Ссылка; КонецЕсли; Иначе СсылкаНаОбъект = РезультатПоСсылке; КонецЕсли; |
|||
9
mistеr
03.06.21
✎
17:19
|
(0) В файле-то код правильный?
|
|||
10
RomanYS
03.06.21
✎
17:23
|
(8) А ты точно как параметры передаешь? Признак поиска у них включен?
"СвойстваПоиска – соответствие, в котором хранятся текущие значения реквизитов поиска. Эти значения можно использовать в произвольных алгоритмах для идентификации объектов ИБ при загрузке данных. Следует иметь в виду, что при создании нового объекта, значения из соответствия СвойстваПоиска используются для заполнения свойств нового объекта. ПараметрыОбъекта - либо Неопределено либо Соответствие, в котором хранятся дополнительные параметры, переданные для данного объекта из источника в приемник. Если параметров передано не было, то ПараметрыОбъекта = Неопределено. В данном обработчике соответствие содержит только те параметры, для которых установлен признак поиска." |
|||
11
Бешеный заяц
03.06.21
✎
17:29
|
(10) я их как параметры выгружаю и обращаюсь
https://ibb.co/z2x4XJ6 |
|||
12
Бешеный заяц
03.06.21
✎
17:42
|
(10) на всякий случай даже поставил поиск по ним, хотя это не обязательно так как параметры и так должны присутствовать
|
|||
13
RomanYS
03.06.21
✎
17:58
|
(12) Без флага не должны
<В данном обработчике соответствие содержит только те параметры, для которых установлен признак поиска> |
|||
14
Pro-tone
03.06.21
✎
18:36
|
(0) дело может быть в том, что ты не поставил СокрЛП() на поле с кодами, по идее надо там и там.
В ПКС "КодУпп": Значение = СокрЛП(Источник.КодУпп); |
|||
15
Pro-tone
03.06.21
✎
18:37
|
или проблема с лидирующими нулями может быть еще
|
|||
16
Pro-tone
03.06.21
✎
18:38
|
короче, формат кода должен быть полностью одинаков, убраны лишние пробелы
|
|||
17
Бешеный заяц
03.06.21
✎
18:39
|
Модуль "Поля поиска" не отрабатывает, поместил туда запись в журнал регистрации дабы понять что происходит, записи нет, может есть возможность принудительно толкнуть его? или нужны обязательные параметры чтобы он принялся отрабатывать?
Код = ПараметрыОбъекта.Получить("КодДляПоиска"); УИД = ПараметрыОбъекта.Получить("УИДДляПоиска"); РезультатПоСсылке = Справочники.Контрагенты.ПолучитьСсылку(Новый УникальныйИдентификатор(УИД)); Если РезультатПоСсылке.ПолучитьОбъект() = Неопределено Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.Код ПОДОБНО &Код"; Запрос.УстановитьПараметр("Код","%"+Код+"%"); Выборка = Запрос.Выполнить().Выбрать(); //ЗаписьЖурналаРегистрации("Поиск по коду: "+Код, УровеньЖурналаРегистрации.Информация,,,"Выполнено", РежимТранзакцииЗаписиЖурналаРегистрации.Транзакционная); ТипЗаписи = "Ошибка"; Узел = ПланыОбмена.ОбменУправлениеПредприятиемУПП13.НайтиПоКоду("УПП13"); ЗаписьЖурналаРегистрации("Обмен данными.ОбменУправлениеПредприятиемУПП13.Отправка данных" ,УровеньЖурналаРегистрации[ТипЗаписи] ,Узел.Метаданные() ,Узел ,"Поиск по коду: "+Код); Если Выборка.Следующий() Тогда СсылкаНаОбъект = Выборка.Ссылка.Ссылка; ПрекратитьПоиск = Истина; КонецЕсли; Иначе //ЗаписьЖурналаРегистрации("Поиск по гуид: "+Код, УровеньЖурналаРегистрации.Информация,,,"Выполнено", РежимТранзакцииЗаписиЖурналаРегистрации.Транзакционная); Узел = ПланыОбмена.ОбменУправлениеПредприятиемУПП13.НайтиПоКоду("УПП13"); ЗаписьЖурналаРегистрации("Обмен данными.ОбменУправлениеПредприятиемУПП13.Отправка данных" ,УровеньЖурналаРегистрации[ТипЗаписи] ,Узел.Метаданные() ,Узел ,"Поиск по гуид: "+Код); СсылкаНаОбъект = РезультатПоСсылке; ПрекратитьПоиск = Истина; КонецЕсли; |
|||
18
Бешеный заяц
03.06.21
✎
18:41
|
(16) сокрЛП при выгрузке делаю, в консоли "код" в приемнике проверял, даже коды символов сверял все сходится.
|
|||
19
Pro-tone
03.06.21
✎
18:43
|
(17) должны стоять галки "продолжить искать по полям поиска", галки "Поиск" на самих полях включены должны быть
|
|||
20
Бешеный заяц
03.06.21
✎
18:45
|
(19) стоит галка продолжить по полям поиска, и у полей галка стоит
|
|||
21
Бешеный заяц
03.06.21
✎
18:51
|
у меня онлайн обмен может тут особенности есть?
|
|||
22
Pro-tone
03.06.21
✎
19:10
|
(21) да есть, он другую обработку использует, ОбменXML либо КонвертацияОбъектовИБ
|
|||
23
Pro-tone
03.06.21
✎
19:11
|
ОбменXML работает кошерно, КонвертацияОбъектовИБ - нет
|
|||
24
Бешеный заяц
03.06.21
✎
19:15
|
(22) а куда мне тогда алгоритм поиска поместить при онлайн обмене? или в той обработке данный модуль должен отрабатывать?
В каком модуле мне можно еще ссылку подменить? например произвести поиск и если нашел подменить на другой, а у текущего поставить "Отказ = Истина;" или больше негде пере определиться нельзя? |
|||
25
Pro-tone
03.06.21
✎
19:17
|
(24) надо лезть в код обработки смотреть параметры какие в процедуре или функции поиска "найтиОбъект" как-то так
|
|||
26
Pro-tone
03.06.21
✎
19:17
|
ставить отладку туда
|
|||
27
hhhh
03.06.21
✎
20:27
|
(24) ПрекратитьПоиск пробуй
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |