![]() |
|
Упорядочить по моменту времени в запросе | ☑ | ||
---|---|---|---|---|
0
DMM
19.03.10
✎
16:39
|
Есть запрос:
ТекстЗапроса = "ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Номенклатура, | ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Склад, | ХозрасчетныйОстаткиИОбороты.Период КАК Период, | ХозрасчетныйОстаткиИОбороты.Регистратор КАК Регистратор, | ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокДт КАК КоличествоНачальныйОстатокДт, | ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК КоличествоОборотДт, | ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт КАК КоличествоОборотКт, | ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстатокДт |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачДата, &КонДата, Регистратор, ДвиженияИГраницыПериода, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СырьеИМатериалы), &мВидыСубконто, Организация = &ВыбОрганизация) КАК ХозрасчетныйОстаткиИОбороты | |УПОРЯДОЧИТЬ ПО | ХозрасчетныйОстаткиИОбороты.Субконто1.Наименование, | ХозрасчетныйОстаткиИОбороты.Субконто2.Наименование, | Период |ИТОГИ | СУММА(КоличествоНачальныйОстатокДт), | СУММА(КоличествоОборотДт), | СУММА(КоличествоОборотКт), | СУММА(КоличествоКонечныйОстатокДт) |ПО | Номенклатура, | Склад"; Вроде все нормально работает, но с одним материалом выводит такую ерунду: Период ** Регистратор ** КолНачОстДт ** КолОборотДт ** КолОборотКт ** КолКонОстДт 01.01.10 00:00:00 ** ПрихНакл № 1 ** 10 ** 5 ** 0 ** 15 05.01.10 00:00:00 ** РасхНакл № 2 ** 15 ** 0 ** 1 ** 14 08.01.10 00:00:00 ** РасхНакл № 3 ** 14 ** 0 ** 1 ** 13 15.01.10 00:00:00 ** РасхНакл № 5 ** 12 ** 0 ** 1 ** 11 15.01.10 00:00:00 ** РасхНакл № 4 ** 13 ** 0 ** 1 ** 12 т.е. за день 15.01.10 сначала должна идти РасхНакл №4, а за ней РасхНакл №5, а не так как выводит запрос. Подскажите, пожалуйста, как упорядочить данные внутри одного дня? Вроде нужно как-то МоментВремени использовать, но не знаю как его в запросе применить? |
|||
1
Vitello
19.03.10
✎
16:40
|
По ссылке пробовал?
|
|||
2
73
19.03.10
✎
16:41
|
По Регистратор
|
|||
3
DMM
19.03.10
✎
16:41
|
сейчас попробую...
|
|||
4
Dmitrii
гуру
19.03.10
✎
16:43
|
Если по ссылке не получится, то:
ПО Регистратор.Номер |
|||
5
Ненавижу 1С
гуру
19.03.10
✎
16:45
|
вспоминаем что Моментвремени=Дата+Ссылка
Упорядочить ПО Дата,Ссылка |
|||
6
DMM
19.03.10
✎
16:48
|
(1), (2) по регистратору получилось!
А все-таки интересно, вот в данном случае регистратор - это расходная накладная, и введенный позже документ имеет бОльшую ссылку. А если бы было так: 01.01.10 00:00:00 ** ПрихНакл № 1 ** 10 ** 5 ** 0 ** 15 05.01.10 00:00:00 ** РасхНакл № 2 ** 15 ** 0 ** 1 ** 14 08.01.10 00:00:00 ** РасхНакл № 3 ** 14 ** 0 ** 1 ** 13 15.01.10 00:00:00 ** РасхНакл № 5 ** 12 ** 0 ** 1 ** 11 15.01.10 00:00:00 ** Перемещ № 4 ** 13 ** 0 ** 1 ** 12 т.е. за 15.01.10 есть разные документы - РасхНакл и Перемещение. тогда не факт, что РасхНакл будет иметь бОльшую ссылку чем Перемещение, таблицы-то в базе у них разные... как тогда быть? |
|||
7
NewNick
19.03.10
✎
16:50
|
а тупое решение
ПО Регистратор.МоментВремени чем не подходит ?)) |
|||
8
Ненавижу 1С
гуру
19.03.10
✎
16:50
|
(6)
Упорядочить ПО Дата,Регистратор |
|||
9
DMM
19.03.10
✎
16:50
|
понял
всем спасибо! |
|||
10
NewNick
19.03.10
✎
16:51
|
(9) в (8) правильней чем у меня )
|
|||
11
NewNick
19.03.10
✎
16:52
|
ток не дата а период
|
|||
12
73
19.03.10
✎
16:53
|
С таким Периодом(без времени) лучше Регистратор.Дата.
|
|||
13
Ненавижу 1С
гуру
19.03.10
✎
16:54
|
(11) да период
|
|||
14
73
19.03.10
✎
16:55
|
(13) Ну и получишь сначала регистраторы одного типа, потом другого...
|
|||
15
NewNick
19.03.10
✎
17:09
|
(12) а почему вы решили что там нет времени. это не рс с периодичностью сутки а регистрбухгалтерии
ПО регистратор.дата, регистратор полностью эквивалентно Регистратор.МоментВремени и не совсем равно примеру из (8) разница в том что в первом случае это момент времени дока в (8) это момент времени записи регистра бухгалтерии, что в общем случае не одно и тоже |
|||
16
Ненавижу 1С
гуру
19.03.10
✎
17:10
|
(14) сам придумал?
|
|||
17
DMM
19.03.10
✎
17:14
|
блин, вы меня запутали совсем)
так по Регистратор.Дата, Регистратор или по Период, Регистратор |
|||
18
73
19.03.10
✎
17:15
|
(15)(16) В (0) и (6) - в Периоде времени нет - потому и решил.
|
|||
19
DMM
19.03.10
✎
17:18
|
(18) ну там кстати может и так быть:
15.01.10 10:12:33 ** РасхНакл № 5 ** 12 ** 0 ** 1 ** 11 15.01.10 10:12:33 ** Перемещ № 4 ** 13 ** 0 ** 1 ** 12 так что в периоде время есть) |
|||
20
NewNick
19.03.10
✎
17:19
|
(17) Период,Регистратор - момент времени записи
Регистратор.Дата,Регистратор = Регистратор.МоментВремени - момент времени дока далее сам решай который тебе нужен. если никто не ковырял проводки что бы доки делали проводки не с периодом равным своей дате то пофиг по большому счету |
|||
21
73
19.03.10
✎
17:20
|
(19) Так бы и сразу...
|
|||
22
73
19.03.10
✎
17:25
|
(19) А ссылки с одним временем всегда одинаково упорядочиваются: по типам.
Так что не факт, что будет так, как ты в (19) нарисовал. |
|||
23
DMM
19.03.10
✎
17:26
|
(22) да так есть на самом деле!
просто я так написал - 00:00:00 тоже временем считается! |
|||
24
73
19.03.10
✎
17:27
|
(22)+
"Отношения между различными ссылочными типами определяются на основе внутренних ссылочных номеров таблиц, соответствующих тому или иному типу." (С) Справка 1С. |
|||
25
DMM
19.03.10
✎
17:28
|
в общем сделал:
УПОРЯДОЧИТЬ ПО Период, Регистратор.МоментВремени вроде нормально) |
|||
26
NewNick
19.03.10
✎
17:29
|
(25) это эквивалентно
по период,регистратор.дата,регистратор )) |
|||
27
DMM
19.03.10
✎
17:33
|
(26) я понял)
|
|||
28
NewNick
19.03.10
✎
17:40
|
(24) переводя с одноэсного на русский -
ссылки сравниваются вначале по гуиду метаданных потом по гуиду самой ссылки. т.е. если сравниваются ссылки то вначале идут все поступления потом реализации. т.е. вначале идут те документы которые программисты в конфигурации создали раньше(!!!) довольно весело строится так же сравнение ссылок внутри документов одного типа - первыми пойдут документы созданные пользователь, который раньше вошел(!!!) в систему в ту сессию когда создавался документ. так как базовый гуид для доков генерится в момент входа и при записи доков гуиды просто инкрементируются ))) так что в переводе еще на более русский фраза из справки звучит так - сделано это у нас через одно место, а чем мы руководствовались когда так делали мы и сами не знаем )) |
|||
29
NewNick
19.03.10
✎
17:41
|
*созданные пользователем
|
|||
30
73
19.03.10
✎
17:44
|
(28) <<<Перевод на Очень русский заблокирован матофильтром>>>
|
|||
31
wPa
02.04.10
✎
14:20
|
(28) в ГУИДе ссылки нет времени базового гуида - есть время создания объекта в миллисекундах от Дата(1582, 10, 15, 04, 00, 00). Причем последние цифры стоят с 1 по 8 месте в ГУИД 1С в шестнадцатиричном виде (примерно на 7 минут максимально) - т.е. фактически случайным образом получается сортировка, но дающая один и тот же результат.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |