|
Как проверить дату записи в справочнике программно? | ☑ | ||
---|---|---|---|---|
0
Demanufactyre
26.10.17
✎
13:11
|
Здравствуйте! Запутался в одном вопросе. Как проверить дату записи в справочнике программно?
|
|||
1
Волшебник
модератор
26.10.17
✎
13:12
|
Её нужно сохранить.
Или долго и муторно искать по журналу регистрации. |
|||
2
Demanufactyre
26.10.17
✎
13:15
|
(1) Записи справочника не хранят даты?
|
|||
3
Ненавижу 1С
гуру
26.10.17
✎
13:16
|
(2) а записи документов хранят что-ли?
|
|||
4
Demanufactyre
26.10.17
✎
13:17
|
(3) там вроде есть МоментВремен. Но это не точно.
|
|||
5
h-sp
26.10.17
✎
13:33
|
(4) заводите в справочнике реквизит ДатаЗаписи тип дата
потом в процедуре ПередЗаписью модуля объекта пишете ДатаЗаписи = ТекущаяДата(); после этого можете проверить эту дату записи в коде. Ну или запросом. |
|||
6
Ненавижу 1С
гуру
26.10.17
✎
13:34
|
(4) нет там ничего по теме
|
|||
7
lodger
26.10.17
✎
13:35
|
если не хочется дербанить типовой справочник - можно сделать независимый периодический РС и подписку на событие записи.
|
|||
8
Fish
26.10.17
✎
13:37
|
(5) А потом пользователь 10 раз откроет справочник и нажмет кнопку "ОК". И увидишь ты только дату последнего изменения.
|
|||
9
Волшебник
модератор
26.10.17
✎
13:37
|
(8) ну тогда версионирование
|
|||
10
catena
26.10.17
✎
13:38
|
(8)А мы не знаем, что автору нужно, может быть именно это.
|
|||
11
Ненавижу 1С
гуру
26.10.17
✎
13:40
|
(8) ну хорошо
Если ЭтоНовый() Тогда |
|||
12
X Leshiy
26.10.17
✎
13:43
|
(11) Выкрутился!)
|
|||
13
Demanufactyre
27.10.17
✎
04:42
|
(11)Вариант
"Если ЭтоНовый() Тогда" Не подходит. (5) Вариант с создание реквизита не плохой, но он тоже не подходит, так как позиции в справочнике уже существуют. Часть кода такая: Если ЭтоНовый() Тогда Кое-что добавляется; Иначе Если НЕ ЭтоНовый() Тогда Кое-что убирается КонецЕсли; КонецЕсли; И надо еще что то похожее вот на это: Если ДатаЗаписи < 27.10.2017 Тогда Делать что-то другое; КонецЕсли; |
|||
14
igorPetrov
27.10.17
✎
05:49
|
(13) Вот, что за бред. Если хочешь, что бы помогли - озвучь задачу нормально.
|
|||
15
Demanufactyre
27.10.17
✎
06:04
|
(14)Я извиняюсь. Я думал, что запись все-так хранит дату и там будет что то на подобие ДатаЗаписи. Оказалось все на много сложнее.
В принципе задачу можно закрывать, я привязался к номеру документа. |
|||
16
Рэйв
27.10.17
✎
06:10
|
(0)
Дарю. //-------------- Функция ДатаСозданияСсылки(Ссылка) Экспорт Если НЕ ЗначениеЗаполнено(Ссылка) Тогда Возврат Неопределено; КонецЕсли; Момент = Дата(1, 1, 1); Попытка УИ = Строка(Ссылка.УникальныйИдентификатор()); УИ = ВРег(СтрЗаменить(УИ,"-","")); Если Сред(УИ, 13, 1) = "1" Тогда Значение16 = ВРег(Сред(УИ, 14, 3) + Сред(УИ, 9, 4) + Сред(УИ, 1, 8)); Цифры16 = "123456789ABCDEF"; Значение10 = 0; Длина16 = СтрДлина(Значение16); Для Ном = 1 По Длина16 Цикл Значение10 = Значение10 + Pow(16, Длина16-Ном)*Найти(Цифры16, Сред(Значение16, Ном, 1)); КонецЦикла; Значение10 = Значение10/10000000; Момент = Дата(1582, 10, 15, 3, 0, 0) + Значение10; КонецЕсли; Исключение КонецПопытки; Возврат Момент; КонецФункции |
|||
17
craxx
27.10.17
✎
08:11
|
(13) Вопрос-то в чем? чего хочется-то от даты последней записи?
|
|||
18
Wirtuozzz
27.10.17
✎
08:23
|
(0) Путаться не нужно, нужно включить механизм версионирования данных и все. Будет видно, кто, когда, как менял тот или иной документ/справочник.
|
|||
19
Wirtuozzz
27.10.17
✎
08:25
|
(16) Офигеть, а это функция из типовой конфы или авторская разработка? если делал сам, то подскажи плиз, как разобрался как составляется GUID.
|
|||
20
Fish
27.10.17
✎
09:01
|
(19) Это неработающая (точнее некорректно работающая) функция :))
|
|||
21
Fish
27.10.17
✎
09:06
|
+(20) Т.е. дату из гуида она вытаскивает, но корректность этой даны никто не гарантирует.
|
|||
22
_Дайвер_
27.10.17
✎
09:12
|
(21) Почему? ГУИД меняется разве?
|
|||
23
Рэйв
27.10.17
✎
09:15
|
(19)Не, не сам. Гдето слямзил, уже не помню где:-)
(20)Да, плюс минус пару часов может приврать помоему , но дата верная:-) |
|||
24
2dolist
27.10.17
✎
09:20
|
Может версионирование? Там ещё и все изменения видно будет. И откатить, если надо, можно. Конечно, смотря какой справочник, а то может и базу раздуть сильно.
|
|||
25
2dolist
27.10.17
✎
09:20
|
по версионированию наверняка ещё и данные можно подтянуть запросом.
|
|||
26
Fish
27.10.17
✎
09:24
|
(22) Гуид не меняется, но корректность даты никто не гарантирует.
(23) Только, если УИД был присвоен автоматически. По просторам интернета гуляет такая цитата, приписываемая Нуралиеву (оригинала не нашел): "Уникальный идентификатор может быть и не сгенерирован при создании объекта, а взят из другой информационной системы. Не стоит его пытаться использовать в каком-либо качестве, кроме того, для которого он предназначен. (с) |
|||
27
Рэйв
27.10.17
✎
09:24
|
А я так и не понял почему запись реквизита при создании не кашерно для ТС.
|
|||
28
2dolist
27.10.17
✎
09:31
|
(27) так есть уже ж регистр. Версионирования. Прям так и называется. ВерсииОбъектов. Дополнительным плюсом является возможность просмотреть все версии, кто что менял и когда, откатиться на нужную версию. Ну и не надо ничего допиливать и придумывать.
|
|||
29
2dolist
27.10.17
✎
09:33
|
Если надо, например, первую или последнюю дату в отчётах доставать, да создайте просто доп реквизиты у номенклатуры, в которые регламентным заданием или подпиской, или как хотите, записывайте нужные данные, которые можно из регистра версий подтянуть без проблем.
|
|||
30
Рэйв
27.10.17
✎
09:38
|
(26)Ну да. Иначе был бы такой легальный метод в платформе.
|
|||
31
Serg_1960
27.10.17
✎
09:40
|
(23) Я помню где "где-то слямзил" :))
v8: Фактическая дата создания документа 8.1 ЗУП |
|||
32
Рэйв
27.10.17
✎
09:42
|
(31)Не, помоему даже у того, кто слямзил оттуда:-)
|
|||
33
ASU_Diamond
27.10.17
✎
09:45
|
(28) объем базы после включения версионирования насколько возрастает?
|
|||
34
Serg_1960
27.10.17
✎
09:51
|
(33) На этот вопрос сложно ответить. Каждый раз когда объект будет записывается - будет создаваться новая запись о версии.
|
|||
35
Рэйв
27.10.17
✎
09:53
|
(34)Даже если ничего не мялось в самом доке? Ну нафиг. У меня история пишется в сам док и только если изменилось что-то или он был проведен.
|
|||
36
Serg_1960
27.10.17
✎
09:57
|
(19) "как разобрался как составляется GUID" - слухами земля полнится. Кто-то, где-то, что-то сказал а умные люди намотали на ус :) Сейчас уже всё проще:
"Как формируется GUID?" http://catalog.mista.ru/public/635159/ |
|||
37
2dolist
27.10.17
✎
09:57
|
(33) Если только по одному справочнику делать, то не сильно. Ну а вообще, версионирование - вещь супер полезная и удобная. Только не советую по установкам цен её врубать. Есть баг с Format64 при записи данных установок цен для версионирования.
|
|||
38
Serg_1960
27.10.17
✎
10:00
|
(35) Sorry, но это не комильфо писать историю изменений в сам объект. Методически неверно. Так же, как, например, приклеить стикер с паролем на монитор :)
|
|||
39
Fish
27.10.17
✎
10:02
|
(35) Открыл проведённый документ, нажал ОК или Записать и закрыть (как делает большинство пользователей) - вот тебе и проведение.
|
|||
40
Fish
27.10.17
✎
10:04
|
(38) Кстати да, т.к. при удалении объекта теряется и его история, и уже не понять, что такой объект в принципе был.
|
|||
41
Serg_1960
27.10.17
✎
10:15
|
(39) Сейчас посмотрел, ради интереса по базе: взял 5555 записей документов "Заказ покупателя" и посмотрел сколько записей о своих версиях они создали. 90631 записей! Как мне это теперь развидеть и забыть? :)
|
|||
42
2dolist
27.10.17
✎
10:20
|
(41) отключить и забыть. А объём какой?
Вообще, если мешает, можно поставить период очистки. |
|||
43
Serg_1960
27.10.17
✎
10:25
|
Нет, не мешает. От слова "совсем" :) 1 к 16 - на один документ в среднем 16 версий - просто у меня РИБ и туда пишется версия всякий раз, когда в базы узлов мигрирует измененный объект.
|
|||
44
Рэйв
27.10.17
✎
10:51
|
(38)Если удалили- значит и не надо было знать что там за объект:-) Мне история нужна чисто для утилитарных целей.Чтобы знать кого бухам грызть, если что-то накосячилось.Потому что если им не дать виноватого, то виноватым буду я:-)
|
|||
45
catena
27.10.17
✎
10:51
|
У меня логи выгружаются в другую базу, только до 1 мес хранятся в рабочей базе. Но мне их регламентно положено хранить.
|
|||
46
Рэйв
27.10.17
✎
10:52
|
+(44)А текст в реквизите хранить все таки как-то разумнее, чем городить целый регистр
|
|||
47
Fish
27.10.17
✎
10:56
|
(44) Так так ты быстрее попадёшь в такую ситуацию: раз объекта, в котором накосячили, уже нет, то нет и виновного, кроме тебя :))
|
|||
48
Рэйв
27.10.17
✎
10:58
|
(47)Так физически удалить никто кроме прогеров прав не имеет.Так что если объектудален совсем, то виноватых искать и не надо:-)
|
|||
49
catena
27.10.17
✎
11:05
|
(48)хм... А вы перед удалением проверяете лично все объекты? У меня, если "удалилосьнужноепростотакпометкуудаленияпоставиличтобывглазанебросалось" - виноват пользователь.
|
|||
50
Рэйв
27.10.17
✎
11:10
|
(49)Да пометку удаления пусть хоть заставятся.Все пишется в истории, кто когда поставил, кто снял. Возникнуь вопросы- сразу выкатим отчет под объекту. А вот физически удалить вместе с историей - это только я со товарищи.
|
|||
51
catena
27.10.17
✎
11:14
|
(50)Ну. Сегодня пользователь поставил пометку, завтра удалили, послезавтра утверждают, что вот тут у них была лошадь.
|
|||
52
Рэйв
27.10.17
✎
11:16
|
(51)Мы помеченные на удаление не удаляем даже до обрезки. Потому как база немаленькая и этот номер просто не проворачивается.Вернее может и проворачивается но еще ни у кого не хватило нервов дождаться проверки ссылочной целостности на 250 гигах:-)
Так что как пометили- так все и болтается пока в новом году не начинаем все разать |
|||
53
ildary
27.10.17
✎
11:28
|
(33) в версионировании есть статистика по занимаемому пространству. По моим ощущениям - версии весят копейки (правда срок хранения максимум полгода).
|
|||
54
Serg_1960
27.10.17
✎
12:25
|
(53) Ваши ощущения субъективны :) Сам регистр - да, весит мало. Потому что весь "груз" версий - в хранилище. А в регистре версий - только ссылки.
|
|||
55
Fish
27.10.17
✎
13:15
|
(52) Ну это у вас так. А у нас помеченные на удаление регламентным заданием ежедневно чистятся.
|
|||
56
Злопчинский
27.10.17
✎
22:10
|
Версионирование это понятно.
Но нафига дата когда создан элемент справочника? То есть есть у нас 50 тыс однотипных записей. И зачем знать когда кскаято из тысяч однотипных записей была создана? |
|||
57
Wirtuozzz
27.10.17
✎
22:39
|
(21) Да это все равно круто! Я думал что гуид это набор символов. а оказывается там полезная инфа есть
|
|||
58
Wirtuozzz
27.10.17
✎
22:39
|
(23) Красавчик, просто красавчик!
|
|||
59
ildary
28.10.17
✎
09:25
|
(56) например для подсветки новых товаров в списке.
|
|||
60
ildary
28.10.17
✎
09:26
|
(54) согласен. Жалко что нельзя померять хранилище. Есть вообще способы работы с ним? Для базопузомерства.
|
|||
61
Злопчинский
28.10.17
✎
10:28
|
(59) бяка, ну и как потом штатно сделать например типа Прайс по новинкам, появившимся в обороте за последний месяц? Или продажи по ним посмотреть?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |