Иногда появляется необходимость запретить копирование документов. Почему?
Порой пользователи забывают поправить в них определенные данные или он не "корректно" копируется и т.д.
Некоторые используют код: ПараметрОбъектКопирования=истина; Но, у меня он не реагирует. Вот работающая процедура- приписывается в ФормаДокумента////Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
/////+++
Если ЗначениеЗаполнено(ПараметрОбъектКопирования) Тогда
Отказ = Истина;
Предупреждение("Функция копирования не доступна!");
Возврат;
КонецЕсли;
/////---
Порой пользователи забывают поправить в них определенные данные или он не "корректно" копируется и т.д.
Некоторые используют код: ПараметрОбъектКопирования=истина; Но, у меня он не реагирует. Вот работающая процедура- приписывается в ФормаДокумента////Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
/////+++
Если ЗначениеЗаполнено(ПараметрОбъектКопирования) Тогда
Отказ = Истина;
Предупреждение("Функция копирования не доступна!");
Возврат;
КонецЕсли;
/////---
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вы сударь, не настолько ленивы, как полагается быть программисту. если вам потребуется запретить несколько документов, а потом еще один и еще один, что же каждый раз в код лазить, нет уж увольте. мой вариант такой:
ПодпискаНаСобытие
Источник ДокументОбъект
Событие ПриКопировании
Обработчик:
Функция ОбработчикСобытияПриКопировании(Источник, ОбъектКопирования)
//здесь может быть условия проверки данного вида документов на запрет копирования.
ВызватьИсключение "Функция копирования не доступна!";
КонецФункции;
ПодпискаНаСобытие
Источник ДокументОбъект
Событие ПриКопировании
Обработчик:
Функция ОбработчикСобытияПриКопировании(Источник, ОбъектКопирования)
//здесь может быть условия проверки данного вида документов на запрет копирования.
ВызватьИсключение "Функция копирования не доступна!";
КонецФункции;
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Если ЗначениеЗаполнено(ПараметрОбъектКопирования) Тогда
Предупреждение("Данный документ нельзя копировать!",3);
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
Пардон, не до конца прочитал заглавный пост, хотел просто выложить сразу работающее и готовое решение. :)
Для управляемых форм - в процедуре ПриСозданииНаСервере формы документа:
P.S. Важный момент, если доработка через расширение, то код, отменяющий открытие необходимо прописать в процедуре Перед, а не После.
Если ЗначениеЗаполнено(Параметры.ЗначениеКопирования) Тогда
Отказ = Истина;
Сообщить("Копирование запрещено!");
Возврат;
КонецЕсли;
P.S. Важный момент, если доработка через расширение, то код, отменяющий открытие необходимо прописать в процедуре Перед, а не После.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот