|
как получить срез последних документов на дату | ☑ | ||
---|---|---|---|---|
0
Max1986
27.04.12
✎
13:45
|
Есть база, где куча документов, в т.ч. много различных, введенных в одну секунду.
Т.е. если ставлю дату 25.04.12 09:15:00 получаю несколько документов одного типа - введенные в 09:15:00. А нужно именно последние, меньше разреза секунды. т.е. те, которые в уазанную секунду введены последними и находятся последними в списке. |
|||
1
Господин ПЖ
27.04.12
✎
13:46
|
(0) забей... в 8-ке это не реализуемо...
|
|||
2
rotting
27.04.12
✎
13:46
|
МоментВремени()?
|
|||
3
PR
27.04.12
✎
13:46
|
(0) Лучше mail.ru почитай
|
|||
4
rotting
27.04.12
✎
13:46
|
(2) разве нельзя получить МоментВремени() объекта?
|
|||
5
rotting
27.04.12
✎
13:47
|
(4) к (1)
|
|||
6
Господин ПЖ
27.04.12
✎
13:47
|
(4) можно... но адекватную цепочку из нескольких видов документов не получить...
|
|||
7
Дикообразко
27.04.12
✎
13:47
|
(4) сейчас он заложится в алгоритме на момент времени,
а следующий вопрос будет: как поменять момент времени :) |
|||
8
ptiz
27.04.12
✎
13:48
|
внутри секунды: МАКСИМУМ(Ссылка)
|
|||
9
Господин ПЖ
27.04.12
✎
13:48
|
спасибо за наше счастливое детство и отсутствие общего журнала...
|
|||
10
Господин ПЖ
27.04.12
✎
13:48
|
(8) бугага... УРБД передает привет...
|
|||
11
Дикообразко
27.04.12
✎
13:48
|
(9) скорее за кривую методологию учета, требующу хронологичности ввода документов
|
|||
12
Господин ПЖ
27.04.12
✎
13:49
|
(11) методология вполне нормальная... фифо должно быть всегда адекватным.
|
|||
13
Дикообразко
27.04.12
✎
13:50
|
(12) pit'а на тебя нет :)
или РАУЗа :)) |
|||
14
Max1986
27.04.12
✎
13:50
|
(4)>> разве нельзя получить МоментВремени() объекта?
У меня нет объекта - только дата |
|||
15
Господин ПЖ
27.04.12
✎
13:51
|
(13) пит тут не указчик... костыли из 4-х букв - тоже...
|
|||
16
Дикообразко
27.04.12
✎
13:51
|
(14) ссылка + дата
|
|||
17
Max1986
27.04.12
✎
13:51
|
(3)гов.нофлудер в тематических ветках?
|
|||
18
undertaker
27.04.12
✎
13:51
|
(8) а кто сказал что документ с макс UIDом будет последним?
|
|||
19
Дикообразко
27.04.12
✎
13:52
|
(15) вы сами выбираете себе способ самоудовлетворения :)
|
|||
20
Ненавижу 1С
гуру
27.04.12
✎
13:52
|
(14) как это нету? периодичность РС то стоит "По позиции регистратора"
|
|||
21
Ненавижу 1С
гуру
27.04.12
✎
13:52
|
(18) природа 1С ))
|
|||
22
Ненавижу 1С
гуру
27.04.12
✎
13:53
|
+(21) управлять внутри секунды последовательностью документов нельзя, а жаль
|
|||
23
Max1986
27.04.12
✎
13:53
|
(16)нет ссылки - только дата!
Есть дата - на нее последние документы получить надо |
|||
24
Дикообразко
27.04.12
✎
13:54
|
(23) у документа есть и ссылка и дата и момент времени
|
|||
25
Shurjk
27.04.12
✎
13:55
|
(0) А ты сам то как это себе представляешь. С какой точностью тебе надо получить время ввода документа? Вообще то чисто теоретически документы разного вида могут быть введены одновременно - здесь главное с какой точностью время ввода смотреть.
И самое главное кому и зачем это надо? |
|||
26
Kashemir
27.04.12
✎
13:55
|
(18) Так и будет - но только в пределах одного типа документов. Ибо позиция документов в восьмерке определяется Временем + Тип документа + ИД документа.
|
|||
27
rotting
27.04.12
✎
13:55
|
(23) так и получай, сначала ссылки внутри одной секунды, потом по их моменту времени определяй последний
|
|||
28
Max1986
27.04.12
✎
13:56
|
(23)у дока да есть.
Я из обработки/отчета запускаю. последние док на дату |
|||
29
Shurjk
27.04.12
✎
13:56
|
(24) Для каждого вида документа момент времени свой.
|
|||
30
Shurjk
27.04.12
✎
13:57
|
(27) А как сравнить моменты времени?
|
|||
31
rotting
27.04.12
✎
13:57
|
(29) это потому что они одновременно могут быть записаны, не вижу ничего не правильного в этом
|
|||
32
Shurjk
27.04.12
✎
13:58
|
(31) ответь на (30)
|
|||
33
Лоботряс
27.04.12
✎
13:58
|
(28)Где работает это чудо?
|
|||
34
rotting
27.04.12
✎
13:58
|
(30) ">", "<", "="
|
|||
35
Max1986
27.04.12
✎
13:58
|
(27) а как в этом списке ссылок внутри одной секунды запросом получить последний док по моменту времени.
|
|||
36
PR
27.04.12
✎
13:58
|
(17) LOL
Как ты точно себя охарактеризовал :)) ЗЫ: по сабжу все просто, как тебе уже ответили, есть момент времени, от него и отталкивайся, документ с наибольшим моментом времени и есть последний. |
|||
37
Max1986
27.04.12
✎
13:59
|
(36)-->(35)
|
|||
38
Shurjk
27.04.12
✎
13:59
|
(30) Садись "2". Что из себя момент времени представляет - в курсе?
|
|||
39
PR
27.04.12
✎
13:59
|
(27) А что, выбрать первые 1 с сортировкой по убыванию момента времени не подойдет?
|
|||
40
rotting
27.04.12
✎
14:00
|
(38) сори, попутал, вот Синтаксис:
Сравнить(<МоментВремени>) Параметры: <МоментВремени> (обязательный) Тип: МоментВремени. Момент времени, с которым производится сравнение. Возвращаемое значение: Тип: Число. -1 - если момент времени меньше другого момента времени, 0 - если момент времени равен другому моменту времени, 1 - если момент времени больше другого момента времени. Описание: Производит сравнение момента времени с другим моментом времени. Доступность: Сервер, толстый клиент, внешнее соединение. Пример: Момент1 = Новый МоментВремени(Док1.Дата, Док1); Момент2 = Новый МоментВремени(Док2.Дата, Док2); Если Момент1.Сравнить(Момент2) = -1 Тогда Момент1 = Момент2; КонецЕсли; |
|||
41
Shurjk
27.04.12
✎
14:00
|
(39) Как сравнить моменты времени разных документов?
|
|||
42
Max1986
27.04.12
✎
14:00
|
(39)хз...можно попробовать
|
|||
43
Shurjk
27.04.12
✎
14:01
|
(40) А для разных типов документов будет работать правильно такое сравнение?
|
|||
44
Ненавижу 1С
гуру
27.04.12
✎
14:02
|
ВЫБРАТЬ
ДокументыКонтрагентов.Контрагент, МАКСИМУМ(ДокументыКонтрагентов.Ссылка) КАК Ссылка ИЗ (ВЫБРАТЬ ДокументыКонтрагентов.Контрагент КАК Контрагент, МАКСИМУМ(ДокументыКонтрагентов.Дата) КАК Дата ИЗ ЖурналДокументов.ДокументыКонтрагентов КАК ДокументыКонтрагентов СГРУППИРОВАТЬ ПО ДокументыКонтрагентов.Контрагент) КАК ВложенныйЗапрос ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЖурналДокументов.ДокументыКонтрагентов КАК ДокументыКонтрагентов ПО ВложенныйЗапрос.Контрагент = ДокументыКонтрагентов.Контрагент И ВложенныйЗапрос.Дата = ДокументыКонтрагентов.Дата СГРУППИРОВАТЬ ПО ДокументыКонтрагентов.Контрагент |
|||
45
PR
27.04.12
✎
14:02
|
(41) Что значит как? Обычно.
|
|||
46
Shurjk
27.04.12
✎
14:04
|
(45) Как в (34) В курсе что такое момент времени вообще? А тог наверное на собеседованиях любишь спрашивать про него.
|
|||
47
PR
27.04.12
✎
14:04
|
(42) Попробовать можно пирог бабушкин.
А это работающая проверенная конструкция. |
|||
48
Max1986
27.04.12
✎
14:04
|
(44)Красиво! спасибо! единственно толковый ответ.
Буду пробовать. Как оказалось - вопрос не так прост как представлялось авторам ))) |
|||
49
PR
27.04.12
✎
14:05
|
(43) В (0) написано "документов одного типа".
Или это уже не по (0)? |
|||
50
Shurjk
27.04.12
✎
14:05
|
(47) Не выпендривайся ты здесь в корне не прав. Если бы все так было просто бы то для партионного учета не создавали бы последовательности.
|
|||
51
rotting
27.04.12
✎
14:06
|
(43) работает, только что попробовал
|
|||
52
PR
27.04.12
✎
14:06
|
(46) Сынок, не мешай папе :))
|
|||
53
Shurjk
27.04.12
✎
14:06
|
(49) А начинается - про "много различных"
ТС так ты одного типа документы выбираешь или разные? |
|||
54
Ненавижу 1С
гуру
27.04.12
✎
14:07
|
какая разница много видов их или нет? что это меняет в принципе?
|
|||
55
Shurjk
27.04.12
✎
14:08
|
(52) Смотри на собеседованиях может быть весьма неприятно, хотя ты скорее всего и не поймешь:)
|
|||
56
Shurjk
27.04.12
✎
14:08
|
(54) Почитай про момент времени, что это такое, это нал и непоределено осилил, а вот с этим у тебя явно пробел
|
|||
57
PR
27.04.12
✎
14:09
|
(48) Ну давай, удачи :))
Производительность нам до сиреневой лампочки, точно :)) |
|||
58
Ненавижу 1С
гуру
27.04.12
✎
14:09
|
(56) ну давай, рассказывай мне, что момент времени это Дата+ВидДокумента+UUID
|
|||
59
rotting
27.04.12
✎
14:10
|
(56) да объясни уже нам темным что это такое, или лень?
|
|||
60
Ненавижу 1С
гуру
27.04.12
✎
14:10
|
(57) разрешаю подзапрос вынести во временную таблицу, да и свой пример приведи заодно
|
|||
61
rotting
27.04.12
✎
14:10
|
вот в СП написано русским по белому: "Содержит дату и время, а также ссылку на объект базы данных."
|
|||
62
PR
27.04.12
✎
14:11
|
(50) Ты утверждаешь, что
не сработает? |
|||
63
Max1986
27.04.12
✎
14:12
|
(53)Документы то разные. но выбрать надо именно все последние каждого типа
|
|||
64
Ненавижу 1С
гуру
27.04.12
✎
14:13
|
(62) сработает, но только один документ выдаст, если нужно например максимальный для каждого контрагента?
|
|||
65
PR
27.04.12
✎
14:13
|
+(62) А при чем здесь последовательности?
С таким же успехом можно было сказать "Если бы все так было просто бы то для наркоманов не создавали бы реабилитационные центры." :)) |
|||
66
Vovan1975
27.04.12
✎
14:13
|
(63)интересно, а нафейхуа?
|
|||
67
Shurjk
27.04.12
✎
14:16
|
(62) Для одного документа сработает, а если разные то нет.
|
|||
68
Vovan1975
27.04.12
✎
14:24
|
(26) да нифига, док по гуиду будет последним, а вот по времени он могет быть вообще первый в году и чо?
|
|||
69
Vovan1975
27.04.12
✎
14:24
|
Максик, нафейхуа тебе эта херь?
|
|||
70
PR
27.04.12
✎
14:26
|
(53) Что непонятного-то?
ТС хочет набрать букет из документов, по одному самому позднему документу каждого типа. И делается это так (текст запроса формируется динамически ессно)
|
|||
71
PR
27.04.12
✎
14:29
|
(68) Быстро изучать матчасть, двоечник.
|
|||
72
Max1986
27.04.12
✎
14:30
|
(64)+10000 Именно такая задача! Поставщик и склады разные
|
|||
73
Лоботряс
27.04.12
✎
14:30
|
(33) Не дай бог связаться с тем франчем... Свят-свят
|
|||
74
Ненавижу 1С
гуру
27.04.12
✎
14:30
|
(71) о-о ты веришь, что гуид сам по себе о чем то говорит?
|
|||
75
PR
27.04.12
✎
14:31
|
Мне кажется, Max1986 уже наговорил на пару часов работы :))
|
|||
76
Max1986
27.04.12
✎
14:33
|
(69)>> Максик, нафейхуа тебе эта херь?
Из торговых точек идет массив доков. Надо выбрать на некую дату/секунду получить последние документы разного типа - при различных менеджерах, складах, поставщиках. Типа Заявка поступления товара - от 09:00 - куча менегеров вводит с утра. надо по каждому менегеру по каждому контрагенту последние доки |
|||
77
PR
27.04.12
✎
14:33
|
(74) И эти люди автоматизируют мою страну...
Всем, кто не знает, как определить, какой из документов с одинаковой датой более поздний _быстро_ марш изучать матчасть! |
|||
78
Max1986
27.04.12
✎
14:34
|
(70)пример плохой и не рабочий
|
|||
79
PR
27.04.12
✎
14:34
|
(78) Это мозги у тебя просроченные, а пример стопроцентнорабочий.
|
|||
80
Vovan1975
27.04.12
✎
14:35
|
(76) а это зачем?
|
|||
81
Ненавижу 1С
гуру
27.04.12
✎
14:35
|
(77) не передергивай, я про "да нифига, док по гуиду будет последним, а вот по времени он могет быть вообще первый в году и чо?"
и потом уже про одну секунду - что есть последний? последний введенный? по гуиду ты не узнаешь какой |
|||
82
Ненавижу 1С
гуру
27.04.12
✎
14:36
|
(79) в разрезе контрагентов (в каком либо разрезе аналитики) он не работает
|
|||
83
Kashemir
27.04.12
✎
14:36
|
(81) (77)Не пойму чего вы ругаетесь - вы же говорите об одном и том же.
|
|||
84
Ненавижу 1С
гуру
27.04.12
✎
14:36
|
(83) ну... не в курсе
|
|||
85
Max1986
27.04.12
✎
14:37
|
(79)тебе в (82)ответили "в разрезе контрагентов (в каком либо разрезе аналитики) он не работает"
|
|||
86
Kashemir
27.04.12
✎
14:38
|
(84) Предложи PR в профайлере поглядеть на запрос с .МоментВремени и придете к (83)
|
|||
87
Vovan1975
27.04.12
✎
14:38
|
(83) нифига не об одном и том же. ГУИД, он же ссылка, с датой связан только при создании дока. После первой записи дата у дока могет быть любой а вот гуид остается всегда прежним, так что макс по гуиду нифига не макс по дате
|
|||
88
PR
27.04.12
✎
14:38
|
(81) Есть такое понятие, как момент времени документа.
|
|||
89
Kashemir
27.04.12
✎
14:39
|
(87) Да причем тут датавремя - эта тема всем очевидна и никому не интересна. Люди ругается за позицию в пределах одной секунды.
|
|||
90
Ненавижу 1С
гуру
27.04.12
✎
14:39
|
(88) понятие такое есть, только вот управлять им в переделах 1 секунды невозможно - невозможно изменить порядок моментов времени документов у которых совпадает реквизит Дата
|
|||
91
Kashemir
27.04.12
✎
14:40
|
(88) МоментВремени = ПозицияРегистратора = Дата+ТипСсылки+ИД
|
|||
92
PR
27.04.12
✎
14:40
|
(82) Может мне за ТС еще и целиком всю работу выполнить?
Так я что-то от него оплаты на РС не увидел пока. Может он за свою зарплату уже сам подумает, как использовать (70) для решения своей задачи? |
|||
93
Ненавижу 1С
гуру
27.04.12
✎
14:40
|
(91) см (58) :-)
|
|||
94
Ненавижу 1С
гуру
27.04.12
✎
14:41
|
(92) просто твое решение хорошо пока нет разрезов
|
|||
95
Лоботряс
27.04.12
✎
14:42
|
(85) почему? А условие добавить не судьба?
|
|||
96
PR
27.04.12
✎
14:42
|
(90) А кто говорит про изменение?
Речь про упорядочивание. |
|||
97
Kashemir
27.04.12
✎
14:42
|
(93) Да и видел ;-) в (26) писал то же :)
|
|||
98
Shurjk
27.04.12
✎
14:43
|
(85) А условие в запрос добавить тебе что мешает?
|
|||
99
Max1986
27.04.12
✎
14:45
|
(99)не мешает
|
|||
100
Max1986
27.04.12
✎
14:46
|
100
|
|||
101
Ненавижу 1С
гуру
27.04.12
✎
14:46
|
(96) не концептуальный разговор, схожу с тропы, болтаешь ты классно, столько воды
(98) все, я пас |
|||
102
Max1986
27.04.12
✎
14:46
|
(92)Зачем - решение в (44) грамотное и в временными таблицами приемлемое.
А вот ты похоже плаваешь в теме - реально флудишь много, оскорбляшь, а сам ничего не предложил. И это еще директор Франча! Я в шоке! |
|||
103
Max1986
27.04.12
✎
14:47
|
(101)спасибо за корректную помощь
|
|||
104
Shurjk
27.04.12
✎
14:47
|
(101) Ты считаешь что нельзя в запросе по моменту времени упорядочить?
|
|||
105
PR
27.04.12
✎
14:48
|
(102) LOL
Ну удачи :)) Черкани адресок клиента, когда он в ужасе начнет искать другого специалиста :)) |
|||
106
Kashemir
27.04.12
✎
14:51
|
(105) (44) действительно более гибкое и универсальное решение, в то время как (62) может подойти только для куда более узкого круга задач.
|
|||
107
Ненавижу 1С
гуру
27.04.12
✎
14:52
|
(104) я такого не говорил ))
|
|||
108
PR
27.04.12
✎
14:54
|
(106) Выбрать все документы из базы и потом в переборе их обработать — еще более гибкое решение. Но за него могут и убить :))
А правильное решение — это
|
|||
109
PR
27.04.12
✎
14:56
|
+(108) Более того, (44) — неработающий запрос, поскольку в нем не учтен тип документа :))
|
|||
110
ptiz
27.04.12
✎
14:57
|
(108) Достойное завершение ветки.
|
|||
111
Kashemir
27.04.12
✎
14:57
|
(108) Попробуй (44) на больших базах - не будет никаких проблем с производительностью. Поля дата+ссылки по дефолту индексированы и не будут вызывать проблем.
(109) Да зачем учитывать тип документа ? Автор вроде такого и не хотел. Но если очень надо - не сложно добавить группировку по ТипЗнч(Ссылка) во вложенном запросе по максдате |
|||
112
Kashemir
27.04.12
✎
14:58
|
(109) Кстати зря 2 вт создал - у тебя сама операция объединения вряд ли вызовет проблемы с планом запроса. Достаточно было сразу объединить.
|
|||
113
Ненавижу 1С
гуру
27.04.12
✎
14:59
|
(108) это что за бред?
|
|||
114
PR
27.04.12
✎
15:02
|
(112) А, ну да, ессно
В предыдущем примере использовал, потому что там упорядочить было. |
|||
115
PR
27.04.12
✎
15:04
|
(111) В (44) вложенный запрос, что плохо и читабельность запроса сама по себе фиговенькая.
По поводу типа документа условие в (0). |
|||
116
PR
27.04.12
✎
15:05
|
(113) Твое восприятие 1С заканчивается на уровне различий NULL, Неопределено и пустой ссылки? :))
|
|||
117
Kashemir
27.04.12
✎
15:06
|
(116) Думаю (113) хотел сказать что дата у тебя потерялась ;-)
|
|||
118
PR
27.04.12
✎
15:06
|
(117) В смысле? :))
|
|||
119
Ненавижу 1С
гуру
27.04.12
✎
15:07
|
(116) не ёрничай, какую важную информацию мы получаем от
МАКСИМУМ(ПоступлениеТоваровУслуг.Ссылка) КАК Ссылка |
|||
120
Kashemir
27.04.12
✎
15:07
|
(118) В том смысле что (114) и (108) совершенно не учитывает датувремя документа :)
|
|||
121
Ненавижу 1С
гуру
27.04.12
✎
15:07
|
(115) еще раз - сделай временной таблицей
|
|||
122
PR
27.04.12
✎
15:08
|
А в (44) практически то, что написал я, только:
— Используется журнал документов вместо объединений по типам документов; — Нет разреза по типу документа; — Зачем-то вложенный запрос вместо сразу максимума по ссылке. |
|||
123
Ненавижу 1С
гуру
27.04.12
✎
15:10
|
(122)
1 и 2. на тот момент я не знал полной постановке, журнал, это просто пример, не концептуально 3. ответь на (119) |
|||
124
PR
27.04.12
✎
15:10
|
(120) МАКСИМУМ(ПоступлениеТоваровУслуг.Ссылка) не учитывает дату + время + момент времени документа?
|
|||
125
Ненавижу 1С
гуру
27.04.12
✎
15:10
|
(124) не поверишь конечно, но нет
|
|||
126
Kashemir
27.04.12
✎
15:11
|
(124) Эм - конечно не учитывает
|
|||
127
Kashemir
27.04.12
✎
15:12
|
(124) Эта конструкция учитывает лишь тип + ИД.
А для времени еще нужен 3 пункт (122) |
|||
128
PR
27.04.12
✎
15:34
|
(125), (126), (127) А, пардоньте, не учитывает, да.
Хуже, что нельзя взять максимум от момента времени, что странно. Тогда придется слегка испачкаться, пока дойдешь до истины, да. Только с чего бы тогда в (44) максимум по ссылке? |
|||
129
Kashemir
27.04.12
✎
15:36
|
(128) В (44) сначала отбирается максимальная дата во вложенном запросе, после чего из оставшихся (после внутреннего соединения) отбирается максимальная ссылка.
|
|||
130
PR
27.04.12
✎
15:37
|
(129) И с чего бы вдруг максимальная ссылка за весь период не даст самый поздний документ, а в рамках одной секунды даст?
Это реально так? |
|||
131
Kashemir
27.04.12
✎
15:39
|
(130) Потому что ссылка не имеет никакого отношения к датевремени, и самое прямое к ИД и Типу.
|
|||
132
Kashemir
27.04.12
✎
15:41
|
+(131) См. (26) (58) (91)
|
|||
133
PR
27.04.12
✎
15:42
|
(131) То есть упорядочивание по ссылке — это:
— Не упорядочивание по дате — Упорядочивание по моменту времени документа в рамках документов с одинаковой секундой ? |
|||
134
Max1986
27.04.12
✎
15:42
|
(131)Получается в разрезе одной секунды последняя ссылка не есть последний введенный документ?
|
|||
135
Kashemir
27.04.12
✎
15:43
|
(133) Да - все верно. По дате времени надо упорядочивать отдельно.
|
|||
136
PR
27.04.12
✎
15:43
|
+(133) А, вижу (8).
|
|||
137
Ненавижу 1С
гуру
27.04.12
✎
15:43
|
(133) интересные ты проводишь собеседования
|
|||
138
Max1986
27.04.12
✎
15:44
|
кстати, вот почему ввели документ 29.04.12, сменили дату на 25.04.12, но не время - и он последний в разрзе секунды?
|
|||
139
zak555
27.04.12
✎
15:44
|
как Ссылка генериться для документа ?
|
|||
140
PR
27.04.12
✎
15:45
|
(137) А у нас сейчас собеседование?
Я, кстати, на собеседовании куда более прозаичные вещи спрашиваю, о высшем пилотаже речи никогда не идет. Потому что зачем? |
|||
141
Лоботряс
27.04.12
✎
15:47
|
(139) не мое
GUID - ссылка - это тупо 16 байт. Формируется по особому алгоритму, гарантирующему уникальность вновь созданных ПРЕДСТАВЛЯЕТСЯ обычно в виде: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, где X - представлем в шестнадцетиричном видею Важно! GUID 1С-а представленный в 1С, например Сообщить(Строка(Ссылка.УникальныйИдентификатор())); отличается от фактически хранимого в базе на некоторые перемешанные значения Например, в 1С он выглядит как 6F9619FF-8B86-D011-B42D-00CF4FC964FF В базе (фактически) он имеет значение: 6F9619FF-D011-8B86-B42D-00CF4FC964FF (Это тупо пример, там алгоритм перестановки другой, лень споминать) Важно! GUID 1С формирует не по правилам Microsoft, а инкрементно. В начале сеанса формируется стартовый GUID, r примеру 6F9619FF-8B86-D011-B42D-00CF4FC964F0 У каждого последующего, созданного в этом сеансе ссылочного объекта GUID будет на 1 больше, к примеру: 6F9619FF-8B86-D011-B42D-00CF4FC964F1 6F9619FF-8B86-D011-B42D-00CF4FC964F2 6F9619FF-8B86-D011-B42D-00CF4FC964F3 |
|||
142
PR
27.04.12
✎
15:48
|
(135) А что
не даст нам нужного эффекта? |
|||
143
PR
27.04.12
✎
15:49
|
(138) Потому что у него ГУИД больше всех других ГУИДов в этой секунде.
|
|||
144
zak555
27.04.12
✎
15:50
|
(141) почему факт отличается от действительности ?
|
|||
145
Kashemir
27.04.12
✎
15:53
|
(138) Потому что есть ТИП документа, который упорядочивается до ИД документа. Другими словами среди 2 видов документов в пределах одной секунды всегда документы одного типа будут раньше чем другого. Кроме того никто не обязывает платформу генерить ИД последовательно.
|
|||
146
Max1986
27.04.12
✎
15:54
|
(145) понятно...
|
|||
147
Kashemir
27.04.12
✎
15:54
|
(142) Конечно нет - ты возьмешь у одного документа самое больше время, а у другого самое больше значения Типа + ИД.
|
|||
148
Лоботряс
27.04.12
✎
15:59
|
(144) ХЗ но это факт
|
|||
149
Kashemir
27.04.12
✎
16:01
|
(142) Эта информация малополезна и к ней нельзя привязываться. Так же как и к тому что определенные группы генеренных ИД как правило содержат и часть ИД узла генерации.
|
|||
150
Kashemir
27.04.12
✎
16:02
|
+(149) относится к (141)
|
|||
151
Лоботряс
27.04.12
✎
16:06
|
(149) Может статейку в Книгу знаний забацаешь, а? Чтоб ни возникало больше вопросов...
|
|||
152
Kashemir
27.04.12
✎
16:07
|
(151) Лень :)
|
|||
153
Лоботряс
27.04.12
✎
16:11
|
А тему на 150 постов развивать не? Эх лень, тормоз прогресса
|
|||
154
Лоботряс
27.04.12
✎
16:11
|
:(
|
|||
155
Kashemir
27.04.12
✎
16:11
|
(153) Это не я чес слово :)
|
|||
156
PR
27.04.12
✎
16:16
|
(145) То есть истинной хронологии не получится? Да ладно.
А как же известное "Введите сначала поступление товаров, а уж потом реализацию"? Секунды менять? |
|||
157
Kashemir
27.04.12
✎
16:17
|
(156) Совершенно верно - менять можно только что нам доступно. А это все лишь время.
|
|||
158
PR
27.04.12
✎
16:18
|
(147) А, пардон, чувствовал, что что-то не так, но не допетрил :))
Мда, видимо без избыточной выборки не обойтись. |
|||
159
zak555
27.04.12
✎
16:20
|
(157) ссылку "изменять" нельзя ?
|
|||
160
PR
27.04.12
✎
16:21
|
(157) Я про другое.
Если мы занесем сначала поступление 1 на 10 штук, а потом реализацию 1 на 10 штук, а потом снова поступление 2 на 10 штук и реализацию 2 на 10 штук, все в рамках одной секунды, то у нас по остаткам будет нехватка товара? |
|||
161
Kashemir
27.04.12
✎
16:22
|
(160) Беспорно
|
|||
162
Kashemir
27.04.12
✎
16:23
|
(160) Хотя технически 50/50 если повезет - может тип поступления идти раньше чем реализации, тогда ошибки не будет - сначала гору на складирует ... а после все реализует.
|
|||
163
Kashemir
27.04.12
✎
16:25
|
(159) Нельзя. Разве что при создании объектов можно подсунуть из несуществующих
|
|||
164
PR
27.04.12
✎
16:27
|
(162) А, пардон.
Либо пример 1 должен сбойнуть, либо пример 2 сработать. Пример 1 Поступление 1 на 10 штук Реализация 1 на 10 штук Пример 2 Реализация 1 на 10 штук Поступление 1 на 10 штук |
|||
165
zak555
27.04.12
✎
16:28
|
(16) ну я как раз хотел предложить
получаем док, который нужно сделать "последним" копируем его, далее докНов = ДокСтар.Скопировать(); докНов.УстановитьСсылкуНового( Новый УникальныйИдентификатор ); ну а далее записать/провести и удалить старый |
|||
166
Kashemir
27.04.12
✎
16:29
|
(165) Но коммент :D
|
|||
167
Ненавижу 1С
гуру
27.04.12
✎
16:33
|
(165) а гарантия, что UUID будет больше?
да и для разных видов - там непреодолимо совсем |
|||
168
Max1986
27.04.12
✎
16:34
|
(165)Идею запатентуешь?
|
|||
169
zak555
27.04.12
✎
16:38
|
(167) тогда найти максимум в таблице документа, прибавить один и установить ссылку
|
|||
170
Kashemir
27.04.12
✎
16:40
|
(169) А если строго после него в пределах секунды должен идти еще один ? :D
|
|||
171
Ненавижу 1С
гуру
27.04.12
✎
16:45
|
(170) надо тогда секунду поделить на N
|
|||
172
zak555
27.04.12
✎
16:46
|
(170) это я про то, как сделать самый последний в одной секунде
|
|||
173
Kashemir
27.04.12
✎
16:48
|
(172) Ну я надеюсь ты понимаешь что такое решение это так - "чисто поржать" :)
|
|||
174
PR
27.04.12
✎
17:47
|
Попробовал занести поступление, потом реализацию и наоборот, в рамках одной секунды.
В обоих случаях поступление впереди реализации. Интересно, зачем сделали сортировку еще и с учетом типа документа, логичнее было без него обойтись. IMHO. |
|||
175
zak555
27.04.12
✎
17:52
|
(174) у поступления своя таблица, у реализации своя
=> начальный гуид тоже разный |
|||
176
Shurjk
27.04.12
✎
17:54
|
(174) Ндаа, для тебя сегодня прямо день открытий.
|
|||
177
Kashemir
27.04.12
✎
17:55
|
(174) 1. Гуиды разных типов технически могут повторяться
2. Такие правила сравнения ссылочных типов: СП: Правила сравнения значений Поскольку в языке запросов могут сравниваться значения разных типов, определены правила, по которым выполняется сравнение двух значений. Данные правила используются для: сравнения значений в операторах сравнения; определения максимального и минимального значений в агрегатных функциях МИНИМУМ и МАКСИМУМ; упорядочивания записей результата запроса в соответствии с порядком, заданным в предложении УПОРЯДОЧИТЬ ПО. Если типы значений отличаются друг от друга, то отношения между значениями определяются на основании приоритета типов: тип NULL (самый низший); тип Булево; тип ЧИСЛО; тип ДАТА; тип СТРОКА; ссылочные типы. Отношения между различными ссылочными типами определяются на основе внутренних ссылочных номеров таблиц, соответствующих тому или иному типу. Если типы данных совпадают, то производится сравнение значений по следующим правилам: у типа Булево значение ИСТИНА больше значения ЛОЖЬ; у типа ЧИСЛОобычные правила сравнения для чисел; у типа ДАТА более ранние даты меньше более поздних; у типа СТРОКА сравнения производится в соответствии с установленными национальными особенностями базы данных; ссылочные типы сравниваются на основе своих значений (номера записи и т. п.); не допускается сравнение полей неограниченной длины (строки неограниченной длины, ХранилищеЗначения, поле ТИПЗНАЧЕНИЯ из таблицы планов видов характеристик). |
|||
178
PR
27.04.12
✎
18:00
|
(175) Да таблицы-то разные.
Я не уверен был, что у ГУИДов не сквозная нумерация. А оно вон как получается. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |