Имя: Пароль:
1C
1С v8
Сохранение реквизитов справочников до изменения для сравнения при записи в модуле объекта
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) хз
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn