|
Конвертация данных при загрузке не выполняется обработчик "Поля поиска" | ☑ | ||
---|---|---|---|---|
0
Trance_1C
24.08.16
✎
04:53
|
Приветствую коллеги!
Подскажите по КД, при загрузке не выполняется код обработчика ПКО "Поля Поиска" где перечислены поля для последовательного поиска объекта в приемнике после неудачного поиска по ссылке, вот этот код не выполняется Если СвойстваПоиска["ЭтоГруппа"] Тогда Если НомерВариантаПоиска = 1 Тогда СтрокаИменСвойствПоиска = "КодУПП,Наименование" ; ИначеЕсли НомерВариантаПоиска = 2 Тогда СтрокаИменСвойствПоиска = "Наименование"; Иначе СтрокаИменСвойствПоиска = "КодУПП"; КонецЕсли; Иначе Если НомерВариантаПоиска = 1 Тогда СтрокаИменСвойствПоиска = "КодУПП,Наименование" ; ИначеЕсли НомерВариантаПоиска = 2 Тогда СтрокаИменСвойствПоиска = "ИНН,СтраховойНомерПФР"; ИначеЕсли НомерВариантаПоиска = 3 Тогда СтрокаИменСвойствПоиска = "ИНН"; ИначеЕсли НомерВариантаПоиска = 4 Тогда СтрокаИменСвойствПоиска = "СтраховойНомерПФР"; ИначеЕсли НомерВариантаПоиска = 5 Тогда СтрокаИменСвойствПоиска = "Наименование"; Иначе СтрокаИменСвойствПоиска = "КодУПП"; КонецЕсли; КонецЕсли; Последовательные попытки поиска не осуществляются, вместо этого идет поиск по всем полям поиска определенным в ПКО сразу :( обмен осуществляется из УПП в ЕРП, в объектах приемника есть реквизит кодУПП, но в справочнике уже есть элементы где он не заполнен, но заполнены другие реквизиты по которым нужен последовательный поиск. Подскажите плиз, куда копать. Я пытался вставить в код обработчика где определяются поля поиска деление на 0, ошибок не было, похоже этот код вообще не выполняется. |
|||
1
Trance_1C
24.08.16
✎
04:57
|
В правило описания полей поиска выгружается:
<ПоследовательностьПолейПоиска>Если СвойстваПоиска["ЭтоГруппа"] Тогда Если НомерВариантаПоиска = 1 Тогда СтрокаИменСвойствПоиска = "КодУПП,Наименование" ; ИначеЕсли НомерВариантаПоиска = 2 Тогда СтрокаИменСвойствПоиска = "Наименование"; Иначе СтрокаИменСвойствПоиска = "КодУПП"; КонецЕсли; Иначе Если НомерВариантаПоиска = 1 Тогда СтрокаИменСвойствПоиска = "КодУПП,Наименование" ; ИначеЕсли НомерВариантаПоиска = 2 Тогда СтрокаИменСвойствПоиска = "ИНН,СтраховойНомерПФР"; ИначеЕсли НомерВариантаПоиска = 3 Тогда СтрокаИменСвойствПоиска = "ИНН"; ИначеЕсли НомерВариантаПоиска = 4 Тогда СтрокаИменСвойствПоиска = "СтраховойНомерПФР"; ИначеЕсли НомерВариантаПоиска = 5 Тогда СтрокаИменСвойствПоиска = "Наименование"; Иначе СтрокаИменСвойствПоиска = "КодУПП"; КонецЕсли; КонецЕсли;</ПоследовательностьПолейПоиска> <СинхронизироватьПоИдентификатору>true</СинхронизироватьПоИдентификатору> <ПродолжитьПоискПоПолямПоискаЕслиПоИдентификаторуНеНашли>true</ПродолжитьПоискПоПолямПоискаЕслиПоИдентификаторуНеНашли> <ГенерироватьНовыйНомерИлиКодЕслиНеУказан>true</ГенерироватьНовыйНомерИлиКодЕслиНеУказан> |
|||
2
Trance_1C
24.08.16
✎
05:01
|
Сначала я тестировал такой вариант поиска при обмене через универсальный формат и поиск работал. При загрузке в ЕРП через добавленный план обмена, когда загрузка выполняется обработкой "КонвертацияОбъектов" такой поиск не осуществляется, хотя все настройки те-же...
|
|||
3
MaxS
24.08.16
✎
05:35
|
А действительно ли поиск по УИД неудачный? Может быть в регистре сведений есть соответствие для него?
И про какое КД идёт речь? В КД2 на стороне приёмника должны быть все правила. Правила в источнике игнорируются. |
|||
4
Trance_1C
24.08.16
✎
06:02
|
В рсв соответствий нет, речь о КД2
В плане обмена приемника есть макет "ПравилаОбменаКорреспондента", там устаревшие правила, неужели база приемник смотрит правила загрузки в правилах корреспондента? |
|||
5
Trance_1C
24.08.16
✎
06:15
|
затянул в приемник актуальный комплект правил, не помогло...
|
|||
6
Trance_1C
24.08.16
✎
07:11
|
В добавок ко всему, точки останова в обработке КонвертацияОбъектов не отрабатывают, скорее всего обмен выполняется в фоне и отладчиком его не посмотреть
хотел заглянуть в процедуру поиска объекта при загрузке... |
|||
7
Trance_1C
24.08.16
✎
07:12
|
А что можно добавить в список вариантов поиска - есть такая таблица на форме ПКО?
Она как-то влияет на отработку поиска объекта по полям? |
|||
8
Trance_1C
24.08.16
✎
07:17
|
Опишу подробнее свою Ж... Ситуацию
Есть две базы источник УПП 1.2 приемник ЕРП 2.1.3 в обе базы добавлены планы обмена, правила разрабатываются в КД 1.2.8.2 В ерп используется штатная подсистема конвертации, подключил там свой план обмена к командам. Интересный момент, пока не добавил в правила обмена ЕРП правила выгрузки объектов, например физ. лиц, они не загружались от источника. Заглянуть в обработку конвертации в ЕРП во время загрузки я не могу, вообще не понятно какие правила она использует. Уже напрашивается мысль подключить в ЕРП подсиситему обмена из БСП... |
|||
9
Trance_1C
24.08.16
✎
07:20
|
Коллеги подскажите как посмотреть отладчиком конвертацию в ЕРП?
|
|||
10
Trance_1C
24.08.16
✎
07:20
|
выполняется в фоновом сеансе...
|
|||
11
Mankubus
24.08.16
✎
07:24
|
(10) вот про отладку фоновых заданий http://1c-programist.ru/otladka-fonovykh-zadanij.html
|
|||
12
Trance_1C
24.08.16
✎
08:01
|
(11) Спасибо, отладчик заработал и это обнадеживает :)
|
|||
13
Trance_1C
24.08.16
✎
09:51
|
Проблема решилась, некоторые поля поиска были указаны не в том РеГиСтРе что в таблице полей, с каких это пор при сравнении строк 1С стала учитывать регистр символов?
|
|||
14
Trance_1C
24.08.16
✎
09:53
|
вот такой алгоритм поиска отрабатывает как положено:
Если СвойстваПоиска["ЭтоГруппа"] Тогда Если НомерВариантаПоиска = 1 Тогда Если ЗначениеЗаполнено(СвойстваПоиска["КодУпп"]) И ЗначениеЗаполнено(СвойстваПоиска["Наименование"]) Тогда УстанавливатьУОбъектаВсеСвойстваПоиска = Истина; Иначе УстанавливатьУОбъектаВсеСвойстваПоиска = Ложь; КонецЕсли; СтрокаИменСвойствПоиска = "КодУпп,Наименование" ; ИначеЕсли НомерВариантаПоиска = 2 Тогда СтрокаИменСвойствПоиска = "Наименование"; Иначе СтрокаИменСвойствПоиска = "КодУпп"; КонецЕсли; Иначе Если НомерВариантаПоиска = 1 Тогда СтрокаИменСвойствПоиска = "КодУпп,Наименование" ; Если ЗначениеЗаполнено(СвойстваПоиска["КодУпп"]) И ЗначениеЗаполнено(СвойстваПоиска["Наименование"]) И ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) И ЗначениеЗаполнено(СвойстваПоиска["СтраховойНомерПФР"]) Тогда УстанавливатьУОбъектаВсеСвойстваПоиска = Истина; Иначе УстанавливатьУОбъектаВсеСвойстваПоиска = Ложь; КонецЕсли; ИначеЕсли НомерВариантаПоиска = 2 Тогда СтрокаИменСвойствПоиска = "ИНН,СтраховойНомерПФР"; ИначеЕсли НомерВариантаПоиска = 3 Тогда СтрокаИменСвойствПоиска = "ИНН"; ИначеЕсли НомерВариантаПоиска = 4 Тогда СтрокаИменСвойствПоиска = "СтраховойНомерПФР"; ИначеЕсли НомерВариантаПоиска = 5 Тогда СтрокаИменСвойствПоиска = "Наименование"; Иначе СтрокаИменСвойствПоиска = "КодУПП"; КонецЕсли; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |