Показать подсказку программно 1с

Обновлено: 05.05.2024

Одним из самых "комфортных" для программиста нововведений свежеиспеченной платформы стала реализация возможности контекстной подсказки по параметрам процедуры или функции. Мы все этого очень долго ждали, и хочется от души поблагодарить разработчиков за эту приятную неожиданность ;-)

Давайте скорей разбираться в том, как это работает.

В момент редактирования процедуры или функции в редакторе текстов модулей отображается всплывающая подсказка, как на рисунке:


Итак, контексная подсказка сообщает нам:

1. Мы работаем с Функцией;

2. Сейчас необходимо ввести параметр ТекстВопроса - это обязательный параметр;

3. ТекстВопроса может принимать значения с типом ФорматированнаяСтрока, Строка;

4. Отображает все остальные параметры, которые необходимо передать функции.

- Если параметр обязателен к заполнению, в контекстной подсказке к его наименованию добавляется постфикс (Обязательный), в противном случае подсказка отображает только наименование текущего параметра;

- Очень хочется, но пока возможности отображения типа возвращаемого элемента функции нет;

- Если процедура/функция/конструктор имеет несколько вариантов определения, отображается переключатель:


- В контекстной подсказке отображатся ссылки на описание типа текущего параметра в синтаксис-помощнике;

- Если используется подсказка по конструктору, то отображается почему-то "Функция";

- Если используется подсказка по процедуре, то само слово "Процедура" почему-то не выделяется красным цветом, как "Функция";

- По умолчанию, контекстная подсказка отображается автоматически при наборе "(" и ", ". Есть возможность управлять этой опцией в параметрах конфигуратора:


- Принудительно вызвать контексную подсказку можно нажатием клавиш (Ctrl + Shift + Space) - упоминания об этом во встроенной справке не нашел :(;

- Контекстная подсказка работает для как для встроенных процедур/функций/методов объектов/конструкторов, так и для пользовательских, но при этом, для того, чтобы получить информацию о типах параметров и их описание, требуется соответствие формату комментирования, описанных в документе

1. Если вообще ничего не описывать, то получим следующую картину:


Как видим, не очень-то информативно, но хоть что-то.

2. Если опишем комментарий перед функцией:


То есть, формат оформления должен быть следующим:

// Параметры:

// - % (тип параметра) - % (описание параметра)

// - % (описание параметра)

% - любой набор символов

"жирным" выделены обязательные "литералы"

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Если мне память не изменяет, то вроде VS 2003 умела еще это делать в каком году? в 2003 вроде? не? :) И вроде, насколько я помню, в комментах перед методами ничего не нужно было ставить, а параметры методов сами расчухивались.

Хотя сейчас да, прикольно стало. Особенно сворачивание кусков кода в секции.

Осталось дождаться когда можно будет отладчиком в обратную сторону ходить, и все - можно уходить на пенсию. Жизнь прожили не зря!

(1) (0) Неужели грядёт долгожданный штатный Телепат, от того самого, которого все знают.

Если мне память не изменяет, что-то подобное уже было в Delphi, VisualFoxpro и ещё где-то в начале 2000-х.

Осталось дождаться когда можно будет отладчиком в обратную сторону ходить

Это простите как?

Это было еще в Visual C++ 4.2, 1996 или 97 года.
А так да, дождались!
Хотелось бы еще уточнить, как подсказка ведет себя, если не может вычислить тип выражения? (3) orefkov, Да как обычно. ЗабЪет на все. А браузер рефакторинга (выделение метода) еще для smalltalk в 90-х был. 1С на запад собралось. Глядишь в 9.0 не будет русского языка.

А вот описание параметров, полей классов, методов действительно появилось в какой-то там студии и описывалось специальной разметкой, похожей на XML за символами /// (тройной слэш)

Ждем полноценный IntelliSence от 1С

(4) Да ты что? Возьми современный IDE и посмотри как JavaScript и посмотри, как они типы переменных подсказывают. (13) Да бред сумасшедшего. Понять может лишь другой сумасшедший и психиатр. Не обращай внимания. ;)

(4) спасибо за разъяснения.

Сейчас вы можете трейсить по ходу выполнения алгоритма. Однако, часто бывают случаи, когда вам очень бы хотелось посмотреть картинку, прокрученную назад.

Напр., из последнего: сидите вы где-то в типовой конфе с внедренной БСП. И где-то там в потрохах, внезапно вам потребовалось разобраться с вопросом - а почему вот эта штука вот тут работает так? Вы начинаете "слаломить" по какому-то ключевому слову. Нашли все вхождения - затем начинаете открывать их, читать, фтыкать. Затем начинаете промечать точками останова все эти места. И наконец, когда все это вы проделали, далее, вы начинаете трейсить. Естественно, что даже где-то там в потрохах вы остановитесь, но возникает вопрос - а как вы туда попали? Сейчас это можно посмотреть по стеку вызову. Однако, следует понять, что стек вызова - только помогалка. Он вам скажет - я залетел сюда из вот этой процедуры/функции. Вы заходите туда, ставите опять точку останову, опять читаете-фтыкаете, и так - каждый раз. Рекурсивно, без выхода из цикла, пока, наконец, у вас в голове не построится четка цепочка алгоритма для трейсинга. В VS на эту тему давно придумали отладку назад - т.е. вы первый раз попали на точку останова, и уже дальше в обратную сторону по шагам, начинаете проматывать алгоритм. Уходит тысяча лишних и не нужных движений, которые я описал выше. Но на все это можно забить, если вы серьезно, что-то не трейсили типовое :))

Аватар пользователя mykib.org

Для полей ввода (за исключением поля типа «Дата» и «Булево») можно написать подсказку прямо в этом поле (когда оно не заполнено):

Для полей ввода (за исключением поля типа «Дата» и «Булево») можно написать подсказку прямо в этом поле (когда оно не заполнено)

Подсказка отображается прямо в поле ввода «сереньким» цветом, при вводе значения – пропадет.

Используйте свойств элемента «ПодсказкаВвода»:

Используйте свойств элемента «ПодсказкаВвода»

На мой взгляд, появилась очень интересная возможность отображения подсказки в виде кнопки

Очень интересная возможность отображения подсказки в виде кнопки

Такой вариант более привлекателен (в части привлечения внимания) – пользователь точно знает, что для получения подсказки надо нажать на кнопку:

Пользователь 1С точно знает, что для получения подсказки надо нажать на кнопку

Для этого заполним свойство «Подсказка» и в свойство «ОтображениеПодсказки» выберем из списка значение «Кнопка»:

В свойство «ОтображениеПодсказки» выберем из списка значение «Кнопка»

Там же можно указать отображать сверху, слева, снизу, справа

Можно указать отображать сверху, слева, снизу, справа

Вот так выглядит «Отображать сверху»:

Вот так выглядит «Отображать сверху»

Еще появилась, так называемая, расширенная подсказка – текст подсказки можно раскрашивать, вставлять гиперссылки и рисунки и т.п.

Расширенная подсказка – текст подсказки можно раскрашивать, вставлять гиперссылки и рисунки и т.п

В конфигураторе в контекстном меню элемента формы выберем пункт «Показать расширенную подсказку»

В конфигураторе 1С в контекстном меню элемента формы выберем пункт «Показать расширенную подсказку»

«Поле» развернется и появится расширенная подсказка:

В конфигураторе 1С появилась расширенная подсказка

В расширенной подсказке можно использовать гиперссылку, раскрашивать:

В расширенной подсказке можно использовать гиперссылку, раскрашивать

Но самое интересное то, что расширенная подсказка – это форматированная строка

Редактор расширенной подсказки

Внимание! Для того, чтобы расширенная подсказка отображалась (и отображалась правильно), необходимо указать в свойстве элемента «ОтображениеПодсказки» значение «Кнопка» (см.выше).

Irina_ --> Irina_



Просмотр профиля Здравствуйте все. Может подскажете?
Есть форма, на которую выводится ТЗ, заполняется полностью программно, т.е. колонки и строки изменяются динамически.
Возможно ли реализовать ситуацию - чтоб при наведении курсора на ячейку всплывала подсказка?
В какой стороне хоть искать ответ?))
Спасибо ) DartRomanius --> DartRomanius



Просмотр профиля Здравствуйте все. Может подскажете?
Есть форма, на которую выводится ТЗ, заполняется полностью программно, т.е. колонки и строки изменяются динамически.
Возможно ли реализовать ситуацию - чтоб при наведении курсора на ячейку всплывала подсказка?
В какой стороне хоть искать ответ?))
Спасибо )

Хотя-бы платформу в студию. А то телепатией заниматься неохота.

Irina_ --> Irina_



Просмотр профиля Извините )
8.1 переконвертированная в 8.2. Управление торговлей ) MATEVI --> MATEVI



Просмотр профиля DartRomanius --> DartRomanius



Просмотр профиля Извините )
8.1 переконвертированная в 8.2. Управление торговлей )

Ага, то есть не управляемые формы?

Irina_ --> Irina_



Просмотр профиля

нет, не управляемые.

К примеру ситуация такая - есть список пользователей - это колонки..
Есть справочник документов (например нарядов) - это строки .
При открытии формы строится табличка - выбираются все пользователи и по строкам за определенный период выбираются документы.
В ячейках галочки. Когда пользователь напротив себя и документа ставит галочку - мол ознакомился и согласен - в регистр сведений записывается дата, когда галка поставлена, пользователь и документ.
Опять же при открытии формы уже имеющиеся галки выбирая данные из регистра устанавливаются на форме.
Можно ли сделать так чтоб при наведении курсора на галку в всплывающей подсказке высвечивалась дата когда галка была установлена.
Ну вот как-то так

MATEVI --> MATEVI



Просмотр профиля

Читайте также: