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