|
Как отключить возможность копирования документов и справочников? | ☑ | ||
---|---|---|---|---|
0
Saari
20.11.15
✎
11:54
|
Есть БУХ 2.0 и УТ 10.3. Можно ли отключить у пользователей (кроме администратора (пользователя с полными правами)) возможность копирования документов и элементов справочников?
Чтобы пользователи могли новые документы и элементы справочников только добавлять путем создания нового, а не копирования существующего? P.S. Способ закрыть кнопку копирования в каждом объекте знаю, но это надо каждый объект править. |
|||
1
ДенисЧ
20.11.15
✎
11:55
|
штатно - только играть с правами
|
|||
2
Ёпрст
20.11.15
✎
11:55
|
или подписками на событие
|
|||
3
Naumov
20.11.15
✎
11:55
|
только правкой кода
|
|||
4
Saari
20.11.15
✎
12:17
|
Создал подписку на событие ПриКопировании(). В источнике задал объекты: СправочникОбъект, ДокументОбъект.
В модуле обработчика написал процедуру: Процедура ПриКопированииДокументаСправочникаПриКопировании(Источник, ОбъектКопирования) Экспорт Если Не РольДоступна("ПолныеПрава") Тогда Если ЗначениеЗаполнено(ОбъектКопирования.ПараметрОбъектКопирования) Тогда Отказ = Истина; Сообщить("Функция копирования не доступна!"); Возврат; КонецЕсли; КонецЕсли; КонецПроцедуры При копировании элемента справочника возникает ошибка: Поле объекта не обнаружено (ПараметрОбъектКопирования). Потому что ПараметрОбъектКопирования это Расширение формы элемента. Так? Если я убираю строку с проверкой на заполненность значения, то при копировании элемента справочника открывается форма с новым объектом (как будто я создаю новый) с частично очищенными полями. Для документа - создается новый объект с заполненными полями. |
|||
5
Мимохожий Однако
20.11.15
✎
12:26
|
Меня лично больше интересует вопрос: Почему возникла такая необходимость? Если криво вводят, то есть топор. Или научить.
|
|||
6
Гёдза
20.11.15
✎
12:37
|
не отказ, а ВызватьИсключение
|
|||
7
Гёдза
20.11.15
✎
12:38
|
А лучше конечно в копировании ОЧИЩАТЬ значимые поля.
Такое поведение более юзер-френдли |
|||
8
Saari
20.11.15
✎
12:43
|
(6) напиши, пожалуйста, код
|
|||
9
Горогуля
20.11.15
✎
12:44
|
(8) для ВызватьИсключение?
|
|||
10
Saari
20.11.15
✎
12:50
|
Написал так:
Если РольДоступна("ПолныеПрава") Тогда ВызватьИсключение "Функция копирования не доступна!"; Возврат; КонецЕсли; В результате при копировании получаю окно с моим текстом и двумя кнопками: "ОК" и "Подробно...". Если нажать на "Подробно..." то открывается окно ошибок 1С. Можно ли сделать так, чтобы было без кнопки "Подробно..."? |
|||
11
ДенисЧ
20.11.15
✎
12:51
|
(10) Можно. Запускай тонкого клиента ))
|
|||
12
Saari
20.11.15
✎
12:54
|
(11) не, не годится )
|
|||
13
DexterMorgan
20.11.15
✎
12:55
|
(10) эта Подробно ток в режиме отладки отображается
|
|||
14
DexterMorgan
20.11.15
✎
12:56
|
(10) У пользователей же отладка не включена и не будет у них
|
|||
15
DexterMorgan
20.11.15
✎
12:58
|
(10) Нах тебе возврат?
|
|||
16
aleks_default
20.11.15
✎
12:59
|
ТС не делай костыли, делай как в (7)
|
|||
17
kiruha
20.11.15
✎
13:00
|
(0)
Зачем изобретать велосипед В при копировании пишешь в переменную модуля - ЭтоКопирование=Истина Далее где угодно Отказ=Истина |
|||
18
kiruha
20.11.15
✎
13:01
|
в других событиях
|
|||
19
Saari
20.11.15
✎
13:03
|
(13) закрыл конфигуратор и открыл базу простым пользователем. Все равно кнопка "Подробно..." отображается. (15) убрал Возврат; ))
(16) это я обсужу с руководством (17) это надо в каждом объекте прописывать? Расскажи подробнее. |
|||
20
kiruha
20.11.15
✎
13:06
|
(19)
Можешь в подписках - 2 подписки |
|||
21
Saari
20.11.15
✎
13:17
|
(7) (16) после переговоро решили попробовать очищать все значимые поля при копировании.
Подскажите, пожалуйста, как очистить? |
|||
22
Рэйв
20.11.15
✎
13:20
|
(21)Перед открытием
Если ЭтоНовый() Тогда ЗначимыйРеквизит= ""; КонецЕсли; |
|||
23
Saari
20.11.15
✎
13:25
|
(22) мне нужно не конкретный документ/элемент справочника обрабатывать, а все справочники и объекты. Прописывать очищение реквизитов в каждом объекте не вариант.
|
|||
24
vde69
20.11.15
✎
13:27
|
(21) для документов:
в модуле ЗаполнениеДокументов есть процедура ЗаполнитьШапкуДокумента(...) вот в ней и надо прописать... для справочников - поищи может есть подобное... |
|||
25
Гёдза
20.11.15
✎
13:28
|
Кнопка подробно - побочный эффект. Но без него никак
|
|||
26
Saari
20.11.15
✎
14:43
|
Пробую перебрать все реквизиты объекта и очистить их. Пишу так:
Процедура ПриКопированииДокументаСправочникаПриКопировании(Источник, ОбъектКопирования) Экспорт Для каждого Реквизит Из ОбъектКопирования.Метаданные().Реквизиты Цикл Сообщить(Реквизит.Имя + " --- " + Реквизит.Тип); <здесь что-то надо прописать, что очистит реквизит у создаваемого объекта> КонецЦикла; Как правильно очистить реквизит? |
|||
27
Saari
20.11.15
✎
15:50
|
Сделал так:
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ОбъектКопирования.Ссылка)) Тогда Для Каждого Реквизит Из Источник.Метаданные().Реквизиты Цикл Источник[Строка(Реквизит.Имя)] = Неопределено; КонецЦикла; Для Каждого Реквизит Из Источник.Метаданные().СтандартныеРеквизиты Цикл Если СокрЛП(Реквизит.Имя) = "Наименование" Тогда Источник[Строка(Реквизит.Имя)] = Неопределено; КонецЕсли; КонецЦикла; ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(ОбъектКопирования.Ссылка)) Тогда Для Каждого Реквизит Из Источник.Метаданные().Реквизиты Цикл Источник[Строка(Реквизит.Имя)] = Неопределено; КонецЦикла; Для Каждого ТЧ Из Источник.Метаданные().ТабличныеЧасти Цикл Источник[Строка(ТЧ.Имя)].Очистить(); КонецЦикла; КонецЕсли; Работает. Но появился вопрос: в справочнике "Контрагенты" есть раздел "Контактная информация". Как очистить этот раздел? |
|||
28
kiruha
20.11.15
✎
15:50
|
(26)
Правильно вызвать специалиста или пойти на курсы. Не ну должна быть некая грань незнания |
|||
29
Saari
20.11.15
✎
15:51
|
(28) Очистил реквизит )) самостоятельно )
Теперь как очистить контакты? |
|||
30
VikingKosmo
20.11.15
✎
15:52
|
(27) КИ это ТабличнаяЧасть, если что
|
|||
31
Saari
20.11.15
✎
15:52
|
(30) нет
|
|||
32
Saari
20.11.15
✎
15:53
|
БУХ 2.0 и УТ 10.3
|
|||
33
VikingKosmo
20.11.15
✎
15:53
|
тьху, это ж 10ка
|
|||
34
Saari
20.11.15
✎
15:53
|
(30) у меня БУХ 2.0 и УТ 10.3
|
|||
35
VikingKosmo
20.11.15
✎
15:53
|
тогда это ЕМНИП, это РС
|
|||
36
VikingKosmo
20.11.15
✎
15:53
|
а он и так не должен копироваться
|
|||
37
DexterMorgan
20.11.15
✎
15:54
|
(19)(25) А какая платформа? я специально воспроизвел на тестовой базе, не появляется у меня кнопки подробно без отладки
|
|||
38
Saari
20.11.15
✎
15:55
|
(37) платформа 8.3 (8.3.6.2332)
(36) значения контактов переходят из копируемого элемента. |
|||
39
Saari
20.11.15
✎
15:56
|
(37) на какой платформе пробовали?
|
|||
40
DexterMorgan
20.11.15
✎
15:57
|
(38) да ты гонишь, нет кнопки подробно. Зайди у клиента в сервис-параметры - там не стоит галка "отладка в текущем сеансе разрешена" ? и появляется кнопка подробно?
|
|||
41
Saari
20.11.15
✎
16:04
|
(40) Зашел в базу под пользователем. Зашел в Сервис-Параметры. На закладке "Системные" галки "отладка в текущем сеансе разрешена" нет. Но кнопка "Подробно..." появляется.
Конфигурация УТ 10.3 |
|||
42
Гёдза
20.11.15
✎
16:16
|
(40) Это только в тонком так
|
|||
43
DexterMorgan
20.11.15
✎
16:23
|
(42) да блин у меня толстый клиент и нет этой кнопки
|
|||
44
Гёдза
20.11.15
✎
16:25
|
(38) контакты в форме копируются )))
|
|||
45
Saari
20.11.15
✎
16:25
|
(44) да. Как их очистить?
|
|||
46
DexterMorgan
20.11.15
✎
16:26
|
(42) в обычном приложении есть, в упр нету
|
|||
47
DexterMorgan
20.11.15
✎
16:26
|
(42) так шта не в тонком дело :peka:
|
|||
48
VikingKosmo
20.11.15
✎
16:26
|
(46) так у ТС УТ 10.3, откуда ему взять УФ?
|
|||
49
Saari
20.11.15
✎
16:27
|
(46) у меня обычное приложение.
|
|||
50
Saari
20.11.15
✎
16:27
|
остался последний вопрос: как очистить контакты?
|
|||
51
DexterMorgan
20.11.15
✎
16:27
|
(49) это я уже понял
|
|||
52
DexterMorgan
20.11.15
✎
16:27
|
(48) вылез
|
|||
53
VikingKosmo
20.11.15
✎
16:28
|
(50) если они, как было сказано в (44) копируются в форме, очищать их нужно там же))
|
|||
54
DexterMorgan
20.11.15
✎
16:29
|
(48) утверждали, что кнопка появляется не в тонком клиенте, вот я и писал, что у меня работает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |