Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как в конвертации при загрузке искать документ по номеру в периоде (7 месяцев)?

Как в конвертации при загрузке искать документ по номеру в периоде (7 месяцев)?
Я
   AlexandrV
 
21.12.20 - 09:01
Как в конвертации пр загрузке искать документ по номеру в периоде (7 месяцев)
Искать по дате нельзя - она разная у источника и базе приемнике
Подскажите кто знает как сделать
   AlexandrV
 
1 - 21.12.20 - 09:05
(1)+ писал загрузку выбора данных в обработке перед загрузкой данных
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ЗаказПокупателя.Ссылка
        |ИЗ
        |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
        |ГДЕ
        |    ЗаказПокупателя.Дата МЕЖДУ &Дата1 И &Дата2";
        
    Запрос.УстановитьПараметр("Дата1", НачалоГода(ДатаНачала));
    Запрос.УстановитьПараметр("Дата2", КонецГода(ДатаОкончания));
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДанных = РезультатЗапроса.Выбрать();
    Пока ВыборкаДанных.Следующий() Цикл
         ВыгрузитьПоПравилу(ВыборкаДанных.Ссылка, , , , "ЗаказПокупателя");
     КонецЦикла;
     
     Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    РасходнаяНакладная.Ссылка
        |ИЗ
        |    Документ.РасходнаяНакладная КАК РасходнаяНакладная
        |ГДЕ
        |    РасходнаяНакладная.Дата МЕЖДУ &Дата1 И &Дата2";
        
    Запрос.УстановитьПараметр("Дата1", НачалоГода(ДатаНачала));
    Запрос.УстановитьПараметр("Дата2", КонецГода(ДатаОкончания));


Но загружать не дает
Дает сбой
   breezee
 
2 - 21.12.20 - 09:08
Ищите по ГУИДу)
   AlexandrV
 
3 - 21.12.20 - 09:08
Подскажите обработку может не ту сделал или не туда поставил
   AlexandrV
 
4 - 21.12.20 - 09:16
(2) ГУИД у документов в разных базах отличается
   AlexandrV
 
5 - 21.12.20 - 09:23
(0)+ Если работать дальше, то я бы добавил поле дату создания дока и искал бы по нему, но перезаписывать несколько лет в рабочей базе нет смысла
В текущем моменте проще выбрать по периоду
Подскажите кто знает
   Шурик71
 
6 - 21.12.20 - 09:26
(0) Обработчик ПоляПоиска.

----
СсылкаНаОбъект - ссылка на результирующий объект. Если в обработчике установить данную ссылку (не пустую) то программа ее запомнит и поиск на этом будет считать успешно завершенным
----
   AlexandrV
 
7 - 21.12.20 - 09:44
(6) СсылкаНаОбъект = Документы.РасходнаяНакладная.НайтиПоНомеру(СвойстваПоиска["Код"], ДатаНачала);

Будет работать. если поставлю в обработчик поля поска?
   d4rkmesa
 
8 - 21.12.20 - 10:11
"Пилите [код] Шура, пилите". Не получается отладить в приемнике - делайте тестовую обработку, делающую почти то же, что и обработчик ПоляПоиска, в приемнике.
   mikecool
 
9 - 21.12.20 - 10:19
запрос + кеш
   d4rkmesa
 
10 - 21.12.20 - 10:27
(7) По идее, работать должно, но стандартный алгоритм так же работает, если поиск по номеру-дате, т.е. дата используется только для уточнения периода документа, если не стоит галочка "поиск по дате на равенство" в ПКС Дата->Дата.
   AlexandrV
 
11 - 21.12.20 - 10:37
(10) не нашел, а даты я не знаю той которая будет в базе приемнике
   AlexandrV
 
12 - 21.12.20 - 10:39
(11)+ в базе приемнике я знаю номер дока и период в котором документ будет
   Aleksey
 
13 - 21.12.20 - 10:49
(12) Что значит период? А если не нашел то какой датой он должен создаться?

P.Sю Запросом в обработчике поля поиска ищи
   AlexandrV
 
14 - 21.12.20 - 11:25
(13) прилетает более свежий и у него дата уже последняя, но главное документ найти, а потом и дату исправим
   hhhh
 
15 - 21.12.20 - 11:32
(14) тогда просто ставь галочку поиск по номеру и дате. Тебе же написали в (10)
   AlexandrV
 
16 - 21.12.20 - 11:40
(15) искать по номеру и дате не могу, потому что дата не совпадает, а не задав период, захватывает и док с номером 2-х летней давности
   AlexandrV
 
17 - 21.12.20 - 11:42
(15) если галочку на равенство дат не ставлю все равно не находит док
   Aleksey
 
18 - 21.12.20 - 11:53
(14) Я как бы про новые документы спрашивал, а не поиск старого
   Aleksey
 
19 - 21.12.20 - 11:55
(16) Там же на  уровне платформы нечеткий поиск по дате, а зависит от периода нумерации
   Йохохо
 
20 - 21.12.20 - 11:58
(16) запрос .... где номер = &номер и дата больше &ТекДата
запрос.установитьпараметр("ТекДата", ДобавитьМесяц(ТекущаяДата(), -7))
   zippygrill
 
21 - 21.12.20 - 12:17
В событие ПоляПоиска для твоего ПКО впиши свой код поиска
   AlexandrV
 
22 - 21.12.20 - 12:26
(21) пишу код 
СсылкаНаОбъект = Документы.РасходнаяНакладная.НайтиПоНомеру(СвойстваПоиска["Номер"], ДатаНачала);
и документ не находится , хотя в описании процедуры "НайтиПоНомеру" второй параметр дата из периода
   Aleksey
 
23 - 21.12.20 - 12:29
(22) Нумерация документа какая? Какая дата стоит? Что с разрядностью номера
   zippygrill
 
24 - 21.12.20 - 12:35
(22) на отладку тогда садись и смотри что в СсылкаНаОбъект будет
про ПрерватьПоиск не забудь ставить есть значениезаполнено(СсылкаНаОбъект)
   AlexandrV
 
25 - 21.12.20 - 13:26
(24) При режиме отладки все отлично, а при запуске загрузки выдает ошибку
Получается в режиме сервера и толстого клиента работает, а в тонком клиенте (универсальная обработка) сбой дает
Подскажите как избежать
   zippygrill
 
26 - 21.12.20 - 15:33
(25) не верю
   zippygrill
 
27 - 21.12.20 - 15:34
(22) дату окончания поиска тоже задай
   AlexandrV
 
28 - 21.12.20 - 16:10
(27) НайтиПоНомеру имеет 2 реквизита номер и дату
   Шурик71
 
29 - 21.12.20 - 17:11
(28) Тебе не надо НайтиПоНомеру.

Тебе надо запрос.
Запрос.Текст = "Выбрать первые 1 ссылка из документ.РасходнаяНакладная Где не пометкаудаления И Номер = &Номер и Дата Между &НачалоИнтервала и &КонецИнтервала";
...
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() тогда
 СсылкаНаОбъект = Выборка.Ссылка;
Иначе
 ПрекратитьПоиск = Истина;
КонецЕсли;
   AlexandrV
 
30 - 21.12.20 - 17:35
(29) запрос ставить в функции поиска объекта?
 
 
   Aleksey
 
31 - 21.12.20 - 17:46
(29) Зачем ПрекратитьПоиск вносить в условие, если он должен быть за условием
   mikecool
 
32 - 21.12.20 - 18:03
в условии задачи - нечеткие условия поиска
в результате будут нечеткие результаты )))
   Шурик71
 
33 - 21.12.20 - 18:33
(30) Запрос - писать в обработчике.

(31) ПрекратитьПоиск - можно вынести ниже условия. В любом случае прекращать, найден или нет..
   AlexandrV
 
34 - 24.12.20 - 08:57
Спасибо
все было просто, этот документ имел запрет на запись и мне повезло с ним


Список тем форума
 
Читай всё полезное и впитывай, а нападки игнорируй. Здесь так принято. aka AMIGO
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.