|
Поиск Элемента в 8.3 | ☑ | ||
---|---|---|---|---|
0
alexsandrinia
27.05.15
✎
12:05
|
Как можно найти элемент по определённому реквизиту, например, идентификатору и произвести операции с найденным элементом (например, поменять родителя, полное наименование и т.п.)?
|
|||
1
degot
27.05.15
✎
12:08
|
запрос
|
|||
2
Heckfy
27.05.15
✎
12:08
|
о_О
НайтиПоРеквизиту НайтиПоНаименованию Запросом Странный вопрос...... |
|||
3
alexsandrinia
27.05.15
✎
12:09
|
(2) я так и сделал, как наименование оттуда выцепить?
|
|||
4
Heckfy
27.05.15
✎
12:10
|
(3) В смысле?
По ссылке и выцепляй. |
|||
5
alexsandrinia
27.05.15
✎
12:11
|
(4)ааа...понял
|
|||
6
alexsandrinia
27.05.15
✎
12:23
|
вытащил наименование, а как теперь у элемента с этим наименованием поменять родителя?
|
|||
7
degot
27.05.15
✎
12:28
|
семерочник что ли?
|
|||
8
alexsandrinia
27.05.15
✎
12:29
|
8.3
|
|||
9
ДенисЧ
27.05.15
✎
12:32
|
объект = элемент.ПолучитьОбъект();
объект.родитель = НовыйРодитель; Объект.записать() |
|||
10
Timon1405
27.05.15
✎
12:41
|
(9) таки лучше не называть переменную "Объект"
|
|||
11
alexsandrinia
27.05.15
✎
12:48
|
(9) Элемент - что собой подразумевает?
|
|||
12
Chameleon1980
27.05.15
✎
12:49
|
(11) в (10) ключевое в том, что ПолучитьОбъект нужно
|
|||
13
Chameleon1980
27.05.15
✎
12:49
|
(12) к (10)
|
|||
14
Chameleon1980
27.05.15
✎
12:50
|
(11) а книги, примеры почитать?
|
|||
15
alexsandrinia
27.05.15
✎
12:55
|
(14)
я имею ввиду в данном контексте |
|||
16
Cyberhawk
27.05.15
✎
12:55
|
В (9) "Элемент - что собой подразумевает?"
В (0) "Как можно найти элемент..." |
|||
17
Cyberhawk
27.05.15
✎
12:56
|
(15) в СП поищи метод ПолучитьОбъект() и поймешь, для каких объектов он применяется и что такое "элемент"
|
|||
18
alexsandrinia
27.05.15
✎
12:59
|
(9), (15) выдаёт ошибку:
Значение не является значением объектного типа (ПолучитьОбъект) НашЭлемент = Элемент.ПолучитьОбъект(); |
|||
19
Chameleon1980
27.05.15
✎
13:02
|
весь код уже показывай
в частности интересует как у тебя образуется "Элемент" что там в этой переменной ну и отладчик очень часто помогает |
|||
20
alexsandrinia
27.05.15
✎
13:04
|
&НаСервере
Функция ПоискПоИдент(РегИдент) //ищем элемент по Идентификатору Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Идентификатор, | Номенклатура.Наименование |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Идентификатор ПОДОБНО &Идентификатор"; Запрос.УстановитьПараметр("Идентификатор",РегИдент); Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда //Не нашли по Идентификатору РезПоискПоИдент = ЛОЖЬ; Иначе Выборка = Результат.Выбрать(); Элемент = Выборка.Наименование; НашЭлемент = Элемент.ПолучитьОбъект(); РезПоискПоИдент = Истина; КонецЕсли; Возврат РезПоискПоИдент; КонецФункции отладчиком смотрю тоже |
|||
21
Fish
27.05.15
✎
13:11
|
(20) " Элемент = Выборка.Наименование;
НашЭлемент = Элемент.ПолучитьОбъект(); Это просто гениально. Мне интересно, ты что-нибудь слышал про типы данных? |
|||
22
alexsandrinia
27.05.15
✎
13:14
|
(21) внимательно слушаю
|
|||
23
alexsandrinia
27.05.15
✎
13:14
|
(21) слева - строка, справа - объект, несходняк, знаю, вот поэтому и прошу помочь
|
|||
24
Fish
27.05.15
✎
13:16
|
(22) Тебе уже тысячу раз предлагали почитать книжки, примеры. Ты хоть одну прочитал?
|
|||
25
Heckfy
27.05.15
✎
13:17
|
Результат = Запрос.Выполнить().Выбрать();
Если Не Результат.Следующий() Тогда //Не нашли по Идентификатору РезПоискПоИдент = ЛОЖЬ; Иначе Выборка=РезультатЗапроса.Номенклатура.Ссылка; Элемент = Выборка.Наименование; НашЭлемент = Выборка.ПолучитьОбъект(); РезПоискПоИдент = Истина; КонецЕсли; Как то так..... Конфигуратора под рукой нету, где то мог ошибиться.... |
|||
26
Chameleon1980
27.05.15
✎
13:18
|
в запросе пол строки поменять
|
|||
27
Chameleon1980
27.05.15
✎
13:19
|
(25)
такого не описано в запросе: Выборка=РезультатЗапроса.Номенклатура.Ссылка; |
|||
28
Drac0
27.05.15
✎
13:20
|
(24) зачем? Миста же есть. Тут сотни желающих учить с 0.
(22) наглеешь. |
|||
29
Heckfy
27.05.15
✎
13:20
|
(27) Ну да. РезультатЗапроса заменить на Результат. :)
|
|||
30
Fish
27.05.15
✎
13:22
|
(29) Не только. У него в запросе нет поля "Номенклатура" :))
|
|||
31
Chameleon1980
27.05.15
✎
13:23
|
(29) и не только
(30) во-во |
|||
32
Heckfy
27.05.15
✎
13:23
|
Пляяаааа. Ну давайте я за ТС все сделаю!!!
| Номенклатура.Ссылка, | Номенклатура.Идентификатор, | Номенклатура.Наименование |
|||
33
Kvant1C
27.05.15
✎
13:23
|
(10) Можно как угодно называть, главное не забывать объявлять эту переменную.
|
|||
34
Heckfy
27.05.15
✎
13:24
|
(33) С Объектом на внешних обработка затык может быть. :)
|
|||
35
Chameleon1980
27.05.15
✎
13:29
|
(32) тут, похоже, нужно человеку дать понять, что за него не собираются делать. А я так понял что чел не попытавшись даже примеры посмотреть/поискать полез на форум.
|
|||
36
Kvant1C
27.05.15
✎
13:31
|
(34) Даже если я напишу Перем Объект?
Открой секрет, в чем там засада? |
|||
37
Heckfy
27.05.15
✎
13:34
|
(36) По моему да. По моему в 8.2 Объект зарезервирован и возвращает сам объект. Т. е. внешнюю обработку. Если не ошибаюсь, в 8.3 и в УФ заменили на ЭтотОбъект.
|
|||
38
Fish
27.05.15
✎
13:35
|
(36) На УФ основной реквизит формы по умолчанию называется Объект.
|
|||
39
Kvant1C
27.05.15
✎
13:39
|
(38) Ну это да, но я же пишу Перем Объект, то есть если я дальше буду обращаться просто к Объект-у, компилятор должен понимать, что я обращаюсь к объявленной переменной, а не к реквизиту формы.
|
|||
40
Timon1405
27.05.15
✎
13:43
|
(39) А как потом в коде к реквизиту обработки объект.контрагент обращаться будете?
|
|||
41
Fish
27.05.15
✎
13:44
|
(39) А вот это вопрос, что он там поймёт и везде ли это сработает. Лично мне проще не называть таким именем, так же, как и не называть переменную "Строка", чтобы не получить где-нибудь неожиданного результата. У меня это давняя привычка, ещё с тех времён, как я пытался скомпилировать программу на Си, сдуру назвав её prn. Было весело :))
|
|||
42
Kvant1C
27.05.15
✎
13:50
|
(41) На счет имен переменных полностью согласен, лучше перестраховаться.
Ну надо же какое совпадение! Про prn и кстати тоже на Си мне мой первый руководитель рассказывал :) |
|||
43
Kvant1C
27.05.15
✎
13:54
|
(40) К реквизиту самой обработки через ЭтотОбъект, к реквизиту формы через ЭтаФорма.
Как было на 8.2 сказать не могу, ее под рукой нет, а на 8.3 именно так работает. |
|||
44
Desna
27.05.15
✎
13:56
|
(0)"Как можно найти элемент по определённому реквизиту, например, идентификатору и"
та по реквизиту или идентификатору? |
|||
45
Desna
27.05.15
✎
13:58
|
тута вроде все как вАсмЯмярошники выходцы с сямеркы, а никто так и не телепатировал что ему надо, вроде как сямярошниками и не были
|
|||
46
Desna
27.05.15
✎
13:59
|
а как так может быть что у разных типов могут быть одинаковые гуиды?
|
|||
47
Drac0
27.05.15
✎
14:07
|
(43) ЭтаФорма - уже рудимент. Актуален только ЭтотОбъект и зависит он от контекста: в модуле объекта - это сам объект, в модуле формы - это форма.
|
|||
48
Timon1405
27.05.15
✎
14:07
|
(43) садись, два.
Во внешней обработке ТипЗнч(Объект) - ДанныеФормыСтруктура ТипЗнч(ЭтотОбъект) - УправляемаФорма |
|||
49
Drac0
27.05.15
✎
14:09
|
(48) В модуле формы внешней обработки. В модуле объекта - это ВнешняяОбработкаОбъект
|
|||
50
Kvant1C
27.05.15
✎
14:31
|
(48) Сам то понял что сказал?
Попробуй все это модуле объекта сделать. |
|||
51
Kvant1C
27.05.15
✎
14:49
|
Если сделать вот так:
&НаКлиенте Процедура ПриОткрытии(Отказ) Перем Объект; ПриОткрытииНаСервере(); КонецПроцедуры то переменная Объект будет неопределена - это конечно засада, но через ЭтотОбъект все равно можно добраться до Объект-а, который содержит ДанныеФормыСтруктура |
|||
52
Heckfy
27.05.15
✎
14:55
|
(51) Говорят, гланды через ж.пу тоже можно удалять.
|
|||
53
Kvant1C
27.05.15
✎
14:57
|
(52) А при чем тут гланды?
|
|||
54
Chameleon1980
27.05.15
✎
15:16
|
(53) типа тонкий намек такой
нахфига все усложнять на началах |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |