|
Сохранение реквизитов справочников до изменения для сравнения при записи в модуле объекта | ☑ | ||
---|---|---|---|---|
0
1c_solop
15.01.20
✎
13:25
|
Сохранение реквизитов справочников до изменения для сравнения при записи в модуле объекта для последующего сравнения с изменений при закрытии.Как лучше это сделать и сохранить?
|
|||
1
butterbean
15.01.20
✎
13:27
|
в ДополнительныеСвойства запихни
|
|||
2
SergTheGreat
15.01.20
✎
13:33
|
(0) А точно при закрытии нужно сравнивать (там уже никаких изменений откатить нельзя)?
Вот если перед записью, тогда сравниваешь реквизиты объекта и его же ссылки из базы. И при необходимости отказываешься от записи. |
|||
3
Андроны едут
15.01.20
✎
13:37
|
Из документации по 1С:
Метод ПоместитьВоВременноеХранилище() предназначен для размещения во временном хранилище данных, которые имеются в виде существующего объекта некоторого типа в оперативной памяти, а не в виде файла на дисковом накопителе. Если при вызове метода не указан адрес во временном хранилище ‑ данные будут размещены по новому адресу, который возвращается как результат функции. Размещенные данные обязательно принадлежат какой-либо форме и автоматически удаляются после ее удаления или серверного вызова (в зависимости от параметров метода). |
|||
4
catena
15.01.20
✎
13:38
|
ПередЗаписью доступны старые и новые значение по-умолчанию без доп сохранения.
|
|||
5
Timon1405
15.01.20
✎
13:38
|
чем не подходит типовое версионирование?
|
|||
6
1c_solop
15.01.20
✎
13:42
|
ПередЗаписью доступны старые и новые значение по-умолчанию без доп сохранения. Как обратиться старым?
|
|||
7
1c_solop
15.01.20
✎
13:43
|
В Модуле объекта
|
|||
8
catena
15.01.20
✎
13:43
|
(6)Ссылка.Реквизит - старое, Реквизит - новое. В модуле.
|
|||
9
1c_solop
15.01.20
✎
13:45
|
(5) Будет записываться в регистр сведений новое значение в случае изменения заполненного реквизита старое и новое значение и пользователь. Причем нужно учитывать фоновые задания. Форма не пойдет
|
|||
10
1c_solop
15.01.20
✎
13:51
|
(6)Ссылка.Реквизит - старое, Реквизит - новое. Так как обход реквизитов метаданных через [] не пойдет
|
|||
11
SergTheGreat
15.01.20
✎
13:59
|
(9) При закрытии записывать регистр сведений - ну, ни разу не грамотно.
Если конфа типовая, то как сказали в (5), смотри в сторону версионирования. Если нетиповая, тогда сравнивай объект и ссылку перед записью и тут же записывай регистр (в одной транзакции). |
|||
12
1c_solop
15.01.20
✎
16:13
|
При закрытии записывать регистр сведений - ну, ни разу не грамотно. при записи имелось ввиду
|
|||
13
1c_solop
15.01.20
✎
16:15
|
версионирования база огромная постоянно добавляются новые доп реквизиты. отслеживать нужно только изменение заполненных
|
|||
14
catena
16.01.20
✎
06:47
|
(10)Чего? Используй этотобъект. Или источник, если это все-таки подписка на событие.
|
|||
15
D_E_S_131
16.01.20
✎
10:06
|
Что это за извращение вообще? Какую цель преследуете в итоге? Выглядит все по описанию как гланды через...
|
|||
16
palsergeich
16.01.20
✎
10:08
|
(15) да на самом деле обычная задача.
Контроль изменения и/или логирование изменения чувствительных реквизитов для учёта. Почему не форма - ибо должно контролироваться всегда |
|||
17
pechkin
16.01.20
✎
10:09
|
так уже есть версионирование. хощшь из бсп - хошь платформенное.
зачем свое изобретать? |
|||
18
D_E_S_131
16.01.20
✎
10:17
|
Тогда не понятно чего ТС-у не подходит в (10)? Тупо в модуле объекта "ПередЗаписью()":
Для Каждого мдРеквизит Из Метаданные.Справочники.МойВажныйСправочник.Реквизиты Цикл ТекРеквизит = мдРеквизит.Имя; Изменилось = ЭтотОбъект[ТекРеквизит] <> Ссылка[ТекРеквизит]; Если Изменилось Тогда // пишем в свой РС нужное КонецЕсли; КонецЦикла; |
|||
19
palsergeich
16.01.20
✎
10:21
|
(18) хз
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |