|   |   | 
| 
 | v7: Как проверить, существует ли колонка с заданным именем в таблице значений? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Chai Nic 15.11.23✎ 13:44 | 
        Существует ли красивый способ? ПолучитьПараметрыКолонки(ИмяКолонки) выдает ошибку при отсутствии колонки. То есть, можно конечно её перехватить в Попытке, но существует ли более корректный способ? Перебирать колонки в цикле по номерам тоже не очень красивый вариант.     | |||
| 1
    
        big 15.11.23✎ 13:54 | 
        ЕМНИП при отсутствии колонки метод ВидимостьКолонки() = -1     | |||
| 2
    
        big 15.11.23✎ 14:01 | 
        (1) Да, так оно и есть. Перепроверил.     | |||
| 3
    
        Chai Nic 15.11.23✎ 14:16 | 
        (1) Это не для таблицы на форме, а вообще, в том числе и для простого объекта ТаблицаЗначений?     | |||
| 4
    
        big 15.11.23✎ 14:18 | 
        (3) Проверял на объекте ТаблицаЗначений. НЕ на форме     | |||
| 5
    
        big 15.11.23✎ 14:20 | 
        (4) С таблицей на форме тоже работает     | |||
| 6
    
        Chai Nic 15.11.23✎ 15:56 | 
        Спасибо! Всё работает!     | |||
| 7
    
        uno-group 15.11.23✎ 15:56 | 
        В FormEx есть ПолучитьИменаТаблицы()     | |||
| 8
    
        Злопчинский 15.11.23✎ 16:41 | 
        Не пускайте восьмерочников в клюшки! они от этого умнеют! ;-)     | |||
| 9
    
        Злопчинский 15.11.23✎ 16:43 | 
        (7) это для макета     | |||
| 10
    
        uno-group 15.11.23✎ 16:53 | 
        Тогда можно через
 Стр=ЗначениеВСтроку(Тз); Если Найти(Стр,"{"""+НужнаяКолонка+""",")>1 Тогда | |||
| 11
    
        uno-group 15.11.23✎ 16:56 | 
        (8) Рынок 8 сужается вот они и вынуждены искать где бы подработать чтобы семью прокормить.
 То на всякие Жавы кидаются то за клюшки берутся, это все с голодухи. | |||
| 12
    
        Андрей_Андреич naïve 15.11.23✎ 17:00 | 
        (10) Прикольно на ТЗ с сотней полей и сотней тысяч строк работать будет
 Тогда уж ПолучитьПараметрыКолонки(ИмяКолонки)<=0 | |||
| 13
    
        Андрей_Андреич naïve 15.11.23✎ 17:01 | 
        (12) Блин тупой! в (0) написано что нет     | |||
| 14
    
        uno-group 15.11.23✎ 17:27 | 
        (12) никто не мешает перед проверкой выгрузить в другую тз 1 строку и по ней проверять.     | |||
| 15
    
        dmitn 15.11.23✎ 17:34 | 
        (8) Ты ошибаешься!     | |||
| 16
    
        dmitn 15.11.23✎ 17:35 | 
        (11) Ты не понимаешь! Расширяет.     | |||
| 17
    
        Андрей_Андреич naïve 16.11.23✎ 07:23 | 
        (14) Угу. А если в таблице есть значение, совпадающее с искомым именем? Но это я так - докапываюсь     | |||
| 18
    
        Bigbro 16.11.23✎ 07:33 | 
        (17) удалитьстроки()     | |||
| 19
    
        Андрей_Андреич naïve 16.11.23✎ 08:05 | 
        (18) В результате количество строк почти сравняется с классическим обходом всех колонок методом ПолучитьПараметрыКолонки, а наглядность пострадает. Сделать один раз функцию
 Функция ЕстьТакаяКолонка(ТЗ,ИскомоеИмя) Перем НомерКолонки; Для НомерКолонки = 1 По ТЗ.КоличествоКолонок() Цикл Если ВРег(ТЗ.ПолучитьПараметрыКолонки(НомерКолонки)=ВРег(ИскомоеИмя)) Тогда Возврат Да; КонецЕсли; КонецЦикла; Возврат Нет; КонецФункцмм | |||
| 20
    
        Chai Nic 16.11.23✎ 08:20 | 
        (11) Это не про меня, я семеркой с 1999 года занимаюсь. И решил вот свою давнюю самописку модернизировать слегка набором универсальных механизмов.
 По теме - решение в (1) - лучшее. | |||
| 21
    
        Андрей_Андреич naïve 16.11.23✎ 08:22 | 
        (20) Лучшее. Но некошерное - надо всегда помнить, что эот метод означает в данной ситуации     | |||
| 22
    
        Андрей_Андреич naïve 16.11.23✎ 08:23 | 
        (20) Или хотя бы "обернуть" решение (1) в функцию ЕстьТакаяКолонка()     | |||
| 23
    
        Гена 16.11.23✎ 08:53 | 
        Помню только шестёрку, а с пятёркой кто-нибудь работал?     | |||
| 24
    
        Андрей_Андреич naïve 16.11.23✎ 09:10 | 
        (23) Я со 2 начинал     | |||
| 25
    
        Гена 16.11.23✎ 09:12 | 
        (24) Не было такой... вроде     | |||
| 26
    
        Андрей_Андреич naïve 16.11.23✎ 09:16 | 
        (25) Была для DOS     | |||
| 27
    
        Дмитрий 16.11.23✎ 14:36 | 
        (23) Да.     | |||
| 28
    
        Злопчинский 16.11.23✎ 15:20 | 
        Что вы тут бодягу развели?
 (1) прекрасно работает. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |