Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Как проверить дату записи в справочнике программно?

Как проверить дату записи в справочнике программно?
Я
   Demanufactyre
 
26.10.17 - 13:11
Здравствуйте! Запутался в одном вопросе. Как проверить дату записи в справочнике программно?
 
 
   Волшебник
 
Модератор
1 - 26.10.17 - 13:12
Её нужно сохранить.
Или долго и муторно искать по журналу регистрации.
   Demanufactyre
 
2 - 26.10.17 - 13:15
(1) Записи справочника не хранят даты?
   Ненавижу 1С
 
3 - 26.10.17 - 13:16
(2) а записи документов хранят что-ли?
   Demanufactyre
 
4 - 26.10.17 - 13:17
(3) там вроде есть МоментВремен. Но это не точно.
   h-sp
 
5 - 26.10.17 - 13:33
(4) заводите в справочнике реквизит ДатаЗаписи тип дата

потом в процедуре ПередЗаписью модуля объекта пишете
ДатаЗаписи = ТекущаяДата();


после этого можете проверить эту дату записи в коде. Ну или запросом.
   Ненавижу 1С
 
6 - 26.10.17 - 13:34
(4) нет там ничего по теме
   lodger
 
7 - 26.10.17 - 13:35
если не хочется дербанить типовой справочник - можно сделать независимый периодический РС и подписку на событие записи.
   Fish
 
8 - 26.10.17 - 13:37
(5) А потом пользователь 10 раз откроет справочник и нажмет кнопку "ОК". И увидишь ты только дату последнего изменения.
   Волшебник
 
Модератор
9 - 26.10.17 - 13:37
(8) ну тогда версионирование
   catena
 
10 - 26.10.17 - 13:38
(8)А мы не знаем, что автору нужно, может быть именно это.
 
 Рекламное место пустует
   Ненавижу 1С
 
11 - 26.10.17 - 13:40
(8) ну хорошо
Если ЭтоНовый() Тогда
   X Leshiy
 
12 - 26.10.17 - 13:43
(11) Выкрутился!)
   Demanufactyre
 
13 - 27.10.17 - 04:42
(11)Вариант
"Если ЭтоНовый() Тогда"
Не подходит.
(5) Вариант с создание реквизита не плохой, но он тоже не подходит, так как позиции в справочнике уже существуют.

Часть кода такая:
Если ЭтоНовый() Тогда
Кое-что добавляется;
Иначе Если НЕ ЭтоНовый() Тогда
Кое-что убирается
КонецЕсли;
КонецЕсли;

И надо еще что то похожее вот на это: 
Если ДатаЗаписи < 27.10.2017 Тогда
Делать что-то другое;
КонецЕсли;
   igorPetrov
 
14 - 27.10.17 - 05:49
(13) Вот, что за бред. Если хочешь, что бы помогли - озвучь задачу нормально.
   Demanufactyre
 
15 - 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;
            
        КонецЕсли;
        
    Исключение
    КонецПопытки;
    
    Возврат Момент;
        
КонецФункции
   craxx
 
17 - 27.10.17 - 08:11
(13) Вопрос-то в чем? чего хочется-то от даты последней записи?
   Wirtuozzz
 
18 - 27.10.17 - 08:23
(0) Путаться не нужно, нужно включить механизм версионирования данных и все. Будет видно, кто, когда, как менял тот или иной документ/справочник.
   Wirtuozzz
 
19 - 27.10.17 - 08:25
(16) Офигеть, а это функция из типовой конфы или авторская разработка? если делал сам, то подскажи плиз, как разобрался как составляется GUID.
   Fish
 
20 - 27.10.17 - 09:01
(19) Это неработающая (точнее некорректно работающая) функция :))
   Fish
 
21 - 27.10.17 - 09:06
+(20) Т.е. дату из гуида она вытаскивает, но корректность этой даны никто не гарантирует.
   _Дайвер_
 
22 - 27.10.17 - 09:12
(21) Почему? ГУИД меняется разве?
   Рэйв
 
23 - 27.10.17 - 09:15
(19)Не, не сам. Гдето слямзил, уже не помню где:-)
(20)Да, плюс минус пару часов может приврать помоему , но дата верная:-)
   2dolist
 
24 - 27.10.17 - 09:20
Может версионирование? Там ещё и все изменения видно будет. И откатить, если надо, можно. Конечно, смотря какой справочник, а то может и базу раздуть сильно.
   2dolist
 
25 - 27.10.17 - 09:20
по версионированию наверняка ещё и данные можно подтянуть запросом.
   Fish
 
26 - 27.10.17 - 09:24
(22) Гуид не меняется, но корректность даты никто не гарантирует.
(23) Только, если УИД был присвоен автоматически. По просторам интернета гуляет такая цитата, приписываемая Нуралиеву (оригинала не нашел):
"Уникальный идентификатор может быть и не сгенерирован при создании объекта, а взят из другой информационной системы. Не стоит его пытаться использовать в каком-либо качестве, кроме того, для которого он предназначен.
(с)
   Рэйв
 
27 - 27.10.17 - 09:24
А я так и не понял почему запись реквизита при создании не кашерно для ТС.
   2dolist
 
28 - 27.10.17 - 09:31
(27) так есть уже ж регистр. Версионирования. Прям так и называется. ВерсииОбъектов. Дополнительным плюсом является возможность просмотреть все версии, кто что менял и когда, откатиться на нужную версию. Ну и не надо ничего допиливать и придумывать.
   2dolist
 
29 - 27.10.17 - 09:33
Если надо, например, первую или последнюю дату в отчётах доставать, да создайте просто доп реквизиты у номенклатуры, в которые регламентным заданием или подпиской, или как хотите, записывайте нужные данные, которые можно из регистра версий подтянуть без проблем.
   Рэйв
 
30 - 27.10.17 - 09:38
(26)Ну да. Иначе был бы такой легальный метод в платформе.
   Serg_1960
 
31 - 27.10.17 - 09:40
(23) Я помню где "где-то слямзил" :))
v8: Фактическая дата создания документа 8.1 ЗУП
   Рэйв
 
32 - 27.10.17 - 09:42
(31)Не, помоему даже у того, кто слямзил оттуда:-)
   ASU_Diamond
 
33 - 27.10.17 - 09:45
(28) объем базы после включения версионирования насколько возрастает?
 
 
   Serg_1960
 
34 - 27.10.17 - 09:51
(33) На этот вопрос сложно ответить. Каждый раз когда объект будет записывается - будет создаваться новая запись о версии.
   Рэйв
 
35 - 27.10.17 - 09:53
(34)Даже если ничего не мялось в самом доке? Ну нафиг. У меня история пишется в сам док и только если изменилось что-то или он был проведен.
   Serg_1960
 
36 - 27.10.17 - 09:57
(19) "как разобрался как составляется GUID" - слухами земля полнится. Кто-то, где-то, что-то сказал а умные люди намотали на ус :) Сейчас уже всё проще:

"Как формируется GUID?"
http://catalog.mista.ru/public/635159/
   2dolist
 
37 - 27.10.17 - 09:57
(33) Если только по одному справочнику делать, то не сильно. Ну а вообще, версионирование - вещь супер полезная и удобная. Только не советую по установкам цен её врубать. Есть баг с Format64 при записи данных установок цен для версионирования.
   Serg_1960
 
38 - 27.10.17 - 10:00
(35) Sorry, но это не комильфо писать историю изменений в сам объект. Методически неверно. Так же, как, например, приклеить стикер с паролем на монитор :)
   Fish
 
39 - 27.10.17 - 10:02
(35) Открыл проведённый документ, нажал ОК или Записать и закрыть (как делает большинство пользователей) - вот тебе и проведение.
   Fish
 
40 - 27.10.17 - 10:04
(38) Кстати да, т.к. при удалении объекта теряется и его история, и уже не понять, что такой объект в принципе был.
   Serg_1960
 
41 - 27.10.17 - 10:15
(39) Сейчас посмотрел, ради интереса по базе: взял 5555 записей документов "Заказ покупателя" и посмотрел сколько записей о своих версиях они создали. 90631 записей! Как мне это теперь развидеть и забыть? :)
   2dolist
 
42 - 27.10.17 - 10:20
(41) отключить и забыть. А объём какой?
Вообще, если мешает, можно поставить период очистки.
   Serg_1960
 
43 - 27.10.17 - 10:25
Нет, не мешает. От слова "совсем" :) 1 к 16 - на один документ в среднем 16 версий - просто у меня РИБ и туда пишется версия всякий раз, когда в базы узлов мигрирует измененный объект.
   Рэйв
 
44 - 27.10.17 - 10:51
(38)Если удалили- значит и не надо было знать что там за объект:-) Мне история нужна чисто для утилитарных целей.Чтобы знать кого бухам грызть, если что-то накосячилось.Потому что если им не дать виноватого, то виноватым буду я:-)
   catena
 
45 - 27.10.17 - 10:51
У меня логи выгружаются в другую базу, только до 1 мес хранятся в рабочей базе. Но мне их регламентно положено хранить.
   Рэйв
 
46 - 27.10.17 - 10:52
+(44)А текст в реквизите хранить все таки как-то разумнее, чем городить целый регистр
   Fish
 
47 - 27.10.17 - 10:56
(44) Так так ты быстрее попадёшь в такую ситуацию: раз объекта, в котором накосячили, уже нет, то нет и виновного, кроме тебя :))
   Рэйв
 
48 - 27.10.17 - 10:58
(47)Так физически удалить никто кроме прогеров прав не имеет.Так что если объектудален совсем, то виноватых искать и не надо:-)
   catena
 
49 - 27.10.17 - 11:05
(48)хм... А вы перед удалением проверяете лично все объекты? У меня, если "удалилосьнужноепростотакпометкуудаленияпоставиличтобывглазанебросалось" - виноват пользователь.
 
 Рекламное место пустует
   Рэйв
 
50 - 27.10.17 - 11:10
(49)Да пометку удаления пусть хоть заставятся.Все пишется в истории, кто когда поставил, кто снял. Возникнуь вопросы- сразу выкатим отчет под объекту. А вот физически удалить вместе с историей - это только я со товарищи.
   catena
 
51 - 27.10.17 - 11:14
(50)Ну. Сегодня пользователь поставил пометку, завтра удалили, послезавтра утверждают, что вот тут у них была лошадь.
   Рэйв
 
52 - 27.10.17 - 11:16
(51)Мы помеченные на удаление не удаляем даже до обрезки. Потому как база немаленькая и этот номер просто не проворачивается.Вернее может и проворачивается но еще ни у кого не хватило нервов дождаться проверки ссылочной целостности на 250 гигах:-)
Так что как пометили- так все и болтается пока в новом году не начинаем все разать
   ildary
 
53 - 27.10.17 - 11:28
(33) в версионировании есть статистика по занимаемому пространству. По моим ощущениям - версии весят копейки (правда срок хранения максимум полгода).
   Serg_1960
 
54 - 27.10.17 - 12:25
(53) Ваши ощущения субъективны :) Сам регистр - да, весит мало. Потому что весь "груз" версий - в хранилище. А в регистре версий - только ссылки.
   Fish
 
55 - 27.10.17 - 13:15
(52) Ну это у вас так. А у нас помеченные на удаление регламентным заданием ежедневно чистятся.
   Злопчинский
 
56 - 27.10.17 - 22:10
Версионирование это понятно.
Но нафига дата когда создан элемент справочника? То есть есть у нас 50 тыс однотипных записей. И зачем знать когда кскаято из тысяч однотипных записей была создана?
   Wirtuozzz
 
57 - 27.10.17 - 22:39
(21) Да это все равно круто! Я думал что гуид это набор символов. а оказывается там полезная инфа есть
   Wirtuozzz
 
58 - 27.10.17 - 22:39
(23) Красавчик, просто красавчик!
   ildary
 
59 - 28.10.17 - 09:25
(56) например для подсветки новых товаров в списке.
   ildary
 
60 - 28.10.17 - 09:26
(54) согласен. Жалко что нельзя померять хранилище. Есть вообще способы работы с ним? Для базопузомерства.
   Злопчинский
 
61 - 28.10.17 - 10:28
(59) бяка, ну и как потом штатно сделать например типа Прайс по новинкам, появившимся в обороте за последний месяц? Или продажи по ним посмотреть?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует