| 
    
        
     
     | 
    
  | 
не срабатывает набор записей по регистру | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        mephistos    
     15.05.14 
            ✎
    16:27 
 | 
         
        добрый день, друзья.
 
        сижу туплю второй час. есть регистр сведений, периодический, периодичность - 1 секунда, 1 измерение - документ. нужно получить наборы записей, соответствующие условию: документ равен конкретному и, соответственно, по дате. делаю так: Если ТипЗнч(Строка.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда ОбработкаПрерыванияПользователя(); СтатусыЗаказов = РегистрыСведений.СтатусыЗаказовДоп; НаборЗаписей = СтатусыЗаказов.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Документ.Установить(Выборка.Ссылка); НаборЗаписей.Отбор.Период.Установить(Выборка.Ссылка.Дата); НаборЗаписей.Прочитать(); Для Каждого Запись Из НаборЗаписей Цикл //пошли действия КонецЦикла; КонецЕсли; Смотрю отладчиком - на момент чтения записей из набора - набор пустой :( Почему так ? Записей в регистре миллион. в чем я неправ?  | 
|||
| 
    1
    
        Крошка Ру    
     15.05.14 
            ✎
    16:30 
 | 
         
        А Выборка - это что?     
         | 
|||
| 
    2
    
        Крошка Ру    
     15.05.14 
            ✎
    16:31 
 | 
         
        В смысле,может она пустая?     
         | 
|||
| 
    3
    
        mephistos    
     15.05.14 
            ✎
    16:32 
 | 
         
        (2) Выборка - выборка документов с запроса. Нет, не пустая. Выборка.Ссылка - ссылка на документ того же типа, что является измерением в регистре. Я тоже проверял. И дата, естественно, есть     
         | 
|||
| 
    4
    
        ale-sarin    
     15.05.14 
            ✎
    16:35 
 | 
         
        Может период в записях регистра не равен дате документа?     
         | 
|||
| 
    5
    
        Крошка Ру    
     15.05.14 
            ✎
    16:35 
 | 
         
        Если точку остановки поставить на
 
        НаборЗаписей.Прочитать(); НаборЗаписей.Отбор что показывает?  | 
|||
| 
    6
    
        Крошка Ру    
     15.05.14 
            ✎
    16:36 
 | 
         
        (4) Кстати, да, может в период не попадаешь     
         | 
|||
| 
    7
    
        mephistos    
     15.05.14 
            ✎
    16:36 
 | 
         
        Ребята, кажется, нашел. Только не понимаю причину: если в отладке shift f9 набор записей, то показано, что в Отборе не установлен ЗаказПокупателя. Соответственно, не срабатывает строчка установки отбора. Но почему такое может быть ? Я, вроде, синтаксически правильно все написал. И значение в установку передается..     
         | 
|||
| 
    8
    
        Крошка Ру    
     15.05.14 
            ✎
    16:37 
 | 
         
        Делай срез последних     
         | 
|||
| 
    9
    
        Enders    
     15.05.14 
            ✎
    16:37 
 | 
         
        Так как регистр не подчинен регистратору, а просто периодический, то период скорее всего - это дата и время записи в регистр, а не дата документа.     
         | 
|||
| 
    10
    
        Крошка Ру    
     15.05.14 
            ✎
    16:38 
 | 
         
        А может надо НаборЗаписей.Отбор.Регистратор.Установить(...)?     
         | 
|||
| 
    11
    
        mephistos    
     15.05.14 
            ✎
    16:38 
 | 
         
        (9) Не-не, с датами все нормально, это я смотрел. Запись пишется в регистр по записи документа, это как раз дата создания, выходит. Ну, практически.     
         | 
|||
| 
    12
    
        mephistos    
     15.05.14 
            ✎
    16:38 
 | 
         
        (10) Сейчас попробую, минуточку     
         | 
|||
| 
    13
    
        Крошка Ру    
     15.05.14 
            ✎
    16:39 
 | 
         
        (9) А, да, может и не подчинен..     
         | 
|||
| 
    14
    
        mephistos    
     15.05.14 
            ✎
    16:39 
 | 
         
        (10) Не, поле не обнаружено ..     
         | 
|||
| 
    15
    
        mephistos    
     15.05.14 
            ✎
    16:39 
 | 
         
        НаборЗаписей.Отбор.Документ.Установить(Выборка.Ссылка); - что не так с этой строчкой .. Измерение именно так и называется, и значение в выборка.ссылка есть ..     
         | 
|||
| 
    16
    
        Enders    
     15.05.14 
            ✎
    16:40 
 | 
         
        (15) А если убрать отбор по дате, набор пустой или заполненный?     
         | 
|||
| 
    17
    
        Крошка Ру    
     15.05.14 
            ✎
    16:41 
 | 
         
        При отладке в НаборЗаписей.Отбор поле как называется? "Документ"?     
         | 
|||
| 
    18
    
        mephistos    
     15.05.14 
            ✎
    16:41 
 | 
         
        (17) Ага, так точно     
         | 
|||
| 
    19
    
        mephistos    
     15.05.14 
            ✎
    16:41 
 | 
         
        (16) Сейчас гляну     
         | 
|||
| 
    20
    
        mephistos    
     15.05.14 
            ✎
    16:42 
 | 
         
        (16) очень забавно, кстати. сделал период пустым - встал отбор по ДОкументу ..
 
        как так ?  | 
|||
| 
    21
    
        mephistos    
     15.05.14 
            ✎
    16:43 
 | 
         
        (16) Охренеть, сработало, и цикл по записям пошёл. Как так ?)     
         | 
|||
| 
    22
    
        Enders    
     15.05.14 
            ✎
    16:46 
 | 
         
        (21)Что значит пустым? поставил пустую дату или удалил строчку отбора?     
         | 
|||
| 
    23
    
        Крошка Ру    
     15.05.14 
            ✎
    16:46 
 | 
         
        (21) Просто интересно...
 
        А если отборы по документу и по периоду местами поменять(в смысле строки) отбор будет только по документу?  | 
|||
| 
    24
    
        mephistos    
     15.05.14 
            ✎
    16:49 
 | 
         
        (23) (22) Я закомментил строчку, где устанавливается период в отбор, и оставил только отбор по документу. И всё заработало.     
         | 
|||
| 
    25
    
        Крошка Ру    
     15.05.14 
            ✎
    16:50 
 | 
         
        (24) Так может действительно не совпадали период и дата документа?     
         | 
|||
| 
    26
    
        Enders    
     15.05.14 
            ✎
    16:50 
 | 
         
        (24) Тогда бока с датами. Подозреваю что ответ: "Запись пишется в регистр по записи документа, это как раз дата создания, выходит."(с) 
 
        А дата документа не равна дате его создания/записи :)  | 
|||
| 
    27
    
        mephistos    
     15.05.14 
            ✎
    16:53 
 | 
         
        (25) (26) Скорее всего, ребята ! Но мне достаточно отбора по документу.
 
        Спасибо вам большое, что помогли прекратить тупить ;)  | 
|||
| 
    28
    
        Enders    
     15.05.14 
            ✎
    16:53 
 | 
         
        + к (26) 
 
        Скорее всего вы пишите данные в регистр при создании документа и там есть строчка "Период = ТекущаяДата()" и получается что период у вас близок к дате создания документа, различается на секунды, но всё равно разный или же "Период = ДокОбъект.Дата", тогда при оперативном проведении и изменении даты вручную у вас опять же не будут совпадать даты, так как скорее всего вы смотрите сделал этот документ движения по регистру, если нет - добавляете, да - ничего не делаете.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |