Имя: Пароль:
1C
 
Установка момента времени документа
0 Snork
 
18.04.11
16:16
Есть: дата + ссылка у 1 документа
Надо: У нового документа установить момент документа той же датой, но моментом времени позже, чем у 1го документа

Т.е. дата+ссылка у 2го документа должна быть позднее дата+ссылка у 1го, но даты у 1го и го должны быть равны

Как?
1 Maxus43
 
18.04.11
16:17
если 2-й записывается позже 1-го, но одной датой - то так и будет
2 Ненавижу 1С
 
гуру
18.04.11
16:18
(0) в общем случае задача не разрешима средствами платформы
3 aleks-id
 
18.04.11
16:19
ДатаВторогоДокумента = ДатаПервогоДокумента+КоличествоСекундНаСколькоПозже;
4 aleks-id
 
18.04.11
16:19
(2) хДДД
5 John83
 
18.04.11
16:20
новый документ всегда в конец временной оси ставится
6 Ненавижу 1С
 
гуру
18.04.11
16:22
(3)  у тебя:
ДатаВторогоДокумента != ДатаПервогоДокумента
7 aleks-id
 
18.04.11
16:23
(6) только при условии что ДатаПервогоДокумента+КоличествоСекундНаСколькоПозже > КонецДня(ДатаПервогоДокумента)
8 Maxus43
 
18.04.11
16:23
(6) не по 1совски...
(НЕ ДатаВторогоДокумента = ДатаПервогоДокумента) = ИСТИНА
9 Ненавижу 1С
 
гуру
18.04.11
16:24
(7) дата документа в 8.* это еще и время
10 Maxus43
 
18.04.11
16:24
(7) Я полагаю что в (0) имеет ввиду Дата+Время
11 aleks-id
 
18.04.11
16:25
(9)(10) и что?
12 Maxus43
 
18.04.11
16:26
Перефразирую: >>но дата-время у 1го и 2го должны быть равны
13 Snork
 
18.04.11
16:26
(12) так точно
14 Snork
 
18.04.11
16:27
ссылку 2го документа надо поставить раньше ссылки 1го внутри одной даты+время
15 aleks-id
 
18.04.11
16:28
(14)теперь вкурил
16 Maxus43
 
18.04.11
16:29
имхо так просто никак. извратом только если. Т.е. записываем 2-й док, удаляем 1-й, и создаём заново 1-й. Встанет после 2-го тогда.
для чего хоть надо то? секундами не разрулить разными чтоли?
17 aleks-id
 
18.04.11
16:30
тогда никак. при одинаковых дате-времени первым будет более старый документ имхо, хотя не уверен...
18 Ненавижу 1С
 
гуру
18.04.11
16:33
где написано, что есть гарантия получения ссылки больше чем данная? разве только вручную UUID подсунуть
19 hhhh
 
18.04.11
16:34
(17) не, ну если оперативное проведение там, то перепроведение может решить вопрос.
20 Maxus43
 
18.04.11
16:34
(18) гарантий нет, но как правило так и происходит, мниться мне
21 Ненавижу 1С
 
гуру
18.04.11
16:37
(20) тогда это незачет
22 Maxus43
 
18.04.11
16:38
(21) дак вся задача незачет... зачем это вобще?)
23 Snork
 
18.04.11
16:39
как UUID подсунуть?
24 Maxus43
 
18.04.11
16:42
УстановитьСсылкуНового(), правда хз как он отработает для уже записанного объекта... СП молчит
25 Ненавижу 1С
 
гуру
18.04.11
16:42
(22) а почему нет?
(23)  ПолучитьСсылку + УстановитьСсылкуНового
26 Dmitrii
 
гуру
18.04.11
16:44
Нельзя средствами платформы поменять UID (ссылку) уже записанного документа.
27 PVV65
 
18.04.11
16:45
ЦИТАТА


Прежде всего, документы и движения упорядочиваются по дате. В документах это поле Дата, а в записях регистров Период. При этом дата включает время, соответственно, значения отличаются с точностью до секунды. Однако очевидно, что два документа или два движения могут иметь одинаковое значение даты (иметь одинаковую дату включая время). Чтобы порядок таких документов был всегда одинаков (сохранялся во всех выборках) документы и движения дополнительно упорядочиваются по значению ссылки документа. В документах это поле Ссылка, а в регистрах – Регистратор. Значение ссылки уникально среди документов всех видов, поэтому порядок следования документов будет детерминирован, даже при просмотре журнала, включающего несколько видов документов или объединения документов разных видов в запросах. Однако следует учитывать, что значение ссылки генерируется системой без какой-либо гарантии получения неубывающей последовательности. То есть взаимное расположение в хронологической последовательности двух документов имеющих одинаковую дату (включая время) не зависит от порядка создания документов или от чего-то другого. Соответственно не существует возможности изменить порядок расположения двух документов в пределах одной секунды. Таким образом, порядок двух документов с одинаковой датой можно считать неопределенным, но система обеспечивает неизменность этого порядка после записи документов. Это позволяет во всех операциях, в которых порядок документов влияет на бизнес-логику приложения опираться на существующий порядок документов, так как он может измениться только явным изменением даты документа.
28 Maxus43
 
18.04.11
16:47
(26)(27) всё испортили...)
29 PVV65
 
18.04.11
16:50
+(27) Т.е. задача из (0) решаема.
30 Ненавижу 1С
 
гуру
18.04.11
16:51
(29) я же в (2) еще писал
31 hhhh
 
18.04.11
16:53
(27) и теперь вопрос: если явно поменять дату, а потом явно вернуть назад, то документ вернется на прежнее место?
32 also
 
18.04.11
16:57
http://partners.v8.1c.ru/forum/thread.jsp?id=279626#279626

Нет, так утверждать нельзя.
Механизм генерации ссылок обеспечивает только их уникальность. Возрастающая последовательность при их генерации не обеспечивается.

Нуралиев Сергей (1С, Москва)
33 Dmitrii
 
гуру
18.04.11
16:57
(31) Да
34 PVV65
 
18.04.11
16:57
(30) В (2) ты написал, что задача не решаема.
(31) Не вернется.
35 Dmitrii
 
гуру
18.04.11
16:59
+ к (33) Вернее так: "скорее всего ДА, но Нуралиев этого не гарантирует (см. (32))
36 wPa
 
18.04.11
16:59
(0) Нет жесткой привязки документа ко времени. Сортировка идет по ГУИДу, ГУИД - в момент создания по времени в миллисекундах, прошедших с 15 октября 1582 года 04:00

Но это если один тип документов, а если разные - то сначала отсортирует по ГУИДУ (а гуид типа по тому же принципу - момент создания в конфигураторе)
37 Dmitrii
 
гуру
18.04.11
16:59
+ к (35) то есть закладываться на это не следует.
38 hhhh
 
18.04.11
17:00
(34) а чего же говоришь, что решаема?
39 SunFox
 
18.04.11
17:01
(0) А если сделать вертуальный момент времени, дополнительным реквизитом, поможет?
40 PVV65
 
18.04.11
17:03
при перепроведении (с изменением даты) гуид сохраняется, но на оси времени его позиция меняется.
41 Dmitrii
 
гуру
18.04.11
17:03
Короче говоря, сортировка работает только по времени. Сортировка внутри одной секунды - фикция, условность, позволяющая получать отчеты, где документы будут выстроены внутри одной даты (включая время) всегда в одной неизменной последовательности.
42 wPa
 
18.04.11
17:03
(31) Нет места документа на оси документов. Есть гуид документа и гуид типа документа. Ну и дата. Уложить их  запросом с одной датой-временем можно только по комбинированному гуиду - Ссылке. А ее платформа считает с гуидом ссылки.
Т.е. документы с одним временем будут отсотрированы по Ссылка
Тип1
Тип1
Тип1
Тип2
Тип2
Тип3
43 wPa
 
18.04.11
17:04
(41) точно
44 hhhh
 
18.04.11
17:05
(37) проверил. Документ вернулся на место.
45 Dmitrii
 
гуру
18.04.11
17:05
(39) Да ради бога. Но только если у тебя не завязано  получение остатков по регистру накопления на момент времени.
46 Ненавижу 1С
 
гуру
18.04.11
17:06
(40) сам придумал?
47 SunFox
 
18.04.11
17:06
да, грустая картина получается, с сортировкой одинакового времени
48 Maxus43
 
18.04.11
17:07
(46) а как ещё то? чтоб битые ссылки при перепроведении появлялись?)
49 Dmitrii
 
гуру
18.04.11
17:08
(44) В одном конкретном случае - да. И так будет в большинстве случаев, но ни кто не даст тебе гарантию, что так будет всегда.
50 Ненавижу 1С
 
гуру
18.04.11
17:08
(48) я про "меняется"
51 Dmitrii
 
гуру
18.04.11
17:09
Вот бы автор объяснил зачем ему это надо....
52 Ненавижу 1С
 
гуру
18.04.11
17:09
(49) вернется на тоже место
53 wPa
 
18.04.11
17:10
(49) это не документ вернулся. Это его платформа отсортировала по ГУИДУ. Но... ГУИД же можно создать принудительно при первой записи.
54 PVV65
 
18.04.11
17:11
(46) Да, я ошибся. Возвращается на место.
55 hhhh
 
18.04.11
17:13
(49) ну понятно, на разных компах по разному может отсортировать этот ГУИД. 1С ведь использует сортировку WINDOWS или SQL.
56 SunFox
 
18.04.11
17:14
(55) если это так, то сортировка по ГУИД бесмыслена
57 hhhh
 
18.04.11
17:19
(56) ну вообще там двоичный код - не текст, сортировка в принципе везде должна быть одинакова.
58 wPa
 
18.04.11
17:25
(55) там бинарик в сиквельном представлениии (сегменты местами переставлены)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой