Имя: Пароль:
1C
 
В каких случаях СтрНайти() возращает булево?
0 Когнитивный Диссонанс
 
10.02.26
20:09
С какого-то перепугу СтрНайти() начал возвращать булево, хотя в СП такого случая нет и переопределения функции тоже
Поз = СтрНайти("имсавпвап впа 23123", "23");

И получается, что Поз = Истина, голову сломал

Версия 1С:Предприятие 8.3 (8.3.18.1208)
1 ass1c
 
10.02.26
20:30
(0) Все бывает в первый раз...
Люблю проверять есть ли данные в коллекции либо нет при помощи условия:
Если КонтейнерДанных.Количество() Тогда
а не
Если КонтейнерДанных.Количество() > 0 Тогда

Хотя КонтейнерДанных.Количество() = "Какое то число"
Но при этом НЕ КонтейнерДанных.Количество() = Истина

Парадокс...
2 Гипервизор
 
10.02.26
20:34
(0) На 8.3.27 ожидаемо получаю 15.
Какой режим совместимости?
А переопределение как проверяли?
3 Ненавижу 1С
 
гуру
10.02.26
20:39
(0) возможно Поз это у вас реквизит типизированный. Тогда неявное преобразование даст Истина
4 ak71
 
10.02.26
20:40
А что такое поз - не реквизит ли объекта с типом булево?
Если реквизиту с типом булево присваивать число то 0 даёт ложь, не ноль - истина.
Что если присвоить переменной Поз999?
5 Когнитивный Диссонанс
 
10.02.26
20:48
Режим совместимости Версия 8.2.13
обработка вообще голая
Поз инициализируется функцией СтрНайти()
как ни менял имя переменной, все равно выходит булево
6 Когнитивный Диссонанс
 
10.02.26
20:53
Вот
7 Franchiser
 
10.02.26
21:01
(6) поищи в конфигурации где есть стрнайти(), в том числе по глобальным модулям процедуру с таким названием. Это обычные формы?
8 Когнитивный Диссонанс
 
10.02.26
21:04
нашел уже, блин, местные внедрили, получается во всех других модулях все идет наперекосяк, где используется СтрНайти
9 Когнитивный Диссонанс
 
10.02.26
21:09
(2) по F12 в первый раз не нашло, после перезапуска - вылезло
10 Timon1405
 
10.02.26
21:09
(0)может Стрнайти есть в глобальном модуле и вызывается она, а не платформенная? по f12 переходит в функции?
11 Asmody
 
10.02.26
22:10
(8) за такое, конечно, линейкой по рукам бить надо. В первую очередь, разработчикам платформы. Потому что язык такое должен ловить.
12 Когнитивный Диссонанс
 
11.02.26
02:53
(10) Да вызывается она, а платформенная нет, не знаю как вызывать платформенную вместо того гуанокостыля
13 Ёпрст
 
гуру
11.02.26
03:49
(12) пробовать англоязычный синоним.
14 Когнитивный Диссонанс
 
11.02.26
03:56
(13) пробовал, выдает ошибку типа не найден метод
15 Гипервизор
 
11.02.26
07:24
(12) Никак вы не вызовете платформенную, режим совместимости должен быть 8.3.6+, и об этом в СП написано.
Потому и втыкают замену в глобальный модуль.

Исправьте костыль, или нет возможности? Постучите в грудную клетку местным, пусть исправляют. Во всяких УТ 10.3, УПП вполне нормальные замены сделаны всяким СтрНайти(), СтрШаблон() и т.д.

Или используйте старую-добрую Найти(), если вам как в примере только первые 2 параметра нужны. Хотя эта функция "является устаревшей", ну и что? )
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.