![]() |
|
v7: ПриПереносеЭлементаВДругуюГруппу | ☑ | ||
---|---|---|---|---|
0
Shved_72
03.11.12
✎
11:10
|
надо в момент переноса элемента в группу записать кое что в сам элемент. перехватчик нашел, но в ней не дает ничо делать - объект заблокирован. как красиво обойти?
|
|||
1
Shved_72
03.11.12
✎
11:19
|
простые реквизиты победил:
Реквизит = Группа.Реквизит а с периодическими пока не встает |
|||
2
zak555
03.11.12
✎
11:23
|
Перем Записать ;
Процедура ПриПереносеЭлементаВДругуюГруппу() //... Записать = 1; КонецПроцедуры Процедура ПриЗакрытии() Если Записать = 1 Тогда //... КонецПроцедуры Записать = 0; |
|||
3
Shved_72
03.11.12
✎
11:26
|
фи. сложно
с периодическими получилось через ""Периодический"" |
|||
4
zak555
03.11.12
✎
11:27
|
какой реквизит ?
|
|||
5
Shved_72
03.11.12
✎
11:27
|
(2) и при закрытии чего? формы списка? а если надо сразу видеть изменения.
|
|||
6
Shved_72
03.11.12
✎
11:28
|
часть реквизитов общие для группы и для элемента, когда переносим Васю в группу сантехников, ему надо присвоить общие реквизиты группы
|
|||
7
Shved_72
03.11.12
✎
11:35
|
Процедура ПриПереносеЭлементаВДругуюГруппу(Элемент,Группа)
ТекДата = ИспользоватьДату(); sh_ВидСпорта = Группа.sh_ВидСпорта; ТренерГруппы = Группа.sh_Тренер.Получить(ТекДата); Тренер = СоздатьОбъект ("Периодический"); Тренер.ИспользоватьОбъект("sh_Тренер",Элемент); Тренер.Значение = ТренерГруппы; Тренер.ДатаЗнач = ТекДата; Тренер.Записать(); Сообщить("Сотруднику """+СокрЛП(Элемент)+""" с "+ФД(ТекДата)+" назначен вид спорта: """+СокрЛП(sh_ВидСпорта)+""" и тренер: """+СокрЛП(ТренерГруппы)+""" ","i"); КонецПроцедуры |
|||
8
Ork
03.11.12
✎
11:43
|
(8) ДляНафига так сложно?
тек_sh_Тренер = ...; Спр = СоздатьОбъект("Справочник."+Вид()); Спр.НайтиЭлемент(Элемент); Спр.sh_Тренер.Установить(ТекущаяДата(), тек_sh_Тренер); |
|||
9
Shved_72
03.11.12
✎
11:44
|
(8) тоже нак начал, но на "Спр.Записать()" - барада
|
|||
10
Ork
03.11.12
✎
11:45
|
(9) Где вы увидели в (8) Спр.Записать()?
|
|||
11
zak555
03.11.12
✎
11:45
|
Спр = СоздатьОбъект("Справочник."+Вид());
Спр.НайтиЭлемент(Элемент); Тренер = СоздатьОбъект ("Периодический"); Тренер.ИспользоватьОбъект("sh_Тренер",Спр); Тренер.Значение = ТренерГруппы; Тренер.ДатаЗнач = ТекДата; Тренер.Записать(); |
|||
12
Ork
03.11.12
✎
11:46
|
+(10) На момент переноса элемент уже записан. Нужно всего лишь установить значение периодического реквизита.
|
|||
13
Shved_72
03.11.12
✎
11:54
|
(12) т.е.
Спр.sh_Тренер.Установить(ТекущаяДата(), тек_sh_Тренер); сработает без Спр.записать() ? (11) у вас на 2 строки больше чем у меня. на Спр = СоздатьОбъект("Справочник."+Вид()); Спр.НайтиЭлемент(Элемент); |
|||
14
zak555
03.11.12
✎
12:02
|
(13) там пишется объект через СоздатьОбъект
|
|||
15
1Сергей
05.11.12
✎
07:01
|
(14) а смысл?
там у тебя ошибка в (11), есичо //Тренер.ИспользоватьОбъект("sh_Тренер",Спр); Тренер.ИспользоватьОбъект("sh_Тренер",Спр.ТекущийЭлемент()); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |