|
УТ 11.4 Расширение - убрать возможность удаления документа | ☑ | ||
---|---|---|---|---|
0
Misty
12.02.20
✎
09:27
|
Добрый день. Конфигурация УТ 11.4.9.82 . Платформа 8.3.16. Поставили задачу - чтобы кассиры не могли изменять проведенные документы, а так же снимать пометку проведения и пометку удаления. Создал реализацию, распечатал чеки и все, если что то вдруг надо поправить, то только помечаешь на удаление и создаешь новый документ. Добавила расширение- в нем создала справочник пользователей, которым нельзя изменять проведенные документы. В форме документа перед записью создала обработчик:
&НаСервере Процедура Расш1_ПередЗаписьюПередНаСервере(Отказ) НайденП = Справочники.Расш1_ПользователиЗапретПроведения.НайтиПоРеквизиту("пользователь", Пользователи.ТекущийПользователь()); Если НайденП <> Справочники.Расш1_ПользователиЗапретПроведения.ПустаяСсылка() тогда Если Объект.Проведен тогда сообщить("проводить нельзя"); отказ=Истина; КонецЕсли; Конецесли; КонецПроцедуры &НаКлиенте Процедура Расш1_ПередЗаписьюПеред(Отказ, ПараметрыЗаписи) Расш1_ПередЗаписьюПередНаСервере(Отказ); КонецПроцедуры Таким образом почти все пожелания удовлетворены - нет возможности изменять проведенные, нет возможности отменять проведение. И можно удалить. Но не пойму как реализовать запрет на отмену удаления? Буду признательна за идеи. Спасибо |
|||
1
Chameleon1980
12.02.20
✎
09:28
|
подписка с анализом режима записи
|
|||
2
Misty
12.02.20
✎
09:37
|
(1) Тогда придется конфигурацию снимать с поддержки, этого хочется как раз избежать.
|
|||
3
Misty
12.02.20
✎
09:38
|
или подписку на событие добавить расширение?
|
|||
4
yzimin
12.02.20
✎
09:45
|
(3) можно просто переопределить в расширении процедуры из модуля РеализацияТоваровУслугЛокализация
|
|||
5
palsergeich
12.02.20
✎
09:47
|
а теперь открой список и сделай то же самое чеерез контекстное меню.
Внезапно это отработает и весь этот уникальный код на помойку. тебе нужны события При и Перед записью модуля объекта, они расширяются |
|||
6
Misty
12.02.20
✎
09:47
|
(4) что такое РеализацияТоваровУслугЛокализация?
|
|||
7
yzimin
12.02.20
✎
09:48
|
(6) общий модуль
|
|||
8
Misty
12.02.20
✎
09:51
|
(5) как расширить модуль объекта? Если я в расширении добавляю какую то процедуру в модуль объекта, то она не работает
|
|||
9
yzimin
12.02.20
✎
09:52
|
(8) Расширь просто модуль реализации
|
|||
10
Misty
12.02.20
✎
09:57
|
(9) так я расширила модуль формы документа. В нем и написала эти две процедуры. Ничего не понимаю...
|
|||
11
oslokot
12.02.20
✎
10:15
|
(10) говорят же, расширь модуль а не модуль формы
|
|||
12
Chameleon1980
12.02.20
✎
10:22
|
(12) в модуле не только интерактивное срабатывание
|
|||
13
pechkin
12.02.20
✎
10:34
|
откуда права на удаление? или про програмно речь?
|
|||
14
Misty
13.02.20
✎
03:50
|
С расширениями столкнулась только 2 дня назад. Про такой механизм и не знала.
Не было понятно, что значит расширь модуль объекта, т.к. в исходной конфигурации нет команды "добавить модуль в расширение". Оказалось, что в расширении можно просто открыть модуль и там писать таким образом: &Перед("ПередЗаписью") Процедура ПередЗаписьюМоя(Отказ, РежимЗаписи, РежимПроведения) Теперь все срабатывает как надо. Вот это я и хотела услышать в поддержке. 2 дня мучений и все получилось. Всем спасибо. |
|||
15
Chameleon1980
13.02.20
✎
04:50
|
и не забывай про отличия переззаписью из формы и в модуле
|
|||
16
Misty
13.02.20
✎
05:49
|
(15) есть существенные отличия? а можно поподробнее
|
|||
17
Chameleon1980
13.02.20
✎
08:02
|
(16) а сама как думаешь
когда происходит вообще инициализация ПриЗаписи там и там? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |