Имя: Пароль:
1C
1С v8
Запрет изменения реквизита "Ответственный"
0 Масянька
 
23.11.18
11:11
День добрый!
Имеем: Бух 2.0.66.62, платформа 8.3.12.1529
Есть подписка "ПередЗаписьюДокумента..." (событие - ПередЗаписью).
Сам реквизит "ответственный" закрыт (совсем, полностью).
Краткое пояснение: руками в док-те никак нельзя поправить ответственного. Всегда будет (ответственным) тот, кто последний записал док-т.
Вопрос: есть вероятность того, что док-т был проведен другим пользователем, а ответственный не изменился? Например, отчеты какие-нибудь.
Спасибо.
PS Я тут отъеду на полчаса. Но ответы жду. Еще раз спасибо.
1 Базис
 
naïve
23.11.18
11:19
Привет. Делали 2 реквизита, "Автор" и "Редактор". Первый создал документ, второй - последний изменивший документ. Выборки по ЖР стали существенно реже.
2 Eiffil123
 
23.11.18
11:37
Ответственный, автор и последний редактировавший - это вообще 3 разных человека могут быть.
3 Базис
 
naïve
23.11.18
11:38
(2) Совершенно верно. Нам хватило (1). В редких случаях - ЖР и версии объектов.
4 Вафель
 
23.11.18
11:39
есть же версионирование
5 Bigbro
 
23.11.18
11:43
а если другой не записывал а просто провел
6 catena
 
23.11.18
11:50
(5)А с каких пор проведение не вызывает запись?
7 Mankubus
 
23.11.18
11:50
(0) отчеты не могут перезаписывать документ
8 yzimin
 
23.11.18
11:52
(7) это ответ на какой вопрос?
9 Mankubus
 
23.11.18
11:58
(8) Вопрос: есть вероятность того, что док-т был проведен другим пользователем, а ответственный не изменился? Например, отчеты какие-нибудь.
10 youalex
 
23.11.18
12:00
(0) Если меняется безусловно  (а часто прописывается проверка на ОбменДанными.Загрузка, например), то , по идее, не должно.
11 youalex
 
23.11.18
12:03
Если исключить варианты с прямым доступом к данным, использование расширения(должно быть право на администрирование расширений)..
12 Масянька
 
23.11.18
12:11
Конфа - стандарт. Добавлена эта подписка и закрытие реквизита в док-ах.
В док-ах - не изменяется. Ни кем. Ни как.
Если, к примеру, перепровести реализацию, то СФ тоже будет перепроведен. Без открытия док-та. Вот тут - может не сработать при записи?
(11) Ничего такого и этакого нет.
13 иубиповец
 
23.11.18
12:15
(0) А в подписке есть если режимзаписи.Загрузка = Истина тогда возврат, если есть то обработками по идее смогут (например групповой перепровод с режимом админа)
14 Eiffil123
 
23.11.18
12:23
(0) судя по всему, у вас ответственный устанавливается только первый раз, а в дальнейшем не меняется. Иначе при закрытии месяца он бы слетел по всем документам, т.к. выполняется групповое перепроведение документа.
15 Масянька
 
23.11.18
12:52
(13) Источник.ОбменДанными.Загрузка Тогда Возврат.
Смогут не записать не меняя реквизита?
Режима админа у пользователей нет.
16 catena
 
23.11.18
12:54
(15)Программно да. Всякие групповые обработки часто имеют настройку "Отключать контроль записи".
17 1Сергей
 
23.11.18
12:58
(7) в идеальном мире
18 Масянька
 
23.11.18
13:12
В реализации изменила сумму, провела (реализацию). Написато " "Реквизиты СФ будут заполнены автоматом.".
Сумма СФ изменилась, а реквизит нет...
Как так-то?
19 1Сергей
 
23.11.18
13:13
(18) Отладчик спасёт мать русской демократии
20 Масянька
 
23.11.18
13:14
(19) А при чем тут отладчик?
21 1Сергей
 
23.11.18
13:22
(20) как причем? тебе надо узнать попадает ли он в подписку? какие действия выполняются при записи
22 Масянька
 
23.11.18
13:40
(21) Тут и без Ванги понятно, что в подписку не попадает.
При проведении реализации есть ПроверитьСоответ.РеквизитовСФ. В ней (Проверить...) есть Объект.Записать(РежимЗаписиДокумента.Проведение).
23 Масянька
 
23.11.18
13:41
(16) Эта хрень отключается? Ну, включается :)
24 Serg_1960
 
23.11.18
13:45
(23) Пиши свои хотелки в свои подписки, ибо методисты считают что обработчики интерактивной работы должны отключаться при обмене.
25 Масянька
 
23.11.18
13:46
(24) Что значит "свои подписки"?
26 Serg_1960
 
23.11.18
13:49
Упс. Не в курсе что такое подписки на события? "Не верю"(с).
27 Вафель
 
23.11.18
13:49
чем версионирование не подошло. Оно есть из коробки
28 la luna llena
 
23.11.18
13:51
(24) я согласна, надо делать подписку на событие, идеально, чтобы она писала в регистр кто и что изменил
29 Масянька
 
23.11.18
13:51
(26) По-моему, я четко спросила... Повторю: что есть "свои подписки"?
30 Вафель
 
23.11.18
13:52
(28) а потом добавить и что изменилось и вуаля вы изобрели (17)
31 Вафель
 
23.11.18
13:52
(30) вернее (270
32 Масянька
 
23.11.18
13:52
(28) В (0) другое написано?
Регистр - на фиг надо.
33 la luna llena
 
23.11.18
13:54
(30) я уж тоже подумала, Бухию я плохо знаю, вдруг там нет (17)
34 la luna llena
 
23.11.18
13:57
Всегда будет (ответственным) тот, кто последний записал док-т.  
- а если групповое проведение документов запустить от администратора? все встанут под его именем? или вы имели в виду, что только проведение измененных документов меняет ответственных?
35 Serg_1960
 
23.11.18
13:57
(29) Четко отвечаю: "Если вы хотите безусловное исполнение алгоритма - выносите его из обработчика объекта "ПередЗаписью" в подписку на событие "Перед записью" этого объекта.
36 Масянька
 
23.11.18
13:59
(35) А в (0) что написано?!
Есть подписка (дописка):
- событие: перед записью.
- источник: почти все док-ты (галочки проставлены).
37 catena
 
23.11.18
14:03
(27)версионирование не подходит, если ответственного нужно менять все-таки не всегда. Например, исключая групповые обработки.
38 Serg_1960
 
23.11.18
14:04
(36) в (0) написано "Есть подписка "ПередЗаписьюДокумента...". В моей конфигурации таких подписок аж десять штук и все они начинаются (кроме подписок обмена) со строки "Если Отказ ИЛИ Источник.ОбменДанными.Загрузка Тогда Возврат...". Поэтому я предлагаю добавить в конфигурацию новую подписку, а не использовать штатные. Так понятно?
39 Масянька
 
23.11.18
14:08
(38) "Есть подписка" - имела ввиду "дописана".
Подписка не типовая. Дописана. Не типовая. Не штатная.
40 Serg_1960
 
23.11.18
14:13
(37) Имхо, алгоритм запрета на редактирование должен иметь возможность обойти его ограничения и не совпадать с используемыми в конфигурации функционалом обхода ограничений. Надеюсь несложно сказал. Основная мысль: я против использования версионирования и другого штатного функционала конфигурации.

(39) Ок, ясно, пост (24) - неактуально.
41 1Сергей
 
23.11.18
14:17
я правильно понел, что проблема не локализована, но Вы уже на амбразуру лезете исправлять?
42 Масянька
 
23.11.18
14:18
(40) Кое с чем соглашусь.
43 Serg_1960
 
23.11.18
14:20
Я реализовывал несколько другой функционал: ответственным назначается тот, кто добавил новый объект и никто кроме него не имеет право изменить это значение.

Смысл: ответственный за объект имеет уникальное право  на редактирование, но может его передать другому, при этом сам лишаясь этого права.
44 Масянька
 
23.11.18
14:24
(43) Не начинай...
Это уже обсуждалось... Не раз, и не два.
ИМХО: в каждом конкретном случае - своя реализация. В данном случае - механизм такой.
45 Serg_1960
 
23.11.18
14:31
(44) Не начинаю, просто информирую, если Вы не против :)
Ответ на вопрос в (0): да, такая вероятность есть.
[вышел с ветки]
46 Бубка Гоп
 
23.11.18
14:42
(0) не видя код - это как кот Шредингера, есть вероятность всего пока оно неизвестно. Если при каждой записи явно ставится новый ответственный - то не могу представить сценарий при котором реквизит не поменяется, кроме обмена