Имя: Пароль:
1C
 
КД 2.0 Поля поиска или поиск по УИД в зависимости от даты
0 Marik1274
 
01.11.17
14:29
Подскажите, возможно ли до определенной даты вести поиск объекта по полям поиска, а после этой даты только по УИДу?
1 vicof
 
01.11.17
14:31
Можно
2 Marik1274
 
01.11.17
14:33
(1) Подскажи пожалуйста как?
3 Ёпрст
 
01.11.17
14:36
(2) какой объект то хоть ?
4 Marik1274
 
01.11.17
14:37
(3) Документ.
5 Ёпрст
 
01.11.17
14:37
ну и самый примитив - 2 пко на один объект. В первом пко - поиск по ид, во втором - поиск по полям поиска +
там где надо - втыкаешь нужное имя пко, в зависимости от даты.
6 Ёпрст
 
01.11.17
14:38
там где надо - пвд
7 Ёпрст
 
01.11.17
14:41
в ПВД передВыгрузкой
пишешь:

Если Объект.Дата> = Параметры.НужнаяДата Тогда
ИмяПКО = ....
Иначе
ИмяПКО = ....
КонецЕсли;

усё.
8 Marik1274
 
01.11.17
14:42
(7) Логично. Спасибо!
9 Naumov
 
01.11.17
14:43
(7,8) НЕ все так просто. НУжно учесть выгрузку объекта по ссылке.
10 Ёпрст
 
01.11.17
14:44
(9) смотря какой вид документа нужон
11 бомболюк
 
01.11.17
15:03
ПКО то надо одно, а вот ПКС с галкой поиска - 2. В ПередВыгрузкой этих ПКС проверяешь Источник.Дата и ставишь Отказ, если надо.
12 Ёпрст
 
01.11.17
15:06
(11) Это как ?
13 бомболюк
 
01.11.17
15:09
а ну да, поиск по УИД то просто так не снесешь. но не беда, пишем так: добавляем ПКС с поиском все равно по какому полю, а в ПередВыгрузкой пишем:
Отказ = Истина;
УзелСвойство = СоздатьУзел("Свойство");
УстановитьАтрибут(УзелСвойство, "Имя", "{УникальныйИдентификатор}");
УстановитьАтрибут(УзелСвойство, "Тип", "Строка");
ЗаписатьЭлемент(УзелСвойство, "Значение", "" + Источник.УникальныйИдентификатор());
ДобавитьПодчиненный(УзелКоллекцииСвойств, УзелСвойство);

// это и будет поле поиска по ГУИД, которое можно вырубить при желании
14 Ёпрст
 
01.11.17
15:11
Можно еще так слепить

3 ПКО на один документ

первое ПКО участвует в ПВД и во всех ссылках на этот док,
ему в При выгрузке Отказ = истина + ВыгрузитьПоПравилу,
где правила ставить в зависимости от даты.
ну и 2 остальных пко, как в (5).

Тогда будет универсально
15 Йохохо
 
01.11.17
15:21
можно же вручную искать в обработчике поиска
Если Параметры.ДатаДоСинхры Тогда
Запрос.. установитьпараметр "Номер" свойства поиска номер
СсылкаНаОбъект =
СсылкаНаОбъект - ссылка на результирующий объект. Если в обработчике установить данную ссылку (не пустую) то программа ее запомнит и поиск на этом будет считать успешно завершенным
16 Naumov
 
01.11.17
15:24
(15) Вот только я хотел написать, что слишком некозисто с двумя ПКО.

Можно в поля поиска дату добавить и тогда в обработчике поиска обработать дату и при необходимости выполнить поиск.
17 Naumov
 
01.11.17
15:25
У меня еще возник вопрос к автору наза чем ему это: по ГУИ найдется что-то не то? или по ГУИ ничего не найдется до какой-то даты и нужно искать по доп.полям?
Если второе, то ничего дополнительно делать не нужно. Просто отметить поиск по ГУИ и поля поиска для случая "не нашли по ГУИ"
18 Йохохо
 
01.11.17
15:31
(15) мб так не работает и "платформенный" будет раньше, но тогда лучше (13) только запихнуть в параметрыобъекта, они доступны в обработчике поиска
19 Ёпрст
 
01.11.17
15:36
(18) будет раньше. ПоляПоиска отработают, либо если поиск по уиду не найден или отключен
20 бомболюк
 
01.11.17
15:41
(19) не круто тащить в приемник то, что можно отработать в источнике.
21 Йохохо
 
01.11.17
15:49
(19) угу, поздно вспомнил, тогда отключить всем и передавать через параметры, если ПКО навороченный
(20) только 2.1.9 уже не будет)
22 Ёпрст
 
01.11.17
15:55
(20) хорошо, как в (13) ты этот код где пишешь ? В ПКО или у конкретного свойства в ПКС ?
23 бомболюк
 
01.11.17
15:56
в ПКС
24 Ёпрст
 
01.11.17
15:58
(23) дык не сработает же.
Ибо штатно, выгрузятся остальные свойства с галкой поиск (и/или) сам поиск по уникальному идентификатору.
25 бомболюк
 
01.11.17
16:00
(24) сработает
по факту поле поиска у объекта в файле будет только одно, по нему то и будет искать при загрузке. А какое это будет поле, мы определяем на этапе выгрузки.
26 Ёпрст
 
01.11.17
16:05
(25) я не об этом, у него же кучка полей может быть, тогда во всех нужно будет что-то ставить, чтоб они не летели в свойства с галкой поиск