|   |   | 
| 
 | 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 | 
        Так, полный бред.
  Если я, например, создам одну таблицу значений, а мне нужна другая, то есть с другими колонками, мне что, прежде чем создавать, нужно проверить, что у неё все колонки правильные ? Если переменная создаётся внутри цикла и хочется создавать её только один раз (бывает такое), а перед циклом создавать лень (может, в цикле она и не будет создана), то всё просто: присваиваем переменной ноль, и перед созданием проверяем, а не ноль ли у нас в переменной - если не ноль, то мы уже что-то создали. Удачи. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |