|
Как в конвертации при загрузке искать документ по номеру в периоде (7 месяцев)? | ☑ | ||
---|---|---|---|---|
0
AlexandrV
21.12.20
✎
09:01
|
Как в конвертации пр загрузке искать документ по номеру в периоде (7 месяцев)
Искать по дате нельзя - она разная у источника и базе приемнике Подскажите кто знает как сделать |
|||
1
AlexandrV
21.12.20
✎
09:05
|
(1)+ писал загрузку выбора данных в обработке перед загрузкой данных
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателя.Ссылка |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя |ГДЕ | ЗаказПокупателя.Дата МЕЖДУ &Дата1 И &Дата2"; Запрос.УстановитьПараметр("Дата1", НачалоГода(ДатаНачала)); Запрос.УстановитьПараметр("Дата2", КонецГода(ДатаОкончания)); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДанных = РезультатЗапроса.Выбрать(); Пока ВыборкаДанных.Следующий() Цикл ВыгрузитьПоПравилу(ВыборкаДанных.Ссылка, , , , "ЗаказПокупателя"); КонецЦикла; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РасходнаяНакладная.Ссылка |ИЗ | Документ.РасходнаяНакладная КАК РасходнаяНакладная |ГДЕ | РасходнаяНакладная.Дата МЕЖДУ &Дата1 И &Дата2"; Запрос.УстановитьПараметр("Дата1", НачалоГода(ДатаНачала)); Запрос.УстановитьПараметр("Дата2", КонецГода(ДатаОкончания)); Но загружать не дает Дает сбой |
|||
2
breezee
21.12.20
✎
09:08
|
Ищите по ГУИДу)
|
|||
3
AlexandrV
21.12.20
✎
09:08
|
Подскажите обработку может не ту сделал или не туда поставил
|
|||
4
AlexandrV
21.12.20
✎
09:16
|
(2) ГУИД у документов в разных базах отличается
|
|||
5
AlexandrV
21.12.20
✎
09:23
|
(0)+ Если работать дальше, то я бы добавил поле дату создания дока и искал бы по нему, но перезаписывать несколько лет в рабочей базе нет смысла
В текущем моменте проще выбрать по периоду Подскажите кто знает |
|||
6
Шурик71
21.12.20
✎
09:26
|
(0) Обработчик ПоляПоиска.
---- СсылкаНаОбъект - ссылка на результирующий объект. Если в обработчике установить данную ссылку (не пустую) то программа ее запомнит и поиск на этом будет считать успешно завершенным ---- |
|||
7
AlexandrV
21.12.20
✎
09:44
|
(6) СсылкаНаОбъект = Документы.РасходнаяНакладная.НайтиПоНомеру(СвойстваПоиска["Код"], ДатаНачала);
Будет работать. если поставлю в обработчик поля поска? |
|||
8
d4rkmesa
21.12.20
✎
10:11
|
"Пилите [код] Шура, пилите". Не получается отладить в приемнике - делайте тестовую обработку, делающую почти то же, что и обработчик ПоляПоиска, в приемнике.
|
|||
9
mikecool
21.12.20
✎
10:19
|
запрос + кеш
|
|||
10
d4rkmesa
21.12.20
✎
10:27
|
(7) По идее, работать должно, но стандартный алгоритм так же работает, если поиск по номеру-дате, т.е. дата используется только для уточнения периода документа, если не стоит галочка "поиск по дате на равенство" в ПКС Дата->Дата.
|
|||
11
AlexandrV
21.12.20
✎
10:37
|
(10) не нашел, а даты я не знаю той которая будет в базе приемнике
|
|||
12
AlexandrV
21.12.20
✎
10:39
|
(11)+ в базе приемнике я знаю номер дока и период в котором документ будет
|
|||
13
Aleksey
21.12.20
✎
10:49
|
(12) Что значит период? А если не нашел то какой датой он должен создаться?
P.Sю Запросом в обработчике поля поиска ищи |
|||
14
AlexandrV
21.12.20
✎
11:25
|
(13) прилетает более свежий и у него дата уже последняя, но главное документ найти, а потом и дату исправим
|
|||
15
hhhh
21.12.20
✎
11:32
|
(14) тогда просто ставь галочку поиск по номеру и дате. Тебе же написали в (10)
|
|||
16
AlexandrV
21.12.20
✎
11:40
|
(15) искать по номеру и дате не могу, потому что дата не совпадает, а не задав период, захватывает и док с номером 2-х летней давности
|
|||
17
AlexandrV
21.12.20
✎
11:42
|
(15) если галочку на равенство дат не ставлю все равно не находит док
|
|||
18
Aleksey
21.12.20
✎
11:53
|
(14) Я как бы про новые документы спрашивал, а не поиск старого
|
|||
19
Aleksey
21.12.20
✎
11:55
|
(16) Там же на уровне платформы нечеткий поиск по дате, а зависит от периода нумерации
|
|||
20
Йохохо
21.12.20
✎
11:58
|
(16) запрос .... где номер = &номер и дата больше &ТекДата
запрос.установитьпараметр("ТекДата", ДобавитьМесяц(ТекущаяДата(), -7)) |
|||
21
zippygrill
21.12.20
✎
12:17
|
В событие ПоляПоиска для твоего ПКО впиши свой код поиска
|
|||
22
AlexandrV
21.12.20
✎
12:26
|
(21) пишу код
СсылкаНаОбъект = Документы.РасходнаяНакладная.НайтиПоНомеру(СвойстваПоиска["Номер"], ДатаНачала); и документ не находится , хотя в описании процедуры "НайтиПоНомеру" второй параметр дата из периода |
|||
23
Aleksey
21.12.20
✎
12:29
|
(22) Нумерация документа какая? Какая дата стоит? Что с разрядностью номера
|
|||
24
zippygrill
21.12.20
✎
12:35
|
(22) на отладку тогда садись и смотри что в СсылкаНаОбъект будет
про ПрерватьПоиск не забудь ставить есть значениезаполнено(СсылкаНаОбъект) |
|||
25
AlexandrV
21.12.20
✎
13:26
|
(24) При режиме отладки все отлично, а при запуске загрузки выдает ошибку
Получается в режиме сервера и толстого клиента работает, а в тонком клиенте (универсальная обработка) сбой дает Подскажите как избежать |
|||
26
zippygrill
21.12.20
✎
15:33
|
(25) не верю
|
|||
27
zippygrill
21.12.20
✎
15:34
|
(22) дату окончания поиска тоже задай
|
|||
28
AlexandrV
21.12.20
✎
16:10
|
(27) НайтиПоНомеру имеет 2 реквизита номер и дату
|
|||
29
Шурик71
21.12.20
✎
17:11
|
(28) Тебе не надо НайтиПоНомеру.
Тебе надо запрос. Запрос.Текст = "Выбрать первые 1 ссылка из документ.РасходнаяНакладная Где не пометкаудаления И Номер = &Номер и Дата Между &НачалоИнтервала и &КонецИнтервала"; ... Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() тогда СсылкаНаОбъект = Выборка.Ссылка; Иначе ПрекратитьПоиск = Истина; КонецЕсли; |
|||
30
AlexandrV
21.12.20
✎
17:35
|
(29) запрос ставить в функции поиска объекта?
|
|||
31
Aleksey
21.12.20
✎
17:46
|
(29) Зачем ПрекратитьПоиск вносить в условие, если он должен быть за условием
|
|||
32
mikecool
21.12.20
✎
18:03
|
в условии задачи - нечеткие условия поиска
в результате будут нечеткие результаты ))) |
|||
33
Шурик71
21.12.20
✎
18:33
|
(30) Запрос - писать в обработчике.
(31) ПрекратитьПоиск - можно вынести ниже условия. В любом случае прекращать, найден или нет.. |
|||
34
AlexandrV
24.12.20
✎
08:57
|
Спасибо
все было просто, этот документ имел запрет на запись и мне повезло с ним |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |