Вопрос по конвертации. Поиск не по полям поиска,а по другим критериям. #796632


#0 by Босечка
Можно ли делать поиск не по полям поиска, а по другим критериям и где это прописать?
#1 by Босечка
в частности справочник Номенклатура
#2 by Aleksey
нет нельзя. В обработки поиска доступны только те реквизиты по которым стоит галка поиск
#3 by Aleksey
другое дело что во время поиска необязательно использовать все реквизиты, можно комбинировать из использование. Или искать самомтоятельно
#4 by Aleksey
Обработчики "Правила конвертации объектов" Поля поиска Условия возникновения события Только для платформы V8. Событие выполняется при поиске элемента ссылочного типа. Если установлен поиск по уникальнму идентификатору и программа нашла элемент, то поиск прекращается. Если поиск по уникальному идентификатору не дал положительного результата и указано, что нужно продолжить поиск в этом случае или поиск по уникальному идентификатору не проводился, то программа пытается найти элементы по свойствам поиска. В обработчике нужно установить список полей через запятую по которым нужно проводить поиск. Если очередная попытка дала положительный результат, то поиск прекращается. Поиск возможен только по тем полям у которых на этапе выгрузка был установлен флаг поиска данных. Параметры: НомерВариантаПоиска - число. Номер попытки поиска. Попыток поиска может быть не больше 10. СвойстваПоиска – соответствие, в котором хранятся текущие значения реквизитов поиска. Эти значения можно использовать в произвольных алгоритмах для идентификации объектов ИБ при загрузке данных. Следует иметь в виду, что при создании нового объекта, значения из соответствия СвойстваПоиска используются для заполнения свойств нового объекта. ПараметрыОбъекта - либо Неопределено либо Соответствие, в котором хранятся дополнительные параметры, переданные для данного объекта из источника в приемник. Если параметров передано не было, то ПараметрыОбъекта = Неопределено. В данном обработчике соответствие содержит только те параметры, для которых установлен признак поиска. ПрекратитьПоиск - булево. Если Истина, то поиск объекта прекращается, в зависимости от того СсылкаНаОбъект заполнена или нет создается новый объект. СсылкаНаОбъект - ссылка на результирующий объект. Если в обработчике установить данную ссылку (не пустую) то программа ее запомнит и поиск на этом будет считать успешно завершенным УстанавливатьУОбъектаВсеСвойстваПоиска - булево. Определяет нужно ли после удачного завершения поиска установить объекту все реквизиты поиска. Объект может быть найден по части реквизитов. Этот флаг определяет нужно оставшиеся реквизиты, которые не участвовали в поиске (но по которым поиск возможен) установить объекту или нет. Значение по умолчанию: Истина. НастройкаПоиска - строка. Выбранный пользователем вариант сопоставления объектов. В ПКО есть таблица Варианты настроек полей поиска - с возможными вариантами настроек полей поиска для пользователя. Разработчик правил определяет возможные комбинации полей поиска, которые пользователь может выбирать при настройке обмена. Все настройки указанные разработчиком правил должны быть отработаны в коде обработчика "Поля поиска". Переменная НастройкаПоиска в обработчике определяет выбранный пользователем вариант сопоставления (ИмяНастройкиДляАлгоритма из соответствующей строки таблицы). Если пользователь не выбрал ни один вариант сопоставления, или ему ни один вариант не был предложен, то НастройкаПоиска - пустая строка. СтрокаИменСвойствПоиска – строка в которой задаются ключевые поля варианта поиска. Могут быть указаны только те свойства, для которых при настройке правил обмена был выставлен флаг поиска. Пример: Если НомерВариантаПоиска = 1 тогда
#5 by Босечка
в инете нашла пример Если СвойстваПоиска["ЭтоГруппа"]=Истина Тогда Как это тогда работает?
#6 by Aleksey
Прекрасно работает. Вопрос в чём?
#7 by Aleksey
В чем вы видите противоречия вашего примера и моего утверждения?
#8 by Босечка
Вы сказали что нельзя никак кроме как по полям поиска. Значит можно как то сделать? Как это прописать, можно в алгоритме найти код из регистра сведений. ТОлько как синтаксически это прописать?
#9 by Aleksey
Все правильно в Обработчики Поля поиска доступны только те поля у которых стоит галка поиск, т.е. в твоем примере у реквизита "ЭтоГруппа","Наименование", "Родитель" стоит галка "поиск". Т.е. ты можешь написать свой обработчик (в твоем примере это Выполнить(Алгоритмы.ПолучитьСоответствиеОбъектов);) но там будут доступны только те реквизиты у которых стоит галка поиск. Так что никаких противоречий. Или ты в своем алгоритме как искать будешь? По каким полям
#10 by Босечка
У меня вообще все хитро. Буду искать в регистре сведений СоответствиеНоменклатурыЕГАИС  номенклатуру и Алкогольную продукцию. Мне нужен код этой алкогольной продукции. Если у номенклатуры код есть то берем эту номенклатуру, если этой номенклатуры в РС нет, то создается новая.
#11 by Ёпрст
в поля поиска ищи по чему хочешь, делов то.
#12 by Ёпрст
в параметр поиска передавай свой код продукции и ищи по нему в Полях Поиска.
#13 by Босечка
Это как? Можно примерчик? Я только так могу
#14 by Босечка
ап
#15 by Босечка
и еще вопросик где можно достать типовые правила обмена РозницаБазовая ->Розница ПРОФ?
#16 by Ёпрст
Ну так, например:
#17 by Ёпрст
В данном случае, при выгрузке, в параметр записывается нечто. Можно и через СвойстваПоиска["Вася"] искать..
#18 by Aleksey
Так конфигурации полностью идентичный. Тупо автоматическое создание правил
#19 by Aleksey
Если это разово, то я вообще бы взял бы и натянул сверху CF от проф версии и не заморачивался бы
#20 by Босечка
Хорошо. Попробую сделать.  А НайтиНоменклатуруПоПолямПоиска в запросах прописывать? В полях поиска галочек никаких не ставить?
#21 by Босечка
Это нереально много точек. И не все дают базы, говорят обработки будут запускать а базы не дадут.
#22 by Aleksey
ты же понимаешь что ниодна обработка тут не поможет. Ибо как не старайся, а все равно вылезут косяки. Или с валютой (задвоится к примеру рубль) или с контактной информацией (аналогично создаст 2 предопределенных)
#23 by Aleksey
Кому я тут второй час распинаюсь, пишу что будут доступны только те реквизиты по которым стоит галка "поиск"?
#24 by Ёпрст
как хочешь, можешь и в ПКС написать, только это моветон - каждый раз новый объект создавать
#25 by Ёпрст
галочки нужно ставить и отключить синхронизацию по внутреннемму идентификатору источника.
#26 by Ёпрст
ну, не только они, там доступны и данные, которые в параметр передаешь и во всякие служебные структуры.
#27 by Босечка
Мне вообще галки не нужны, мне нужен поиск по другим критериям. Это - не поля номенклатуры, а регистра сведений.
#28 by Йохохо
ответили же минимум два раза ищи по чему хочешь, но чтобы в обработчике были доступны данные для параметров запроса эти поля должны быть с галкой поиск. объект еще не прочитан
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С