Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
08 окт 2024, 08:16

Указание типа переменной после получения результата функции

Автор АнтонТестер, 17 ноя 2018, 19:09

0 Пользователей и 1 гость просматривают эту тему.

АнтонТестер

Всем привет.
Долго копал интернет в поисках ответа на вопрос - как жестко указать тип переменной после использования функций, чтобы были контекстные подсказки. И ответа не нашел. Сегодня пришла в голову идея - и все получилось. Выглядит так себе, но задачу "Как указать тип не меняя значения" - выполняет.


Переменная = ПолучитьКонтрагентаПоМенеджеру(Менеджер); //Функция возвращает СправочникСсылка.Контрагент, но контекстных подсказок нет.
#Если Клиент и не Клиент тогда
Переменная = Справочники.Контрагенты.ПустаяСсылка(); //Эта строка никогда не выполнится - противоречивое условие.
#КонецЕсли
//Победа. Значение переменной не поменялось, а контекстная подсказка - появилась.


Может кому пригодится.

LexaK

хм, так гораздо короче, результат тот-же,
да и по рекомендации 1С, после разработки и отладки, рекомендуется удалять весь отладочный код и не нужные комменты
Если Ложь тогда
Переменная = Справочники.Контрагенты.ПустаяСсылка(); //Эта строка никогда не выполнится - противоречивое условие.
КонецЕсли; 
если помогло нажмите: Спасибо!

AIFrame

Зачем?
Ну оно понятно, что при написании кода можно пихаться всякие
ТЗ = Новый ТаблицаЗначений;
или
Док = Документы.ПоступленияТоваровУслуг.НайтиПоКоду("");
но это уже скорее для написания, а потом этот кусок надо закомментить или удалить, ибо плодить мусорный код - моветон.
Отсутствие жесткой типизации в 1С - это благо, а не неудобство. Страшно представить, насколько монструозным стал бы код, если бы нам приходилось писать конструкции вида:
object? ТЗ = new Table<ТаблицаЗначений>();
var ТЗ_КолонкаНоменклатураТип = new Table.ColumnType<Справочник.Номенклатура>();
var ТЗ_КолонкаНоменклатура = new Table.Column<ТЗ_КолонкаНоменклатураТип>();
ТЗ.Columns.Add(ТЗ_КолонкаНоменклатура);
// А потом получать
var СтрокаТЗ_ЗначениеНоменклатура = ТЗ.Строки[i].ТЗ_КолонкаНоменклатура.Value as ТЗ_КолонкаНоменклатураТип;

Теги: Типизация 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск