|
Копирование справочника вместе с подчиненными элементами ПриКопировании |
☑ |
0
Cherry-Berry
18.02.13
✎
13:00
|
Добрый день.
Есть задача, чтобы пользователи при нажатии стандартной кнопки копирования справочника получали копию справочника вместе с подчиненными ему.
В модуль объекта справочника добавила обработчик события ПриКопировании.
Процедура ПриКопировании(ОбъектКопирования)
ЭтотОбъект.Записать();
Выборка = Справочники.ПереченьВидовРабот.Выбрать(, ОбъектКопирования.Ссылка);
Пока Выборка.Следующий() Цикл
ДобОбъект = Выборка.ПолучитьОбъект().Скопировать();
ДобОбъект.Владелец = ЭтотОбъект.Ссылка;
ДобОбъект.Записать();
КонецЦикла;
КОнецПроцедуры
Все работает как положено.
Но при использовании стандартной команды копирования пользователю автоматически открывается форма создания справочника со скопированными значениями реквизитов, а получается, что в обработчике ПриКопировании этот элемент уже создан и записан.
Как можно обойти этот момент и отключить появление формы создания нового элемента справочника?
|
|
1
Cube
18.02.13
✎
13:02
|
(0) Фотки нет...
|
|
2
butterbean
18.02.13
✎
13:02
|
а если он захочет отказаться от создания?? типа случайно F9 нажал и т.п.??
|
|
3
Михей
18.02.13
✎
13:02
|
(0) ЭтотОбъект.Записать(); // не правильно!!!
|
|
4
Галахад
гуру
18.02.13
✎
13:02
|
СтандартнаяОбработка = Ложь;
|
|
5
Cherry-Berry
18.02.13
✎
13:05
|
(3) - но как без записи добавить ему подчиненные справочники?
|
|
6
БалбесВ1с
18.02.13
✎
13:05
|
(4)Стас ты неправ.
|
|
7
Defender aka LINN
18.02.13
✎
13:06
|
(5) Попытаться подумать немного?
|
|
8
Classic
18.02.13
✎
13:08
|
(5)
Создавать подчиненные при записи.
При открытии где-то фиксировать с какого элемента ты копируешь
|
|
9
Cherry-Berry
18.02.13
✎
13:09
|
Если добавлять подчиненные при копировании, а записывать подчиненные при записи вместе с самим объектом?
|
|
10
Cherry-Berry
18.02.13
✎
13:10
|
Наличие подчиненных можно будет отследить?
|
|
11
Cherry-Berry
18.02.13
✎
13:10
|
(8) - да, так и сделаю, спасибо
|
|
12
Cherry-Berry
18.02.13
✎
13:25
|
получается, что я знаю с какого элемента идет копирование в обработчике "ПриКопировании", но в форме ПриОткрытии этой информации уже не будет...
И форма создания элемента открывается автоматически ведь...
Можно ли править сам обработчик команды добавления копированием?
|
|
13
Cherry-Berry
18.02.13
✎
13:29
|
попробую использовать дополнительные свойства для хранения ссылки на объект источник
|
|
14
Cherry-Berry
18.02.13
✎
13:34
|
Получилось так
Процедура ПриКопировании(ОбъектКопирования)
ЭтотОбъект.ДополнительныеСвойства.Вставить("ОбъектКопирования", ОбъектКопирования.Ссылка);
КонецПроцедуры
Процедура ПриЗаписи(Отказ)
Выборка = Справочники.ПереченьВидовРабот.Выбрать(, ЭтотОбъект.ДополнительныеСвойства.ОбъектКопирования);
Пока Выборка.Следующий() Цикл
ДобОбъект = Выборка.ПолучитьОбъект().Скопировать();
ДобОбъект.Владелец = ЭтотОбъект.Ссылка;
ДобОбъект.Записать();
КонецЦикла;
КонецПроцедуры
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший