|
Текущая дата при создании нового документа Ø (Волшебник 12.02.2024 18:38) | ☑ | ||
---|---|---|---|---|
0
as303
naïve
12.02.24
✎
14:47
|
Добрый день, добавил реквизит "ДатаСоздания" (тип дата и время соответственно) в документе Реализация товаров и услуг
Добавил реквизит на форму + убрал доступность для редактирования Подскажите, как записать дату при создании документа, так чтобы при редактирование документа она не перезаписывалась, а осталось той, что была при создании. Спасибо |
|||
1
PLUT
12.02.24
✎
14:51
|
(0)
Чтобы выяснить новый объект или нет, необходимо использовать конструкцию вида: Параметры.Ключ.Пустая(); Если объект записан в базу данных, он содержит ссылку на объект — Ключ. Если ключ пустой- объект новый. ©пижженно с тырнета |
|||
2
as303
naïve
12.02.24
✎
14:54
|
(1) Спасибо Вам огромное
|
|||
3
AlexeyKh
12.02.24
✎
15:08
|
самый простой вариант, просто проверяй заполненность ДатаСоздания, если Пустая - заполняешь,
в дальнейшем при открытии формы документа она уже будет заполнена и не будет перезаполняться. пример кода в событии формы, ПриСозданииНаСервере Если Не ЗначениеЗаполнено(Объект.датаСоздания) Тогда Объект.датаСоздания = ТекущаяДата(); КонецЕсли; |
|||
4
mikecool
12.02.24
✎
15:09
|
(3) минус 5 баллов, для старых документов, у которых не была заполнена дата - будет вранье
|
|||
5
PR
12.02.24
✎
15:16
|
(1), (3) Вы серьезно? Что за бред?
Правильно делать заполнение в обработчиках ОбработкаЗаполнения и в ПриКопировании Единственно, если все-таки дата создания — это не когда начал создавать новый документ, а когда новый документ стал записывать, то тогда правильно делать заполнение в обработчике ПередЗаписью, в том случае, если Ссылка еще пустая Все в модуле объекта конечно же |
|||
6
AlexeyKh
12.02.24
✎
15:23
|
(4) так при добавлении нового реквизита
необходимо написать обработку заполнения ДатыСоздания а дату брать из самой Ссылки документа, там как раз кодируется дата создания ссылки |
|||
7
AlexeyKh
12.02.24
✎
15:25
|
вот вопрос для размышления - а зачем вообще добавлять ДатуСоздания? если ее можно получить из Ссылки?
|
|||
8
Волшебник
12.02.24
✎
15:25
|
(6) Нельзя извлекать дату из ссылки, это моветон
|
|||
9
PR
12.02.24
✎
15:31
|
(7) Хочешь я тебе создам документ, где датой ссылки будет 3000 год?
Во-первых, это недостоверно Во-вторых, как правильно заметил Волшебник, моветон В-третьих, попробуй получи это в запросе |
|||
10
AlexeyKh
12.02.24
✎
15:42
|
(9) "(7) Хочешь я тебе создам " - так через Ж.. можно все что угодно создать!
речь была о ссылке созданной типовым/платформенным механизмом и сама по себе ДатаСоздания - мало информативна тем более что ее так же можно "подредактировать" пусть уже сразу, автор темы, включает механизм ИсторияИзменений там хотя бы информативности больше. |
|||
11
PLUT
12.02.24
✎
15:44
|
(5) а в (1) где бред?
про обормотчики ни слова, пусть (0) сам думает куда эту проверку на "ЭтоНовый()" присунуть |
|||
12
PR
12.02.24
✎
15:49
|
(10) Не надо вот этого всего "через Ж.. можно все что угодно создать"
Еще раз, дата создания в ссылке — это недокументированный и негарантированный способ И зачем вырезать аппендицит паяльной лампой через Ж.. — не очень понятно, разве что только кому-то больше нравится стоя и в гамаке А правильно для этого заводить реквизит и не компостировать никому мозг своими копроидеями |
|||
13
PR
12.02.24
✎
15:50
|
(11) Бред в том, что не нужно никакой проверки на ЭтоНовый делать
|
|||
14
Волшебник
12.02.24
✎
15:51
|
(10) реквизит можно извлекать из ИсторияИзменений, но зачем, если достаточно присвоить реквизит один раз при создании объекта и больше не менять? Потушите паяльную лампу...
|
|||
15
olegves
12.02.24
✎
15:57
|
(5) если делать в модуле объекта, тогда вместо ТекущаяДата() надо использовать ТекущаяДатаСеанса()
|
|||
16
AlexeyKh
12.02.24
✎
16:02
|
ну реквизит, так реквизит
тем более что в типовых документах их (дат) вообще нескольо Дата документа, Дата оригинала, Дата входящая, и др. |
|||
17
mikecool
12.02.24
✎
16:05
|
(13) уточни - где не надо делать? в обормотке заполнения?
|
|||
18
PR
12.02.24
✎
16:07
|
(15) Не если, а всегда
|
|||
19
PR
12.02.24
✎
16:08
|
(17) В обработчиках ОбработкаЗаполнения и ПриКопировании
|
|||
20
PR
12.02.24
✎
16:10
|
+(19) В принципе, конечно, можно и там делать, потому что вдруг кто-то использует метод Заполнить для записанного документа
Но это уже, конечно, совсем высший пилотаж и душнилово Но да, можно и это предусмотреть, тогда нужно проверять |
|||
21
PLUT
12.02.24
✎
16:22
|
(19)
и непонятно, что (0) хотел ДатаСоздания - ясно понятно, что это дата создания объекта (ну типа первый раз записали в базу)? или это дата нажатия на кнопку Добавить/копировать в журнале документов?? а то, как советует в (19) пользователь нажал в пятницу скопировать - в обормотке ПриКопировании текущая дата. ушел домой. нажал кнопку записать в понедельник... "дата создания" в пятницу, событие добавления документа в журнале регистрации (и в истории изменений, если включена) - в понедельник |
|||
22
PR
12.02.24
✎
16:23
|
(21) См. (5)
|
|||
23
PLUT
12.02.24
✎
16:24
|
(22) см (1) и (21)
|
|||
24
PR
12.02.24
✎
16:44
|
(23) См. (22)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |