|
v7: Проверить существование объекта | ☑ | ||
---|---|---|---|---|
0
yegorka
16.11.11
✎
22:11
|
Добрый вечер!
Как проверить существование объекта созданного функцией СоздатьОбъект??? Т.е. если он существует его не создавать, а создавать только если он ранее не был создан. ПустоеЗначение () всегда возвращает 1, Пробовать обращаться к полям объекта в Попытка Исключение КонецПопытки криво. Как проверить?? |
|||
1
ДенисЧ
16.11.11
✎
22:12
|
ничонепонял
|
|||
2
andrewks
16.11.11
✎
22:13
|
спинной мозг шепчет: Выбран()
|
|||
3
KRV
16.11.11
✎
22:14
|
а давай его создадим с самого начала и не надо будет нинуя проверять.. э? :))
|
|||
4
G-Re
16.11.11
✎
22:15
|
(0) ТипЗначения(Объект) не?
|
|||
5
Ёпрст
16.11.11
✎
22:16
|
я вот тоже вчера дунул и остановил крутейший автобус!
|
|||
6
yegorka
16.11.11
✎
22:21
|
(1) Пример: ТЗ = СоздатьОбъект ("ТаблицаЗначений");
Перед созданием проверить, существует ли ТЗ??? Если существует, то не создавать, не существует создать. |
|||
7
ДенисЧ
16.11.11
✎
22:21
|
(6) Бармен!! Мне того же, только три порции!
|
|||
8
andrewks
16.11.11
✎
22:22
|
(7) боюсь тебя огорчить, но мне кажется, что у этого бармена то самое виски
|
|||
9
Aleksey
16.11.11
✎
22:22
|
(6) Если ТипЗначенияСтр(ТЗ) не?
|
|||
10
Aleksey
16.11.11
✎
22:23
|
а ну еще в попытку обернуть надо, потому что переменная ТЗ может быть не определена
|
|||
11
ДенисЧ
16.11.11
✎
22:24
|
(8) Я виски не пью, так что мне поф :-)
|
|||
12
andrewks
16.11.11
✎
22:24
|
если автор хочет сэкономить драгоценные миллисекунды, то делается это совсем не так, а если дело не в этом, тогда непонятно, что автор хочет
|
|||
13
yegorka
16.11.11
✎
22:24
|
(9) Наверно пойдет. Спасибо.
|
|||
14
yegorka
16.11.11
✎
22:26
|
(12) надо ;-)
|
|||
15
babayzver
16.11.11
✎
22:29
|
Ежели ЕстьЧо(ТЗ)=1 ВотТолькоТогда
Бла-бла-бла... КонецЕслиЧо; |
|||
16
yegorka
16.11.11
✎
22:34
|
(15) этому точно не наливать..........
|
|||
17
Lexxxxx
16.11.11
✎
22:37
|
(0)Однако гиморно это. Сначала переменную нужно проверить на ПустоеЗначение(МояПеременная). И если оно рано 0 тогда следует проверить тип значения, содержащегося в переменной, а потом может быть и вид. Не проще ли СоздатьОбъект()?!
|
|||
18
babayzver
16.11.11
✎
22:37
|
(0) создай переменную ТЗ, а затем просто проверяй тип этой самой переменной
|
|||
19
aka AMIGO
16.11.11
✎
22:38
|
Перем ТЗ;
Процедура Сформировать() Если ТипЗначенияСтр(ТЗ)<>"ТаблицаЗначений" Тогда ТЗ = создать объект... |
|||
20
aka AMIGO
16.11.11
✎
22:41
|
Возможно, ошибочный вариант..
Если ПустоеЗначение(ТипЗначенияСтр(ТЗ))=1 Тогда ТЗ = создать объект... |
|||
21
andrewks
16.11.11
✎
22:44
|
Попытка
ТЗ.УдалитьСтроки(); Исключение ТЗ=СоздатьОбъект ("ТаблицаЗначений"); ТЗ.НоваяКолонка("Кол1"); ТЗ.НоваяКолонка("Кол2"); КонецПопытки; |
|||
22
aka AMIGO
16.11.11
✎
22:57
|
(21) думаешь, не ругнется?
|
|||
23
Torquader
17.11.11
✎
00:24
|
Так, полный бред.
Если я, например, создам одну таблицу значений, а мне нужна другая, то есть с другими колонками, мне что, прежде чем создавать, нужно проверить, что у неё все колонки правильные ? Если переменная создаётся внутри цикла и хочется создавать её только один раз (бывает такое), а перед циклом создавать лень (может, в цикле она и не будет создана), то всё просто: присваиваем переменной ноль, и перед созданием проверяем, а не ноль ли у нас в переменной - если не ноль, то мы уже что-то создали. Удачи. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |