|
ПустаяСсылка() и ПолучитьОбъект() | ☑ | ||
---|---|---|---|---|
0
Beduin
17.10.11
✎
17:01
|
Собственно. Почему недоступен метод?
|
|||
1
Beduin
17.10.11
✎
17:02
|
(0) ПустаяСсылка().ПолучитьОбъект() - вот так
|
|||
2
trambalda
17.10.11
✎
17:03
|
А почему он должен быть доступен?
|
|||
3
Maxus43
17.10.11
✎
17:03
|
что он получит?
|
|||
4
Maxus43
17.10.11
✎
17:04
|
нет объекта то, пустота там
|
|||
5
Beduin
17.10.11
✎
17:04
|
(2) Потому что возвращает объект СправочникСсылка
|
|||
6
Beduin
17.10.11
✎
17:04
|
(4) Про пустоту понятно. Вопрос почему метод недоступен.
|
|||
7
Maxus43
17.10.11
✎
17:04
|
(5) пустой, грубо говоря тип возвращает
|
|||
8
andrewks
17.10.11
✎
17:05
|
и чо?
|
|||
9
Beduin
17.10.11
✎
17:05
|
ПолучитьСсылку().ПолучитьОбъект()
Вот для этого метода тоже СправочникСсылка и метод доступен. |
|||
10
Beduin
17.10.11
✎
17:06
|
(7) Ну и пусть пустой тип. Метод то зачем они заблокировали.
|
|||
11
Maxus43
17.10.11
✎
17:06
|
(9) всмысле доступен? в подсказке методов?
|
|||
12
Beduin
17.10.11
✎
17:06
|
(8) Ни чо. Код приходится лишний писать из за этого.
|
|||
13
Beduin
17.10.11
✎
17:07
|
(11) В вызове. В табло набери.
Справочники.Организации.ПолучитьСсылку().ПолучитьОбъект() Справочники.Организации.ПустаяСсылка().ПолучитьОбъект() |
|||
14
Jstunner
17.10.11
✎
17:08
|
а чтоб ты делал с "пустым" объектом?
|
|||
15
rotting
17.10.11
✎
17:08
|
(14) проверял бы на пустоту))))
|
|||
16
trambalda
17.10.11
✎
17:09
|
(5) ПустаяСсылка() возвращает значение типа СправочникСсылка, а не объект СправочникСсылка.
|
|||
17
Beduin
17.10.11
✎
17:09
|
(14) Вот люди.)
СсылкаСпрОрганизации = СпрОрганизации.ПолучитьСсылку(Новый УникальныйИдентификатор(глБаза.String(Выборка.ОбособленноеПодразделение.УникальныйИдентификатор()))); Если СсылкаСпрОрганизации.ПолучитьОбъект() = Неопределено Тогда ЗаписьРегистра.ОбособленноеПодразделение = СсылкаСпрОрганизации.Ссылка; КонецЕсли; Для этого кода приходится проверку еще писать из за этого. |
|||
18
Beduin
17.10.11
✎
17:10
|
(16) Почитай еще что возвращает метод ПолучитьСсылку()
|
|||
19
Jstunner
17.10.11
✎
17:11
|
(17) бред какой-то. Там вообще объект не нужен
|
|||
20
Maxus43
17.10.11
✎
17:11
|
(17) ну что делать... надо не ленится значит
|
|||
21
Beduin
17.10.11
✎
17:12
|
(19) Ок. А как узнать есть ли объект с данным ГУИД в базе или нет?
|
|||
22
Maxus43
17.10.11
✎
17:12
|
кстати да, Если Если СсылкаСпрОрганизации.Пустая() не катит?
|
|||
23
Beduin
17.10.11
✎
17:13
|
(22) Нет. Если ГУИД не пустой то Пустая() всегда истину возвращает. Неважно есть ли физически объект в базе или нет.
|
|||
24
Zolotko
17.10.11
✎
17:15
|
(21) насколько я понимаю тебе надо перебрать все объекты метаданных и сделать для них xmlЗначение(Тип, ГУИД).
|
|||
25
Beduin
17.10.11
✎
17:17
|
(24) Перебирать не нужно.
В этой теме мне необходимо узнать чем отличаются возвращаемые значения для методов ПолучитьСсылку() и ПустаяСсылка() |
|||
26
PR
17.10.11
✎
17:19
|
(25) У тебя каша в голове
|
|||
27
Beduin
17.10.11
✎
17:20
|
(26) Ок. Каша сварится.
Объяснить можешь чем отличаются возвращаемые значения? |
|||
28
Inform
17.10.11
✎
17:20
|
(25) ПолучитьСсылку() возвращает ссылку по идентификатору, не всегда пустая
а ПустаяСсылка() всегда возвращает пустую ссылку дальше ссылку можно проверять на заполненность: Пустая(), ЗначениеЗаполнено() |
|||
29
Beduin
17.10.11
✎
17:22
|
(28) Почему в СП указано что тип возвращаемого значения одинаков?
|
|||
30
trambalda
17.10.11
✎
17:23
|
(21) А ЗначениеИзСтрокиВнутр разве не годится тут?
Зачем эта красивая строка с ПолучитьСсылку... |
|||
31
Inform
17.10.11
✎
17:23
|
А почему тип у пустой ссылки справочника и не у пустой ссылки должен различаться?
|
|||
32
Amiralnar
17.10.11
✎
17:23
|
Демон еще спит?
NUUUUULLL |
|||
33
Beduin
17.10.11
✎
17:24
|
Просто если делают документацию с жесткой типизацией, то тогда хотя бы в описании указали, что метод получитьобъект() недоступен для значения возвращаемого методом ПустаяСсылка()
|
|||
34
Beduin
17.10.11
✎
17:25
|
(31) Типы не различаются. Проблема в методе ПолучитьОбъект()
|
|||
35
trambalda
17.10.11
✎
17:26
|
(34) Почему мой автомобиль не плавает!
Я все окна закрыл, а он все равно, гадина, тонет! Проблема в автомобиле! |
|||
36
PR
17.10.11
✎
17:26
|
(27) ПолучитьСсылку - это метод, который вернет ссылку, по заданному ГУИДу или новому автоматом сгенерированному ГУИДу.
А ПустаяСсылка - это метод, который проверяет ссылку на то, не пустая ли она и возвращает булево. Таким образом, твой вопрос звучит примерно так же, как и "В этой теме мне необходимо узнать, чем отличаются макароны по-флотски и ноутбук Acer?" :)) Правильный ответ "Всем" :)) |
|||
37
Beduin
17.10.11
✎
17:28
|
(36)
СправочникСсылка.<Имя справочника> (CatalogRef.<Имя справочника>) ПолучитьОбъект (GetObject) Синтаксис: ПолучитьОбъект() Возвращаемое значение: Тип: СправочникОбъект. Описание: Получает по ссылке объект, предназначенный для чтения, изменения, добавления и удаления справочника. Доступность: Сервер, толстый клиент, внешнее соединение. Сначало почитай СП на предмет возвращаемого значения метода ПустаяСсылка() |
|||
38
Beduin
17.10.11
✎
17:28
|
(36)
СправочникМенеджер.<Имя справочника> (CatalogManager.<Имя справочника>) ПустаяСсылка (EmptyRef) Синтаксис: ПустаяСсылка() Возвращаемое значение: Тип: СправочникСсылка. Описание: Получает пустое значение ссылки на справочник данного вида. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Может использоваться, например, когда нужно передать пустую ссылку в параметр метода. |
|||
39
Beduin
17.10.11
✎
17:29
|
(35) Если вы не относитесь к специалистам. Смысл постить?
|
|||
40
Oleg_Kag
17.10.11
✎
17:30
|
А вот теперь запости
ПолучитьСсылку() |
|||
41
PR
17.10.11
✎
17:30
|
(37) LOL
Так ПолучитьОбъект или ПолучитьСсылку? :)) |
|||
42
Beduin
17.10.11
✎
17:30
|
(40)
(41) Просто перепутал копи-паст СправочникМенеджер.<Имя справочника> (CatalogManager.<Имя справочника>) ПолучитьСсылку (GetRef) Синтаксис: ПолучитьСсылку(<УникальныйИдентификатор>) Параметры: <УникальныйИдентификатор> (необязательный) Тип: УникальныйИдентификатор. Уникальный идентификатор, из которого будет формироваться ссылка. Возвращаемое значение: Тип: СправочникСсылка. Описание: Формирует ссылку из значения типа УникальныйИдентификатор. Данный уникальный идентификатор может быть в дальнейшем получен из ссылки методом УникальныйИдентификатор. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Если параметр не указан, то будет сформирована новая уникальная ссылка. |
|||
43
PR
17.10.11
✎
17:31
|
Ну, хорошо, ссылки из СП запощены, перейдем к тому, что именно непонятно и интересует? :))
|
|||
44
Inform
17.10.11
✎
17:33
|
(33) это само собой разумеется, пустой объект можно получить методом СоздатьЭлемент(), поэтому нет никакой необходимости получать объект от пустой ссылки.
К значениям некоторых типов нельзя применять арифметические операции и этого тоже не написано в СП, потому что это очевидно... |
|||
45
Beduin
17.10.11
✎
17:33
|
(43)
Дано: Возвращаемое значение для обоих методов Тип: СправочникСсылка. Интересует почему для возвращаемого значения метода ПустаяСсылка недоступен метод ПолучитьОбъект() |
|||
46
Oleg_Kag
17.10.11
✎
17:34
|
Получает п_у_с_т_о_е з_н_а_ч_е_н_и_е ссылки на справочник данного вида.
Формирует с_с_ы_л_к_у из значения типа УникальныйИдентификатор. Данный уникальный идентификатор может быть в дальнейшем получен из ссылки методом УникальныйИдентификатор. Начинаем вспоминать С++. че-то там про "поинтер" и "войд" |
|||
47
Beduin
17.10.11
✎
17:34
|
(44) Как связь между арифметическими операциями и доступность методов у класса?
|
|||
48
trambalda
17.10.11
✎
17:35
|
(39) Я отношусь. И высказался иносказательно, уж простите за каламбур.
А если совсем просто - вы глупости спрашиваете, отсюда и легкий глумеж. Не надо придираться к СП, его писали усталые люди. Если не нравится - пишите петицию в 1С. Они поймут. |
|||
49
PR
17.10.11
✎
17:36
|
(45) Финиш какой-то.
Ты определись уже наконец, какие два из трех методов тебя интересуют. ПустаяСсылка ПолучитьСсылку ПолучитьОбъект |
|||
50
Beduin
17.10.11
✎
17:36
|
(49)
ПустаяСсылка ПолучитьСсылку |
|||
51
Inform
17.10.11
✎
17:36
|
(47) про арифметические операции вроде по-русски написал, этого тоже не описано в СП - вот в чем связь
|
|||
52
Beduin
17.10.11
✎
17:38
|
(48) Я ни к кому не придираюсь. Хочу разобраться стоит ли доверять синтаксис-помощнику безоговорочно или нет.
Иногда бывают ситуации когда отладить код нельзя. И ты используешь информацию из СП. И тут бац. Ошибка. Узнать про которую можно только выполнив код. |
|||
53
PR
17.10.11
✎
17:39
|
+(36) Пардон, ПустаяСсылка вернет ссылку, а не булево.
|
|||
54
Beduin
17.10.11
✎
17:40
|
(51) Открой СП. Раздел "Арифметические операции"
|
|||
55
PR
17.10.11
✎
17:40
|
(52) Почему по-твоему пустая ссылка должна возвращать объект?
И какой объект? Новый? |
|||
56
Beduin
17.10.11
✎
17:43
|
(55) ПустаяСсылка() возвращает тип СправочникСсылка
Метод ПолучитьОбъект() которого должен вернуть неопределено,а не {(1)}: Ошибка при вызове метода контекста (ПолучитьОбъект) |
|||
57
PR
17.10.11
✎
17:45
|
(56) Метод ПолучитьОбъект() для пустой ссылки возвращает неопределено.
Откуда это? |
|||
58
Beduin
17.10.11
✎
17:46
|
(57)Отсюда
Справочники.Организации.ПолучитьСсылку().ПолучитьОбъект() = Неопределено |
|||
59
YF
17.10.11
✎
17:47
|
(57) Он имеет ввиду, что в ошибку вываливаться не должно. Я тоже с этим согласен - должно что-то вернуть Null, Неопределено и что-нидь еще
|
|||
60
Beduin
17.10.11
✎
17:54
|
(59) Весело. Из 10 участников только один, который может мыслить на уровне типизации и классов.
1С похоже действительно к программированию мало относится. |
|||
61
Мимохожий Однако
17.10.11
✎
18:01
|
(60)Видимо, в этом высказывании смысл ветки. За линейкой идти?
|
|||
62
Beduin
17.10.11
✎
18:02
|
(61) Смысл в том, что все уже по привычке ищут как обойти проблему не вдаваясь в суть.
|
|||
63
Inform
17.10.11
✎
18:08
|
(62) проверка на заполненность для ссылочных типов не просто так придумана, почему бы ей не начать пользоваться?
|
|||
64
PR
17.10.11
✎
18:12
|
(58) Мда-а-а
Справочники.Организации.ПолучитьСсылку() возвращает ссылку и она не пустая, просто еще не записана. Ты издеваешься? |
|||
65
apokrit
17.10.11
✎
18:18
|
(56) Некоторые вот считают что всегда исключение должно кидаться, а не Неопределено молча возвращаться.
|
|||
66
Beduin
17.10.11
✎
18:20
|
(64)
Справочники.Организации.ПолучитьСсылку(Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000")).ПолучитьОбъект() Как думаешь будет доступен метод ПолучитьОбъект()? |
|||
67
Beduin
17.10.11
✎
18:21
|
(65) Угу эти некоторые (64) еще на работу людей принимают как-то. Хотя сами просто содержат в памяти набор методов.
|
|||
68
PR
17.10.11
✎
18:24
|
(66) И что предполагалось сделать строкой
Справочники.Организации.ПолучитьСсылку(Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000")) ? |
|||
69
PR
17.10.11
✎
18:26
|
(67) Ты там привстань с низкого старта-то, а то я смотрю ты уже перья распушил, а тема ветки-то пока все еще в каком-то тумане
|
|||
70
Beduin
17.10.11
✎
18:28
|
(69) При чем здесь старт какой-то. Я спросил вообще базовые вещи.
А вы даже не пытаетесь меня понять? |
|||
71
Reset
17.10.11
✎
18:41
|
(70) Ты ничего путем не спросил еще. Пурги только нагнал.
|
|||
72
Sammo
17.10.11
✎
18:43
|
Попробуй
Справочники.Организации.ПолучитьСсылку(Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000")).Пустая() |
|||
73
Мимохожий Однако
17.10.11
✎
18:45
|
(70)ОК. Сформулируй заново.
|
|||
74
Sammo
17.10.11
✎
18:46
|
А получить объект от пустой ссылки нельзя именно потому, что система уже знает, что ссылка пустая (нулики).
|
|||
75
Reset
17.10.11
✎
18:48
|
А, походу понял.
По замыслу автора и в коде
должно возвращаться неопределено, а не генерироваться ошибка. Только пока не понял, к чему он это замыслил. |
|||
76
Reset
17.10.11
✎
18:50
|
(74) Этот ответ нескольтко раз был уже в теме, но автору он не нравится :)
|
|||
77
Beduin
17.10.11
✎
19:25
|
(75) При генерации этой ошибки выводится описание из которого ясны причины.
Думаешь ({(1)}: Ошибка при вызове метода контекста (ПолучитьОбъект)) из этой ошибки ясно почему у объекта СправочникСсылка недоступен метод? |
|||
78
Undefined
25.10.11
✎
17:36
|
(75) в твоем примере ошибка при приминении метода (.Получить(0)).Но сам метод доступен. Автор протестует против того что сам метод недоступен и затрудняется диагностика ошибки. По идее метод должен быть недоступен если тип другой,но тип то верный СправочникСсылка. По сути автор прав. Таких ситуаций довольно много в 1С, просто мы уже не замечаем этого потому что знаем их.
|
|||
79
Mort
25.10.11
✎
18:08
|
Т.е. весь базар о том, что автору не нравится словосочетание "метод недоступен" в генерируемом исключении, которое собсна с (75) суть одно и тоже.
|
|||
80
hhhh
25.10.11
✎
18:14
|
(77) хорошо, давай мне объясни, почему 0 имеет тип число? Ведь он не должен иметь этот тип. Это не число.
|
|||
81
Beduin
25.10.11
✎
18:21
|
(79) Автору не нравится, что у типа данных со своими свойствами и методами при определенных обстоятельствах один из методов выпадает в исключение.
|
|||
82
Beduin
25.10.11
✎
18:24
|
+(79) И это нигде не описано.
|
|||
83
Aprobator
25.10.11
✎
18:24
|
(0) почему у пустой ссылки нет объекта? Вопрос явно философический.
|
|||
84
Aprobator
25.10.11
✎
18:25
|
типа пальто могло бы быть, но реально его нет, но цвет пуговиц на нем все равно хочу изменить ))))
|
|||
85
Beduin
25.10.11
✎
18:30
|
(84) Допустим ты пишешь код.
И ты знаешь что метод ПолучитьСсылку(), возвращает Тип:Ссылка. Ты лезешь в документацию где видишь, что у типа ссылка при всех ситуациях доступен метод получитьобъект(). А на деле получается, что ни при всех ситуациях. Считаешь это правильным? |
|||
86
Любопытная
25.10.11
✎
18:39
|
(85) Ну пожалуйся в 1С на то, что они косячат в СП.
Хотя нет ничего сложного в том, чтобы проверить пустую ты получил ссылку или не пустую |
|||
87
oleg_km
25.10.11
✎
18:44
|
Так а че там далеко ходить. Есть строковая функция Найти. Внимание вопрос: она регистрозависимая или нет? В СП такой информации тоже нет. Поэтому перечитываем "Пикник на обочине" и запасаемся гайками. Уже давно СП на веру не принимаю. Почти все конструкции 1С приходится проверять на тестовых примерах
|
|||
88
Goggy
25.10.11
✎
19:04
|
Тю, тоже мне проблема...
Тут Ваще функции неработают даже на половину описания из СП а те ненравится эта мелочь. |
|||
89
oleg_km
25.10.11
✎
21:38
|
(88) Это мне? О так это иногда даже прикольно, есть лишний повод что-то перетереть профессиональное с коллегами. Если только вдруг не проявляется в 2 часа ночи у ночной смена, которая вдруг не может отгрузить все завтрашние машины
|
|||
90
Лефмихалыч
25.10.11
✎
21:40
|
(0) какая разница, почему? Живи с этим и всё. Один фих ты ни чего с этим сделать не сможешь... Да и не надо ни чего делать
|
|||
91
Aprobator
26.10.11
✎
09:50
|
(85) можешь привести пример "абсолютной" документации? Кроме того, документация то документацией, но головой то думать надо. Получил ты пустую ссылку заданного типа. Она пустая - там ничего нет. Что там можно редактировать - ничего. Потому и нельзя получить объект для редактирования.
|
|||
92
Aprobator
26.10.11
✎
09:51
|
(91) пустая- в смысле ни на что не указывает.
|
|||
93
Defender aka LINN
26.10.11
✎
09:54
|
(85) Метод доступен, не надо тут. Когда ссылка пустая, вызывает исключение.
|
|||
94
Рэйв
26.10.11
✎
09:56
|
(0)Пустаяссылка() возвращает пустой экземпляр класса со всеми полями. Это не объект.Это заглушка просто. Реально объекта в базе нет.Поэтому .ПолучитьОбъект() смысл не имет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |