|
|
|
Беда с "ТипЗнч" при переходе с 8.1 на 8.2 | ☑ | ||
|---|---|---|---|---|
|
0
Виталий
15.06.10
✎
15:31
|
Недавно перешли с 8.1 на 8.2. Начались проблемы с некоторыми отчетами. Порылся в коде и нашел, что в 8.2 функция "ТипЗнч" возвращает значение, отличное от той же функции в 8.1. Например, Тип("ДокументСсылка.ПоступлениеТоваровУслуг") в 8.1 возвращает "Документ ссылка: Поступление товаров и услуг", а в 8.2 "Поступление товаров и услуг". В некоторых стандартных отчетах анализируются первые 16 символов возвращаемого значения. Теперь эти отчеты не работают. Как-то можно в 8.2 получить такое же описание типов, как в 8.1?
|
|||
|
1
Ненавижу 1С
гуру
15.06.10
✎
15:38
|
Тип и ТипЗнч возвращают не строки
|
|||
|
2
Tafa
15.06.10
✎
15:38
|
ТипЗнч() что в 8.1, что в 8.2 возвращает значение типа "Тип", и работать с ним нужно соответственно.
|
|||
|
3
Ленинград
15.06.10
✎
15:41
|
В некоторых стандартных отчетах анализируются первые 16 символов
))))))) |
|||
|
4
hhhh
15.06.10
✎
15:42
|
это какая конфигурация?
|
|||
|
5
Виталий
15.06.10
✎
15:48
|
(1) Я не про типы говорю, а про возвращаемые значения. Они разные!
|
|||
|
6
Виталий
15.06.10
✎
15:48
|
(4) Обновили до 8.2.10.82
|
|||
|
7
Ненавижу 1С
гуру
15.06.10
✎
15:49
|
(5) возвращаемые значения одинаковые, строковые их представления разные
|
|||
|
8
Sadovnikov
15.06.10
✎
15:49
|
(5) Почитай ОЧЕНЬ внимательно, что именно возвращает ТипЗнч.
|
|||
|
9
Виталий
15.06.10
✎
15:50
|
(7) Хорошо, тогда как понять, что тип является ссылкой именно на объект документ?
|
|||
|
10
Виталий
15.06.10
✎
15:51
|
(8) Лучше бы не умничали, а помогли советом
|
|||
|
11
Tafa
15.06.10
✎
15:51
|
(9) ТипЗнч(МояПеременная) = Тип("ДокументОбъект.МойДокумент")
|
|||
|
12
ptiz
15.06.10
✎
15:52
|
(9) Документы.ТипВсеСсылки().Содержит(ПроверяемыйТип)
|
|||
|
13
RomaH
naïve
15.06.10
✎
15:52
|
Метаданные.Документы.СодержитТип() вроде что-то типа такого
|
|||
|
14
Ненавижу 1С
гуру
15.06.10
✎
15:52
|
(9) юзать например метаданные
|
|||
|
15
ARIST_A
15.06.10
✎
15:53
|
Смотрите...
Пример кода: Сообщить(""+Строка(ТипЗнч(Объект.ДокСсылка))); Об = Объект.ДокСсылка.ПолучитьОбъект(); Сообщить(""+Строка(ТипЗнч(Об))); Результат кода на 8.1: Документ ссылка: Коммерческое предложение Документ объект: Коммерческое предложение Результат кода на 8.2: Коммерческое предложение Документ объект: Коммерческое предложение Вот как можно переписать условие. Если ТипЗнч(Документ)=Тип("ДокументОбъект."+Документ.Метаданные().Имя) Тогда Док = Документ.Ссылка; ИначеЕсли ТипЗнч(Документ)=Тип("ДокументСсылка."+Документ.Метаданные().Имя) Тогда Док = Документ; |
|||
|
16
Sadovnikov
15.06.10
✎
15:54
|
(10) А это и был совет. Причем, очень верный совет.
|
|||
|
17
Виталий
15.06.10
✎
16:02
|
(12) То что надо! Спасибо!
|
|||
|
18
Виталий
15.06.10
✎
16:03
|
(16) Совет был в (12)
|
|||
|
19
Sadovnikov
15.06.10
✎
16:03
|
(18) Э нет... В (12) был не совет, а написанный код.
|
|||
|
20
Виталий
15.06.10
✎
16:03
|
(15) Спасибо, но в (12) мне уже помогло
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |