Как принудительно типизировать переменную в редакторе кода?

Автор Злоп, 18 сентября 2026, 12:25

« назад - далее »

Злоп

Например, когда из контекста телепат не понимает конкретный вид документа (справочника)
то раньше вроде делал так:

Переменная = КакаяТоФункция(); //:Документ.Реализация

И далее при наборе кода при обращении через точку - Переменная. - телепат давал содержательную подсказку по атрибутам конкретного вида документа, сейчас же так не получается...

Что делаю не так?
Как надо "помочь" телепату, чтобы понимал тип/вид переменной...?

Спасибо.

trdm

попробуй
Переменная = получитьпустоезначение("Документ.Реализация");

cr

//Переменная = СоздатьОбъект("Документ.Реализация");

Злоп

Попробую.
но было как-то иначе, попроще, типа как описал...

Грузчик

Вот в таком виде у меня работает:
    Переменная = КакаяТоФункция(); //Переменная//:Документ.РеализацияТМЦ
    Переменная.
Без блока "//Переменная//" молчит телепат.

Злоп

так, у меня вот так подхватило
//Чтото = СоздатьОбъект("Справочник.Номенклатура");

ADirks

Этим занимается скрипт 'Intellisence.vbs'. Возможно, у тебя каким-то образом оказалась более старая версия, без этой фишки.
Попробуй приложенный скрипт, может заработает. Только текущую версию куда-нибудь сохрани, а то может и не заработать :)

ADirks

на всякий случай, ещё набор скриптов, от которых может зависеть интеллисенс

Грузчик

Цитата: ADirks от 05 октября 2026, 07:26Intellisence.vbs
Начал сравнивать с тем, что у меня крутится, и узнал новое и интересное:
Функция Вася() // : ТипОбъекта
//...
КонецФункции
Так тоже типизация работает. Спасибо, Алексей.

А вообще странно: в вашем файле версия указана 1.73, в моём 1.75, но как будто у меня более старый вариант. Видимо, разные "ветки" разработки.

ADirks

Цитата: Грузчик от 05 октября 2026, 09:17А вообще странно: в вашем файле версия указана 1.73, в моём 1.75, но как будто у меня более старый вариант. Видимо, разные "ветки" разработки.
Да, в какой-то момент немного разъехались. Синхронизироваться было лень, а потом всё так и осталось.
В моей версии нет отладки, и местами какие-то косяки поправлены.

Грузчик

Бекапнулся и попробовал ваш набор. Как будто нет мучительного ожидания подсказки методов для объектов неопознанного типа, например:
База = СоздатьОбъект("SQLiteBase");
Запрос = База.НовыйЗапрос();
Запрос. // <- вот здесь у меня пауза секунд на 5, а в некоторых более других случаях можно и на перекур уходить.
Если за давностию лет не забылось ещё, ткните меня в то место, где эта бяка исправляется. Или это не "один регексп поправить", а комплексная проблема с комплексным же решением, раскиданным по многим файлам? Просто полностью переходить на вашу сборку скриптов не хочется, всё под себя настраивалось годами.

ADirks

Цитата: Грузчик от 05 октября 2026, 16:32Бекапнулся и попробовал ваш набор. Как будто нет мучительного ожидания подсказки методов для объектов неопознанного типа, например:
База = СоздатьОбъект("SQLiteBase");
Запрос = База.НовыйЗапрос();
Запрос. // <- вот здесь у меня пауза секунд на 5, а в некоторых более других случаях можно и на перекур уходить.
Если за давностию лет не забылось ещё, ткните меня в то место, где эта бяка исправляется. Или это не "один регексп поправить", а комплексная проблема с комплексным же решением, раскиданным по многим файлам? Просто полностью переходить на вашу сборку скриптов не хочется, всё под себя настраивалось годами.
Честно говоря, даже не помню. Скорее всего, это действительно перенос части функционала из vbs в какие-то из .wsc, а там он на JS написан. Т.е. сами скрипты возможно и не надо трогать, заменить лишь wsc-библиотеки (скорее всего SyntaxAnalysis.wsc), и intellisence.vbs.