| 
    
            
         
         | 
    
  | 
Как в конвертации при загрузке искать документ по номеру в периоде (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 
 | 
         
        Спасибо
 
        все было просто, этот документ имел запрет на запись и мне повезло с ним  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |