Имя: Пароль:
1C
1С v8
Комплексная 8.3 Запрет копирования
0 DenSpb
 
23.05.14
14:29
Нужно сделать, чтобы менеджерам при копировании счета на оплату открывался документ с заполненным полем контрагент и договор. Все остальное очищалось. Сделал подписку на событие на процедуру ПриКопировании. Там поместил код:
        НовыйОбъектКопирования = Документы.СчетНаОплатуПокупателю.СоздатьДокумент();
        ОбъектКопирования = НовыйОбъектКопирования;
        Источник = НовыйОбъектКопирования;
Не работает, не пойму в чем косяк?
1 DenSpb
 
23.05.14
14:31
Не написал, что этим кодом хотел обнулить новый счет, но счет копируется
2 hhhh
 
23.05.14
14:34
ну уже ведь есть объект копирования

может ЗаполнитьЗначенияСвойств(Источник, НовыйОбъектКопирования);
3 DenSpb
 
23.05.14
14:42
(2) нет, так не работает
4 DenSpb
 
23.05.14
14:53
Работает вот такой код:
        Для Каждого Реквизит Из Источник.Метаданные().Реквизиты Цикл
            Источник[Реквизит.Имя] = Неопределено;
        КонецЦикла;
        Для Каждого ТабличнаяЧасть Из Источник.Метаданные().ТабличныеЧасти Цикл
            ТабЧасть = Источник[ТабличнаяЧасть.Имя];
            ТабЧасть.Очистить();
        КонецЦикла;
Хотя он не очень хороший.
5 hhhh
 
23.05.14
14:56
(4) дык просто запретить им кнопку копирования, пусть работают с кнопкой ДОбавить. Чего вы фигней маетесь?
6 DenSpb
 
23.05.14
15:00
(5) не хочется конфу менять.
7 DenSpb
 
23.05.14
15:00
(5) в смысле, чтобы при обновлении не заморачиваться
8 pessok
 
23.05.14
15:06
ну тогда в подписку просто
отказ = истина
9 pessok
 
23.05.14
15:06
и текст, мол, "трудись, соколик!"
10 DenSpb
 
23.05.14
15:13
(8) в процедуре при копировании нет параметра Отказ