| 
    
        
     
     | 
    
  | 
Порядок записей в регистре сведений | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        yurikmellon2    
     13.03.20 
            ✎
    13:36 
 | 
         
        Коллеги, добрый день.
 
        Подскажите, плиз. Конфигурация на поддержке, на основе БП Имеется регистр сведений СоставыКомиссийДокументов Периодичность: Непериодический Режим записи: Независимый Форм у регистра нет. Измерения: Объект - тип Документ ЧленКомиссии - тип СправочникСсылка.ФизическиеЛица Должность - тип СправочникСсылка.Должности Роль - тип ПеречислениеСсылка.РолиЧленовКомиссий Этот регистр используется при печати актов на списание. В печатную форму члены комиссии выводятся так, как они записаны в регистре. Не могу понять по какому принципу заполняются записи в этом регистре. Пример, руками добавляю записи. Сортировки в форме списка нет. Добавляю, например, физлицо Власова и она в списке появляется выше, чем Антонова. И, соответственно, на печать выводится раньше. Выборка на печать производится таким запросом: "ВЫБРАТЬ | АХДКОСоставыКомиссийДокументов.ЧленКомиссии КАК ЧленКомиссии, | АХДКОСоставыКомиссийДокументов.Должность КАК Должность, | АХДКОСоставыКомиссийДокументов.Роль КАК Роль |ИЗ | РегистрСведений.АХДКОСоставыКомиссийДокументов КАК АХДКОСоставыКомиссийДокументов |ГДЕ | АХДКОСоставыКомиссийДокументов.Роль = ЗНАЧЕНИЕ(Перечисление.АХДКОРолиЧленовКомиссий.Председатель) | И АХДКОСоставыКомиссийДокументов.Объект В(&МассивОбъектов) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | АХДКОСоставыКомиссийДокументов.ЧленКомиссии КАК ЧленКомиссии, | АХДКОСоставыКомиссийДокументов.Должность КАК Должность, | АХДКОСоставыКомиссийДокументов.Роль КАК Роль |ИЗ | РегистрСведений.АХДКОСоставыКомиссийДокументов КАК АХДКОСоставыКомиссийДокументов |ГДЕ | НЕ АХДКОСоставыКомиссийДокументов.Роль = ЗНАЧЕНИЕ(Перечисление.АХДКОРолиЧленовКомиссий.Утверждающий) | И НЕ АХДКОСоставыКомиссийДокументов.Роль = ЗНАЧЕНИЕ(Перечисление.АХДКОРолиЧленовКомиссий.Председатель) | И АХДКОСоставыКомиссийДокументов.Объект В(&МассивОбъектов) | |УПОРЯДОЧИТЬ ПО | ЧленКомиссии"; Я так понимаю, что УПОРЯДОЧИТЬ ПО "ЧленКомиссии"; как раз и берет членов комиссии так, как они записаны в регистр. Не могу понять по какому принципу происходит сортировка в самом регистре. Почему какие то люди при добавлении встают в начало, какие то в конец. Куда копать?  | 
|||
| 
    1
    
        ejikbeznojek    
     13.03.20 
            ✎
    13:38 
 | 
         
        По внутреннему идентификатору наверное.
 
        упорядочи по членкомиссии.наименовании  | 
|||
| 
    2
    
        yurikmellon2    
     13.03.20 
            ✎
    13:40 
 | 
         
        (1) так работает, но конфа на поддержке. Кроме того, мне не надо на ФИО или ещё как. Надо чтобы на печать выводилось в таком порядке, как записано в регистре. А вот почему именно так пишет в регистр, для меня загадка.     
         | 
|||
| 
    3
    
        ДенисЧ    
     13.03.20 
            ✎
    13:43 
 | 
         
        Любой запрос к базе данных без явного указания порядка выдаёт данные в порядке, никем не предопределённом.
 
        С этим надо смириться и делать нужные ногодвижения.  | 
|||
| 
    4
    
        ejikbeznojek    
     13.03.20 
            ✎
    13:43 
 | 
         
        (2) Так сделай такую же печать, только внешнюю.     
         | 
|||
| 
    5
    
        yurikmellon2    
     13.03.20 
            ✎
    13:48 
 | 
         
        (3) не понял. Т.е. в регистр пишет по какому принципу? 
 
        (4) как? Вот бухи забили в документе состав комиссии как им надо, а в регистр эти люди записались в другом порядке, соответственно, и на печать выводятся в другом. Во внешней форме как условие вывода прописать, если надо не по ФИО, не по должностям и т.п., а так как они в документе сделали.  | 
|||
| 
    6
    
        butterbean    
     13.03.20 
            ✎
    13:50 
 | 
         
        (0) нужно поле точно определяющее порядок вывода, иначе 100% гарантии никогда не получишь     
         | 
|||
| 
    7
    
        Йохохо    
     13.03.20 
            ✎
    13:51 
 | 
         
        (5) выкинь регистр, бери из документа     
         | 
|||
| 
    8
    
        ejikbeznojek    
     13.03.20 
            ✎
    13:52 
 | 
         
        (5) если надо как они в документе сделали, то в запросе используешь документ и упорядочить по номеру строки.     
         | 
|||
| 
    9
    
        yurikmellon2    
     13.03.20 
            ✎
    13:55 
 | 
         
        (7) (8) в документе они открывают форму, заполняют список и при нажатии "Записать" данные пишутся в регистр. В документе этого списка нет. Вот почему они пишутся не так, как в этой форме, вот в чем вопрос.     
         | 
|||
| 
    10
    
        ejikbeznojek    
     13.03.20 
            ✎
    13:58 
 | 
         
        (9) Тогда сдаться и сказать бухам, что им нужно смириться.     
         | 
|||
| 
    11
    
        Йохохо    
     13.03.20 
            ✎
    13:59 
 | 
         
        (9) пишутся они так как в форме, а вот читаются и выводятся на просмотр в трех разных порядках     
         | 
|||
| 
    12
    
        yurikmellon2    
     13.03.20 
            ✎
    14:02 
 | 
         
        (11) можно поподробнее. Вот я открываю этот регистр, руками, не через документ, добавляю туда запись. Чем и где определяется куда это строчка в регистре встанет?     
         | 
|||
| 
    13
    
        ДенисЧ    
     13.03.20 
            ✎
    14:04 
 | 
         
        (12) СУБДой. Потому что нет такого понятия, как "порядок записей в таблице". Есть понятие "порядок по этому вот индексу".     
         | 
|||
| 
    14
    
        yurikmellon2    
     13.03.20 
            ✎
    14:10 
 | 
         
        (13) нда, спасибо, расстроил. Это точно? Тогда незнай что делать     
         | 
|||
| 
    15
    
        ejikbeznojek    
     13.03.20 
            ✎
    14:10 
 | 
         
        (14) Так я уже в (10)  написал что делать))     
         | 
|||
| 
    16
    
        Волшебник    
     модератор 
    13.03.20 
            ✎
    14:12 
 | 
         
        (13) Это если индекс кластерный. По обычному индексу тоже нет порядка. Есть возможность упорядочить результат запроса по любому полю (ORDER BY). Если по нему есть индекс, то будет быстрее.     
         | 
|||
| 
    17
    
        Волшебник    
     модератор 
    13.03.20 
            ✎
    14:13 
 | 
         
        (9) Заведи числовое измерение Порядок и сортируй по нему при отображении в форме     
         | 
|||
| 
    18
    
        dezss    
     13.03.20 
            ✎
    14:15 
 | 
         
        (5) Мда. Для этого нужно строго определять порядок. Т.е. сделать как сказано в (17)     
         | 
|||
| 
    19
    
        ДенисЧ    
     13.03.20 
            ✎
    14:17 
 | 
         
        (16) Смотря что понимать под "есть порядок, нет порядка".
 
        Потому что даже в кластерном байтики не лежат по порядку на диске.  | 
|||
| 
    20
    
        Волшебник    
     модератор 
    13.03.20 
            ✎
    14:20 
 | 
         
        (19) Там же дерево. Можно сказать, что данные лежат вместе с кластерным индексом в одном дереве, которое не требует дополнительной сортировки.     
         | 
|||
| 
    21
    
        fisher    
     13.03.20 
            ✎
    14:22 
 | 
         
        (12) Явно ничем не определяется. Современные СУБД имеют страничную организацию хранения данных и с точки зрения порядка записи на диск никакого явного порядка не существует, если он явно не определен. Т.е. в среднем данные ложатся рядышком, но потом бац - и очередная новая "строка" окажется в совершенно другом месте, потому что в старой странице место закончилось.     
         | 
|||
| 
    22
    
        yurikmellon2    
     13.03.20 
            ✎
    14:23 
 | 
         
        (17) в форме документа то я заведу, а вот в регистр как записать? Конфа на поддержке, в расширении нельзя измерение добавить чтобы туда порядок записать.     
         | 
|||
| 
    23
    
        dezss    
     13.03.20 
            ✎
    14:25 
 | 
         
        (22) Тогда никак.     
         | 
|||
| 
    24
    
        butterbean    
     13.03.20 
            ✎
    14:26 
 | 
         
        (22) сделай свой регистр     
         | 
|||
| 
    25
    
        yurikmellon2    
     13.03.20 
            ✎
    14:44 
 | 
         
        ясно, всем спасибо, буду думать     
         | 
|||
| 
    26
    
        ДенисЧ    
     13.03.20 
            ✎
    15:10 
 | 
         
        (20) Дерево? Мне почему- b-tree больше напоминает куст, разлапистый такой... Как клюква...     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |