Проверка изменения реквизита #547186


#0 by SeraFim
1с 8.2 В регистре сведений есть несколько реквизитов, среди которых: Клиент и Пользователь. Соответственно - в "Пользователь" должен храниться именно тот пользователь, который записал либо последний изменил клиента. На примере: Иванов записал Пупкина. Результат: Пользователь - Иванов. Клиент - Пупкин. Петров открыл эту же запись и изменил дату. Результат: Пользователь - Иванов. Клиент - Пупкин. Сидоров открыл эту же запись и изменил клиента на Васечкина. Результат: Пользователь - Сидоров. Клиент - Васечкин. Решил проверять изменялся ли Клиент вот так: в обработчике события ПередЗаписью хотел сравнить, какой клиент записан на стороне тонкого клиента, а какой - на стороне сервера. Но вот только проблема - 1Ска почему-то не видит эту запись на стороне сервера. Пробовал искать и МенеджеромЗаписи, и через НаборЗаписей, и запросом. Почему? И каким образом можно отловить, изменялся ли реквизит?
#1 by rbcvg
Модифицированность?
#2 by vmv
ему нужен факт модификации, а не событие модификации
#3 by Wobland
Описание: Определяет, был ли изменен объект после считывания из базы данных
#4 by Axel2009
ПодключитьОбработчикИзмененияДанных?
#5 by SeraFim
Смотрите пример про Петрова :) Если поменяли любой другой реквизит, то весь объект считается модифицированным. А мне нужно проверить, изменялся ли именно реквизит "Клиент"
#6 by mikecool
передай на сервер значение с клиента и сравни
#7 by Wobland
флажок взводить ПриИзменении ?
#8 by SeraFim
Он отслеживает только изменения на форме? Хотелось бы чтобы все это фиксировалось независимо от форм, потому что форм несколько. Да и вообще - сейчас мне нужно пройтись по всем записям и изменить другие реквизиты. Если пройдусь, то везде в качестве Пользователя буду указан я, и вся статистика и премии полетят к чертям((
#9 by SeraFim
хочу, но не получается. Например, в регистре 20 записей. Изменяю 15-ю запись. В обработчике ПередЗаписью делаю: Сообщить(НаборЗаписей.Количество); Получаю, что в наборе 19 записей. И не хватает той, которую редактирую - 15-ой.
#10 by Ненавижу 1С
запросом?
#11 by Axel2009
"Если пройдусь, то везде в качестве Пользователя буду указан я, и вся статистика и премии полетят к чертям((" к тебе полетит, к тебе =))
#12 by mikecool
с какого у тебя минус одна запись?
#13 by SeraFim
запросом получается такая же фигня, что и в от меня, боюсь, тоже улетит =) вот я и не знаю, какого ***** она исчезла. Поэтому и спрашиваю, может сталкивался кто. Есть подозрение, что какая-то блокировка не дает считать редактируемую запись. может быть, это особеннность 1Ски?
#14 by SeraFim
ааап
#15 by SeraFim
хм... еще разик апну)
#16 by SeraFim
ап
#17 by SeraFim
Проверил: если создаю набор записей, делаю отбор, считываю, меняю реквизит, а потом записываю, то вызывается обработчик ПередЗаписью, и там я могу сравнить полученный набор записей с тем, который в базе. Теперь осталась проблема: Если я открываю ФормуЗаписи, там меняю реквизит, потом вызывается обработчик ПередЗаписью, и почему-то в базе нет изменяемой записи. так что сравнить не с чем :(
#18 by SeraFim
Кажется понял... проблема в том, что при записи одной записи происходит сначала удаление этой записи, а потом создание новой) Поэтому перед тем как записать новую, в базе уже не осталось старой.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С