![]() |
![]() |
![]() |
|
Функция ТипЗнч() в 1С 8.2 | ☑ | ||
---|---|---|---|---|
0
Rlogin
14.01.11
✎
15:39
|
Я чего то не понимаю или на самом деле функция ТипЗнч() начинает работать по другому в 8.2 ? Даже в режиме совместимости.
|
|||
1
СвинТуз
14.01.11
✎
15:42
|
да по другому ...
|
|||
2
Mort
14.01.11
✎
15:42
|
От разработчиков 1С 8.2 физкультпривет любителям приведения типов к строке! Ура, товарищи!
|
|||
3
Rlogin
14.01.11
✎
15:43
|
Хм... а как же с конвертированием типовых ? там ведь достаточно часто она встречается ?
|
|||
4
Dmitriy_76
14.01.11
✎
15:49
|
проясните...что имеется ввиду...смотрю 8.1...8.2... вроде в СП буква в букву
|
|||
5
Mort
14.01.11
✎
15:54
|
Проблема не в самом типе или в функции, а в её неявном преобразовании в строку. Т.е. просто поменялось название типов. Б-кодеры часто используют имя типа чтобы вырезать из него информацию о самом типе (чтобы получить менеджер значения и т.п.). Т.к. название поменялось - код работать перестал. В типовых просто таких перлов никто не писал.
|
|||
6
Rlogin
14.01.11
✎
15:55
|
Вот например:
ТипЗнч(ЭлементСпр) В 8.1 возвращает: "СправочникСсылка.Контрагенты" В 8.2 возвращает: "Контрагенты" |
|||
7
Rlogin
14.01.11
✎
15:57
|
(5) Моя типовая уже слегка была изменена кем-то )))
|
|||
8
Ненавижу 1С
гуру
14.01.11
✎
15:58
|
(6) а надо было юзать:
ЭлементСпр.Метаданные().Имя |
|||
9
Mort
14.01.11
✎
15:59
|
(7) Передай ему горячий привет.
|
|||
10
Rlogin
14.01.11
✎
16:00
|
(8) ну вообще там анализируется тип.
Т.е. если документ - то одно, если справочник - то другое. |
|||
11
Ненавижу 1С
гуру
14.01.11
✎
16:01
|
и еще так:
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ЭлементСпр)) Тогда Сообщить("Это справочник"); КонецЕсли; |
|||
12
Mort
14.01.11
✎
16:04
|
(10)
ЭтоСправочник = Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ссылка)); |
|||
13
nop
14.01.11
✎
16:05
|
То есть тепер везде надо изменить
Если ТипЗнч(х) = Тип("СправочникСсылка.Контрагенты") на Если ТипЗнч(х) = ТипЗнч(Справочники.Контрагенты.ПустаяССылка()) ? |
|||
14
Rlogin
14.01.11
✎
16:06
|
(11) ага, тут уже даже была тема подобная
v8: Беда с "ТипЗнч" при переходе с 8.1 на 8.2 |
|||
15
Mort
14.01.11
✎
16:06
|
(13) Нет. В твоём примере тип не приводится к строке.
|
|||
16
Mort
14.01.11
✎
16:07
|
+(15) Параметр конструктора типа <> строковое представление типа
|
|||
17
nop
14.01.11
✎
16:10
|
(15) Если ТипЗнч(х) = Тип("СправочникСсылка.Контрагенты")
но это же строка, в Тип() указана |
|||
18
Rlogin
14.01.11
✎
16:13
|
В оригинале вот так
Лев(ТипЗнч(Данные.Отбор.Регистратор.Значение),8) = "Документ" |
|||
19
Mort
14.01.11
✎
16:15
|
(17) Это параметр конструктора типа, он тут ни при чем.
|
|||
20
YauheniL
14.01.11
✎
16:22
|
(17) Функция Тип() возвращает тип, а не строку
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |