|   |   | 
| 
 | Преобразование значения к типу Булево не может быть выполнено | ☑ | ||
|---|---|---|---|---|
| 0
    
        Ilnazio 02.08.20✎ 14:56 | 
        Добрый день. В структуре получаю кривую должность сотрудника, задача в коде при получении должности "бугагалтер" или "буггалтер" получить на выходе "бухгалтер"(а).  Код:
 Должность = ТекЭлемент.Должность.Наименование; Если Должность = "бугагалтер" или "буггалтер" Тогда Должность = "Невролог"; ИначеЕсли Должность = "прогер" тогда Должность = "Программист"; В отладке останавливаюсь - переменная должность принимает значение "бугагалтер" с типом строка. В чем может быть проблема? | |||
| 1
    
        Ilnazio 02.08.20✎ 14:57 | 
        (0) Сорян, там получаю "Невролог"(а). Не суть, задача та же)     | |||
| 2
    
        Ilnazio 02.08.20✎ 14:59 | 
        (0) Когда в условие попадаю значение должности пропадает почему-то     | |||
| 3
    
        Ilnazio 02.08.20✎ 15:02 | 
        Не пропадает, не туда посмотрел.     | |||
| 4
    
        Галахад гуру 02.08.20✎ 15:08 | 
        Как думаешь, что должна делать одинэска с таким условием?
 Если "буггалтер" Тогда | |||
| 5
    
        acht 02.08.20✎ 15:16 | 
        (4) Это же очевидно.
 Тогда Должность = "Погромисд"; | |||
| 6
    
        Ilnazio 02.08.20✎ 15:16 | 
        (4) Так я же сравниваю значение должности, почему в булево то уходит     | |||
| 7
    
        Ilnazio 02.08.20✎ 15:17 | 
        (5) Вроде также написал ж
 Должность = "Невролог"; | |||
| 8
    
        acht 02.08.20✎ 15:17 | 
        (6) Значение должности - ссылка. Наименование - строка     | |||
| 9
    
        acht 02.08.20✎ 15:18 | 
        (7) Тут тогда нужно Должность = "Психолог";     | |||
| 10
    
        Aleksey 02.08.20✎ 15:18 | 
        (7) Кто тебя учил так условия писать?
 Если (Должность = "бугагалтер") или (Должность = "буггалтер") Тогда | |||
| 11
    
        Ilnazio 02.08.20✎ 15:20 | 
        (8) У должности если остановится в отладке тип - строка     | |||
| 12
    
        Ilnazio 02.08.20✎ 15:20 | 
        (10) Алексей, никто не учил, вот учусь, думал что так можно. Почему нельзя?     | |||
| 13
    
        Aleksey 02.08.20✎ 15:21 | 
        (12) потому что "буггалтер" - тип строка, а не булево     | |||
| 14
    
        Aleksey 02.08.20✎ 15:22 | 
        булево алгебру проходили? там только истина и ложь, ну никак не строка     | |||
| 15
    
        MishaD 02.08.20✎ 15:22 | 
        Если Должность = "бугагалтер" или "буггалтер" Тогда
 После или должно другое условие идти. "буггалтер" это не условие. | |||
| 16
    
        Ilnazio 02.08.20✎ 15:23 | 
        (15) Догнал походу     | |||
| 17
    
        acht 02.08.20✎ 15:24 | 
        (12) Это тебе не деревенская улица, где можно все, что не запрещено. Тут, извини, можно только то, что можно. Поэтому ответ на "почему нельзя" - потому.     | |||
| 18
    
        Ilnazio 02.08.20✎ 15:28 | 
        (15) Спасибо, исправил, заработало.
 (17) =) | |||
| 19
    
        Ilnazio 02.08.20✎ 15:28 | 
        (14) Спасибо     | |||
| 20
    
        quest 02.08.20✎ 19:27 | 
        А жаль что в 1С нельзя сделать так
 Если Наименование в ("строка1", "строка2") тогда | |||
| 21
    
        Aleksey 02.08.20✎ 19:48 | 
        (20) Можно     | |||
| 22
    
        Aleksey 02.08.20✎ 19:49 | 
        Если Найти(строка1+строка2,"Наименование") > 0 тогда     | |||
| 23
    
        acht 02.08.20✎ 19:55 | 
        (22) Тогда уж Найти(строка1 + "," + строка2 + ",", "Наименование" + ",") 
 Да и то с ограничениями. | |||
| 24
    
        Aleksey 02.08.20✎ 20:00 | 
        (23) с каким? При условии что у него поиск по уникальным значениям. Или ты бошься что при поиски, "сто" он найдет севастополь? Тогда да можно заэкранировать слова спецсимволами     | |||
| 25
    
        Aleksey 02.08.20✎ 20:03 | 
        Можно еще через список значений
 Типа СписокЗамен.Добавить("Невролог","бугагалтер"); СписокЗамен.Добавить("Невролог","буггалтер"); СписокЗамен.Добавить("Программист","прогер"); И тогда Должность = СписокЗамен.Получить("бугагалтер"); | |||
| 26
    
        2S 02.08.20✎ 20:12 | 
        (0) надо было к пятнице выложить     | |||
| 27
    
        acht 02.08.20✎ 20:29 | 
        (25) Если экранировать в полный рост, то проверять
 НСтр("бугагалтер='Невролог';буггалтер='Невролог';прогер='Программист'", "бугагалтер") <> "" | |||
| 28
    
        Aleksey 02.08.20✎ 20:31 | 
        ну может это 7-ка...     | |||
| 29
    
        acht 02.08.20✎ 20:34 | 
        (28) В семерке типа булево не было. Так-то =)     | |||
| 30
    
        Aleksey 02.08.20✎ 20:50 | 
        (29) ? А кто говорит про булево? А булевая алгебра была в 7-ке     | |||
| 31
    
        acht 02.08.20✎ 20:56 | 
        (30) В названии темы - текст ошибки. Так-то =)     | |||
| 32
    
        Злопчинский 02.08.20✎ 22:06 | 
        Если (Лев(Должность,2)+Прав(Должность,1))="бур" Тогда
 Должность = "Невролог"; КонецЕсли; . сжует всякие кривые написания булгахтеров... правда, под невролога может попасть "бульдозерист-дизайнер" | |||
| 33
    
        hhhh 02.08.20✎ 23:18 | 
        (32) она ведь и "бухгалтер" сжует. Поэтому не то.     | |||
| 34
    
        novichok79 03.08.20✎ 00:09 | 
        ахахахахаха, бугагалтер. вроде х***ня, а смешно.     | |||
| 35
    
        Злопчинский 03.08.20✎ 00:55 | 
        (33) это уже частности. может у них все булгахтеры - неврологи
 а если "бухгалтера" и "бугагалтера" переведет в "бухгалтера" - то и ок. | |||
| 36
    
        hhhh 03.08.20✎ 05:50 | 
        (35) если пользоваться методом дедукции, у них есть бухгалтер. А эти 2 строчки свободные. хотят туда записать невролога     | |||
| 37
    
        craxx 03.08.20✎ 06:02 | 
        (12) "потому что нельзя быть на свете красивым таким" (с)     | |||
| 38
    
        Aleksey 03.08.20✎ 10:58 | 
        (31) и не поспоришь     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |