|   |   | 
| 
 | Как проверить дату записи в справочнике программно? | ☑ | ||
|---|---|---|---|---|
| 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) бяка, ну и как потом штатно сделать например типа Прайс по новинкам, появившимся в обороте за последний месяц? Или продажи по ним посмотреть?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |