Определение типа значения переменной
Простой и очевидный стандарт:
#std442
Определение типа значения переменной необходимо выполнять путем его сравнения с типом, а не каким-либо другим методом.
Правильно:
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда
Неправильно:
Если Ссылка.Метаданные().Имя = "ПоступлениеТоваровУслуг" Тогда
НО, не применяя который, можно получить ряд ошибок:
1️⃣ Имя метаданных у типов значений ссылки и объекта будет совпадать, а обработка данных может быть разной;
2️⃣ У простых типов, например, число или строка, нет метода Метаданные(). А поле может быть составного типа;
3️⃣ Метод "Метаданные()" сильнее нагружает систему, нежели "ТипЗнч()", на это можно наткнуться особенно явно когда он будет вызываться в цикле;
К сожалению, довольно часто в стандартах не прописывается обоснование, которого так не хватает...
Все пункты ошибок взяты из моей практики, пишите в комментариях, если я что-то упустил 💬
P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам #std442
————————-
Позавчера прошёл стрим по этой рубрике на канале Игоря Апресова, ссылки на запись стрима можно найти тут
Вот несколько моментов которые можно вынести со стрима:
- история о том, как я пришел к стандартам
- обсуждение популярных стандартов
- почему нельзя использовать "Перейти", как обычно отличное пояснение от Игоря
- чем отличаются обычные стандарты от стандартов с отметкой "Методическая рекомендация"
#ЕБ_МыслиЗаметки