|
|
|
определения родителя нового элемента справочника | ☑ | ||
|---|---|---|---|---|
|
0
adamst
12.05.10
✎
13:40
|
Правильно ли я понял, пока я не запишу элемент, группу в которой создается элемент я не узнаю?
т.е. ТекущийЭлемент().Родитель.Наименование не выполнится и если утверждение верное, как лучше всего решить задачу (как определить у нового элемента, еще не созданного, родителя в котором его создают)? |
|||
|
1
mikecool
12.05.10
✎
13:42
|
ИспользоватьРодителя() что вернет?
или как метод зовется? |
|||
|
2
Skom
12.05.10
✎
13:42
|
Пока ты не запишешь элемент откуда у тебя возьмется ТекущийЭлемент()
давай начнем с этого |
|||
|
3
Skom
12.05.10
✎
13:43
|
если ты делаешь
спр.Новый(); ... ... ... Спр.Записать(); тогда ты сам и определяешь ему Родителя Спр.Родитель = <Родитель> а иначе он с пустым значением и запишется |
|||
|
4
mikecool
12.05.10
✎
13:44
|
(3) можно определить
мне как то в прошлом подсказывали, щас уже и не вспомню как вроде как в (1) |
|||
|
5
ДенисЧ
12.05.10
✎
13:48
|
(4) именно так
|
|||
|
6
mikecool
12.05.10
✎
13:49
|
(5) о, а вот и автор моей помощи, если не ошибаюсь
ну или Ёпрст был все равно - всем спасибо :) |
|||
|
7
Cthulhu
12.05.10
✎
13:50
|
(3): неверно.
спр.Новый(); Сообщить("для Нового элемента справочника ещё до его записи Родитель ОПРЕДЕЛЁН! и в данном случае это - "+спр.ИспользоватьРодителя()+" ...","i"); |
|||
|
8
Cthulhu
12.05.10
✎
13:51
|
Для УСТАНОВКИ же родителя есть два способа.
1. Использование ".ИспользоватьРодителя(<ГруппаСправочника>)" - ПЕРЕД ".Новый()" 2. Прямое присваивание ".Родитель=<ГруппаСправочника>;" - ПОСЛЕ ".Новый()" |
|||
|
9
Skom
12.05.10
✎
13:51
|
(7) у меня в данный момент в конфигураторе база сохраняется (че та долго)
поэтому лезть на сервак в СП не хочется... ну не успел я прочитать описание метода. а на память не помню что и когда он возвращает... |
|||
|
10
Skom
12.05.10
✎
13:55
|
(7) я кстати имел в виду что у него ТекущийЭлемент() откуда возьмется, если он еще не записан....это для нового...
про родителя...опять же если не указывать ИспользоватьРодителя() то он и пустой запишется...как то так |
|||
|
11
Cthulhu
12.05.10
✎
13:58
|
(10): если не указывать родителя - то будет начально (неявно) установленный движком при создании объекта родитель - а именно корень (пустой родитель первого уровня). сиречь система для подстраховки сама выполняет неявную установку родителя, которую потом можно программно поменять.
|
|||
|
12
Skom
12.05.10
✎
14:00
|
(11) ну так мы об ожном и том же говорим
просто для меня пустой родитель это что для тебя родитель верхнего уровня для скуля это = ' 0 ' вроде бы если мне не изменяет память |
|||
|
13
mikecool
12.05.10
✎
14:02
|
(12) а для не скуля что будет? ;)
|
|||
|
14
Skom
12.05.10
✎
14:02
|
(13) не задавался таким вопросом.
|
|||
|
15
Cthulhu
12.05.10
✎
14:05
|
(12): я не знаю о чем конкретно ты говоришь приблизительно по той же причине, по которой чатланин и пацак не понимали землянина Гендевана Александровича, который думал на языках, продолжения которых сам не знал. Формулируй аккуратнее если хочешь избежать непонимания.
|
|||
|
16
adamst
12.05.10
✎
14:09
|
немного не правильно объяснил, из списка справочника жму ins, появляется диалог ввод нового элемента ... вот этот элемент по сути создается в группе в которой я находился в списке справочника... и пока я не сохраню элемент я не могу узнать в какой группе я создаю запись, а мне важно это знать, т.к. в зависимости от группу я принимаю решение о номере записи
|
|||
|
17
ДенисЧ
12.05.10
✎
14:11
|
(16) Почему не сможешь? В (1) описан секретный метод
|
|||
|
18
adamst
12.05.10
✎
14:12
|
ИспользоватьРодителя() откуда вызывать в форме ввода элемента? в нем он мне возвратил пустое значение...
|
|||
|
19
adamst
12.05.10
✎
14:14
|
может пример конкретный приведете
|
|||
|
20
Skom
12.05.10
✎
14:15
|
ИспользоватьРодителя(<?>,);
Синтаксис: ИспользоватьРодителя(<Родитель>,<ФлагИзменения>) Назначение: Установить выборку элементов по группе справочника. Возвращает: значение текущей группы для справочника (на момент до исполнения метода). Параметры: <Родитель> - значение группы справочника, среди элементов которой делается выборка. <ФлагИзменения> - необязательный параметр. Этим флагом регулируется возможность интерактивного изменения родителя. 1 - пользователь может изменить родителя интерактивно, 0 - пользователь не может интерактивно изменить родителя. Значение по умолчанию: 1. Данный параметр действует при интерактивном выборе элемента справочника - в случае, когда метод применен для элементов диалога типа ''Справочник''. Если метод применен для объекта, созданного функцией СоздатьОбъект, то данный параметр срабатывает при вызове метода Выбрать. Замечание: Метод можно использовать для объектов, созданных функцией СоздатьОбъект или для элементов диалога типа ''Справочник''. |
|||
|
21
Ёпрст
гуру
12.05.10
✎
14:15
|
(18)
ИспользоватьРодителя() - в форме списка справочника Родитель - в форме элемента.. |
|||
|
22
Skom
12.05.10
✎
14:16
|
и вообще название метода какое то не политкорректное...
|
|||
|
23
Cthulhu
12.05.10
✎
14:17
|
(16): можешь. в модуле формы элемента справочника
Процедура ПриОткрытии() //предопределенная << найди и всунь в неё следующую строку: Если Выбран()=0 Тогда Сообщить("Новый элемент справочника создается в группе "+ИспользоватьРодителя().ПолноеНаименование(),"i") КонецЕсли; |
|||
|
24
adamst
12.05.10
✎
14:18
|
ага точно, все так есть (21)
еще до записи элемента, в модуле (форме) создания элемента нужно просто написать Родитель :) |
|||
|
25
adamst
12.05.10
✎
14:19
|
(23) не так не канает
вот так процедура формы элемента Процедура ПриОткрытии() // ......... сообщить("Ввод нового договора в группу "+Родитель); КонецПроцедуры |
|||
|
26
adamst
12.05.10
✎
14:21
|
т.е. ТекущийЭлемент().Родитель - так не прокатит...
|
|||
|
27
Skom
12.05.10
✎
14:21
|
тогда уж при вводе нового
|
|||
|
28
Ёпрст
гуру
12.05.10
✎
14:21
|
(26) ясен пень, элемент еще не записан.
|
|||
|
29
BUBU
12.05.10
✎
14:34
|
adamst, что же все-таки в итоге ?
У меня такая же проблема. Подведи бабки |
|||
|
30
zak555
12.05.10
✎
14:36
|
||||
|
31
Ёпрст
гуру
12.05.10
✎
14:44
|
(29) читай (21)..
|
|||
|
32
adamst
12.05.10
✎
14:44
|
(29) проблемы нет
при содании нового элемента, если тебе нужно получить родителя в котором создают запись, тупо воспользуйся реквизитом Родитель |
|||
|
33
adamst
12.05.10
✎
14:45
|
смотреть тут пример (25)
(30) зачем? лишняя реклама форуму конечно не нужна, но народ должен знать правду :) |
|||
|
34
BUBU
12.05.10
✎
14:47
|
(32) так приоткрытии() или вводНового() ?
|
|||
|
35
adamst
12.05.10
✎
14:49
|
(34) это я для примера, можешь воспользоваться в любой из этих процедур, важно где этот реквизит использовать в модуле формы элемента...
|
|||
|
36
BUBU
12.05.10
✎
14:50
|
(35) Спасибо, наконец-то конкретно.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |