|
1C 8.2.14.540 отловить изменение реквизита документа | ☑ | ||
---|---|---|---|---|
0
Drac0
20.06.12
✎
13:43
|
День добрый.
Возникла странная ситуация: иногда меняется номер документа на определенные данные. База самописная, пишут несколько программеров. Тот, кто развивал функционал не смог найти, из-за чего подобное может быть. Меняться может как при проведении чего-либо, так и какй-то обработкой. Есть ли возможность мониторить изменение этого реквизита и писать время, пользователя и контекст. Журнал ничем не помогает ... |
|||
1
zak555
20.06.12
✎
13:44
|
док новый ?
приУстновкеНовогоНомера |
|||
2
pumbaEO
20.06.12
✎
13:44
|
ПередЗаписью
Если Объект.Номер <> Объект.Ссылка.Номер Тогда Изменили КонецЕсли |
|||
3
Maxus43
20.06.12
✎
13:45
|
версионирование прикрутить из БСП например?
|
|||
4
shuhard
20.06.12
✎
13:45
|
(0)[Журнал ничем не помогает]
как это в одной записи будет старый и новый номер |
|||
5
Drac0
20.06.12
✎
13:51
|
(1) неновый
(2) перед записью будет реагировать, если менялся номер программно? (3)опять-таки от программной замены спасет? (4) ну вот так, прошерстил журнал по этому объекту, и только факт записи и изменения данных |
|||
6
zak555
20.06.12
✎
13:53
|
(5) в модуле объекта - да
|
|||
7
Drac0
20.06.12
✎
13:53
|
(6) А если модуль другого документа или обработка?
|
|||
8
zak555
20.06.12
✎
13:54
|
(2) зачем так ?
почему не достаточно Процедура ПередЗаписью (Отказ) Если Номер <> Ссылка.Номер Тогда ??? |
|||
9
Drac0
20.06.12
✎
13:56
|
Кстати, система клиент-серверная, клиент тонкий.
|
|||
10
zak555
20.06.12
✎
14:01
|
(9) и ?
|
|||
11
Maxus43
20.06.12
✎
14:02
|
(5) >опять-таки от программной замены спасет?
конечно, там пофиг какое изменение |
|||
12
Drac0
20.06.12
✎
14:07
|
(10) На всякий случай.
(11) Это хорошо, будем пробовать. А можно передать имя обработки или документа, из которого была замена произведена? |
|||
13
Maxus43
20.06.12
✎
14:08
|
(12) нет. там фиксируется КОГДА, ЧТО, КТО изменил
|
|||
14
Maxus43
20.06.12
✎
14:08
|
короче стандартные вопросы с похмелья...
|
|||
15
Drac0
20.06.12
✎
14:10
|
(14) Иногда с похмелья сильно интересует КАК ) Ладно, попробуем реализовать что-нибудь полезное.
|
|||
16
Maxus43
20.06.12
✎
14:12
|
увы, данной информации система не видит, да и не должна...
|
|||
17
Drac0
20.06.12
✎
14:15
|
(16) Хм, а есть возможность узнать активные окна? Какой документ открыт или обработка в этот момент?
|
|||
18
mistеr
20.06.12
✎
14:16
|
(0) "не смог найти" - слабо верится. Отладчиком пользоваться не умеют либо мало им платите.
|
|||
19
Maxus43
20.06.12
✎
14:16
|
на управляемых можно, но на стороне клиента только... а версионировнаие на сервере будет писать всё
|
|||
20
Drac0
20.06.12
✎
14:21
|
(19) У нас как раз-таки УФ :) Тем более можно ведь все писать в какой-нибудь файлик, тогда проблема сервер/не сервер уже не играет роли.
|
|||
21
Drac0
20.06.12
✎
14:23
|
(19) Как я понимаю, делается это через ОкнаКлиентскогоПриложения.Получить() ?
|
|||
22
Maxus43
20.06.12
✎
14:23
|
как ты себе представляеш при каждом действии юзера писать куданить список всех открытых окон без жестокой доработки конфы?
|
|||
23
ЧашкаЧая
20.06.12
✎
14:24
|
(8) Обычно такое в подписке делают поэтому
Если Объект.Номер <> Объект.Ссылка.Номер Тогда |
|||
24
Drac0
20.06.12
✎
14:24
|
(22) Зачем при каждом? Только при изменении нужного реквизита.
|
|||
25
Maxus43
20.06.12
✎
14:28
|
(21) угу
(24) просто проверка реквизитов будет выполнена на сервере, и как ты там узнаеш какой клиент это сделал и получиш список его форм - я хз чесно |
|||
26
Drac0
20.06.12
✎
14:44
|
(25) Но ведь при версионировании на сервер передаётся текущий пользователь, разве нет возможности найти потом клиент по пользователю?
|
|||
27
Maxus43
20.06.12
✎
14:45
|
клиент может вызвать сервер, но не наоборот ЕМНИП, с сервера на клиент не приедеш
|
|||
28
Maxus43
20.06.12
✎
14:47
|
короче Объект.записать() не тянет с собой инфы о месте возникновения события, если до этого не стоит например Объект.ДополнительныеСвойства.Вставить("Это сделал я отсюда вот")
|
|||
29
Drac0
20.06.12
✎
14:47
|
(27) Но ведь обмен данными между ними идет. Теже массивы и простые переменные можно передавать туда-обратно
|
|||
30
Maxus43
20.06.12
✎
14:47
|
(29) обмен идёт, но сервер не "видит" клиента
|
|||
31
Maxus43
20.06.12
✎
14:48
|
когда узнаеш (13) - подойдёш к нему и выпытаеш КАК он менял
|
|||
32
Drac0
20.06.12
✎
14:55
|
(31) или активность его по журналу регистрации посмотреть, т.к. сам человек вряд ли вспомнит :)
(30) Можно же сделать так, чтобы функция, выполняемая на сервере, возвращала флаг на клиент, и уже на нем работать с окнами. Хотя тут надо знать, где запрашивать. А это нам и надо узнать ... |
|||
33
Maxus43
20.06.12
✎
15:09
|
(32) >>Хотя тут надо знать, где запрашивать. А это нам и надо узнать
тото и оно. Посему - версионирование. ЖР - уже не нужен будет |
|||
34
Drac0
20.06.12
✎
15:10
|
(33) Спасибо за помощь! Буду пробовать.
|
|||
35
zak555
20.06.12
✎
18:06
|
(23) в подписке Источник, а не объект
|
|||
36
Serg_1960
20.06.12
✎
18:20
|
(0) Глянь на v8: v8: Одна из записей в журнале регистрации поставила в тупик... "я плакаль"(с) может свежие мысли появятся :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |