1с изменить надпись на кнопке

Обновлено: 04.07.2024

Редактор текста и модуля — это один из инструментов разработки. Он используется для редактирования текстовых документов и для редактирования программных модулей конфигурации.

Редактор текстов и модулей предоставляет пользователю все основные функции, необходимые при редактировании как простых текстов, так и текстов программных модулей. Конфигуратор 1С:Предприятия 8 использует этот редактор в двух режимах:
  • для редактирования текстовых документов;
  • для редактирования текстов модулей (как составную часть редактора формы).

Редактирование текстовых документов

В режиме редактирования текстовых документов редактор поддерживает все стандартные функции редактирования текста:
  • создание нового документа или открытие одного из существующих документов;
  • ввод и редактирование текста;
  • сохранение отредактированного текста;
  • печать текста.

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

Редактор текста и модуля

В дальнейшем быстрый переход по закладкам возможен по сочетанию клавиш или команде меню:

Редактор текста и модуля

Редактирование текстов модулей

Редактирование текстов модулей может выполняться в процессе создания формы объекта прикладного решения, непосредственно при разработке модулей объектов или всего приложения, и при редактировании внешнего текстового файла, содержащего текст модуля.

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

Выделение цветом синтаксических конструкций

Для удобства редактирования текстов модулей редактор выделяет цветом элементы встроенного языка: ключевые слова, языковые константы, операторы, комментарии и пр.:

Редактор текста и модуля

Разработчик может использовать цвета выделения, установленные по умолчанию, или настроить их самостоятельно. В общем случае система сама отслеживает необходимость включения режима выделения цветом. Однако в ситуации, когда система «не знает» о том, что редактируется текст модуля (например, если редактируется внешний текстовый файл, содержащий текст модуля), разработчик может включить режим выделения цветом вручную, используя меню конфигуратора:

Редактор текста и модуля

Группировка

При просмотре модулей редактор позволяет объединять некоторые синтаксические конструкции языка в группы, сворачивать и разворачивать их. Использование группировки синтаксических конструкций позволяет лучше воспринимать различные части текста, а также переносить и копировать группы целиком:

Редактор текста и модуля

Свернутый текст замещается специальным маркером, который позволяет просмотреть содержимое свернутой группы в виде подсказки:

Редактор текста и модуля

Разработчику предоставляется возможность настраивать режим группировки, указывая, какие синтаксические конструкции могут группироваться, и каким должно быть исходное состояние группировки (свернутая или развернутая) при открытии документа. Таким образом, он может настроить, например, использование группировок «по максимуму»:

Редактор текста и модуля

Области

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

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

Редактор текста и модуля

Области могут быть вложены друг в друга или в другие группируемые конструкции языка.

Операции с блоками

Редактор позволяет выполнять ряд операций над выделенными блоками текста модуля: автоматическое форматирование, изменение отступа, добавление/удаление комментариев и переносов строк.

Редактор текста и модуля

Форматирование модуля

Хорошим стилем написания модулей считается использование синтаксического отступа для выделения управляющих конструкций встроенного языка. Редактор позволяет автоматически форматировать текст при его вводе, и кроме этого, выполнять автоматическое форматирование уже введенного текста.

Редактор текста и модуля

Результат автоматического форматирования:

Редактор текста и модуля

Увеличение/уменьшение отступа

Наряду с автоматическим форматированием всего выделенного текста, редактор поддерживает также операции сдвига выделенного блока вправо или влево на шаг табуляции.

Это облегчает ручное форматирование больших фрагментов кода.

Добавление/удаление комментариев

Также редактор содержит очень удобную для разработчика функцию автоматической (одним нажатием мыши) установки и снятия комментариев на выделенный текст. Такая возможность часто используется при отладке модулей:

Редактор текста и модуля

Добавление/удаление переноса строки

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

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

Редактор текста и модуля

Переход по процедурам и функциям

В ситуации, когда модуль содержит большое количество процедур и функций, удобно использовать режим поиска процедур, который поддерживается редактором. Процедуры и функции отображаются в отдельном окне в порядке их расположения в модуле, однако разработчик может отсортировать их по алфавиту. Пиктограммы слева от названия обозначают имеющиеся процедуры и функции, а имена в угловых скобках соответствуют предопределенным процедурам, которые в настоящий момент отсутствуют, но могут быть размещены в данном модуле.

Редактор текста и модуля

Редактор текста и модуля

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

Переход к определению процедур и функций

Редактор позволяет автоматически переходить к определению процедуры или функции, использованной в тексте модуля. Для этого достаточно установить курсор на имени нужной функции в теле модуля и выполнить команду контекстного меню или нажать «горячую» клавишу. В окне редактора будет открыт текст искомой процедуры или функции:

Редактор текста и модуля

Контекстная подсказка

Редактор предоставляет средство контекстного ввода выражений с использованием системных объектов, их свойств, методов и пр. В процессе ввода текста или при нажатии комбинации клавиш редактор выводит контекстный список, позволяющий выбрать нужное свойство, метод, функцию и т. д., что позволяет быстро и правильно набирать тексты модулей:

Редактор текста и модуля

Контекстная подсказка также работает и для параметров некоторых методов, если эти параметры задаются строковыми литералами.

Редактор текста и модуля

Копирование имен объектов и реквизитов

При написании текста модуля разработчик может просто перетаскивать мышью имена объектов или их реквизитов из дерева метаданных в нужное место модуля:

Редактор текста и модуля

Проверка модуля

Редактируемый модуль может быть проверен на правильность использования синтаксических конструкций встроенного языка, корректность обращений к методам и свойствам объектов «через точку», а также на корректность некоторых параметров, имеющих тип «Строка»:

Редактор текста и модуля

Кроме этого конфигуратор поддерживает выполнение полной проверки всех модулей, содержащихся в прикладном решении.

В процессе работы с модулем разработчик имеет возможность получать контекстную подсказку по встроенному языку, используя синтакс-помощник. Для этого достаточно установить курсор на интересующий элемент языка и нажатием комбинации клавиш (или по контекстному меню) перейти к описанию этого элемента языка в синтакс-помощнике.

Ограничение доступа к модулю

Для большинства модулей прикладного решения можно установить пароль доступа, защищающий авторские права разработчика конфигурации. При попытке открыть защищенный модуль выводится диалог ввода пароля:

Редактор текста и модуля

Использование шаблонов

При редактировании текстовых документов и модулей конфигуратор предоставляет разработчику возможность использовать механизм шаблонов для автоматической подстановки часто используемых фрагментов текста.

,
и думаю идея переобзывать кнопки в зависимости от ситуации уже посещала ваши светлые головы. Поделитесь, плиз, если это можно сделать! Или, если ТОЧНО нельзя.
Спасибо.

(2) ivanov_alex, этот как пример, ну вдруг не совсем понятно о какой функции идет речь.))
Не устраивают стандартные 1С-кие ответы!

Вопрос(<?>,)
Синтаксис:
Вопрос(<Текст_вопроса>,<Режим>,<Таймаут>)
Назначение:
Вывести окно вопроса и получить ответ.
Возвращает ответную реакцию в виде числа или строки, в соответствии с заданием параметра <Режим>:
-1 или 'Таймаут' ('Timeout'), если закончилось время ожидания ответа;
1 или 'ОК' ('ОК'), если если нажата кнопка OK;
2 или 'Отмена' ('Cancel'), если нажата кнопка Отмена;
3 или 'Стоп' ('Abort'), если нажата кнопка Стоп;
4 или 'Повтор' ('Retry'), если нажата кнопка Повтор;
5 или 'Пропустить' ('Ignore'), если нажата кнопка Пропустить;
6 или 'Да' ('Yes'), если нажата кнопка Да;
7 или 'Нет' ('No'), если нажата кнопка Нет.
Параметры:
<Текст_вопроса> - cтрока текста вопроса;
<Режим> - определяет набор кнопок диалога в виде числа или строки (в скобках английское написание):
0 или 'ОК' ('ОК') - кнопка OK;
1 или 'ОК+Отмена' ('OK+Cancel') - кнопки OK и Отмена;
2 или 'Стоп+Повтор+Пропустить' ('Abort+Retry+Ignore') - кнопки Стоп, Повтор, Пропустить;
3 или 'Да+Нет+Отмена' ('Yes+No+Cancel') - кнопки Да, Нет, Отмена;
4 или 'Да+Нет' ('Yes+No') - кнопки Да, Нет;
5 или 'Повтор+Отмена' ('Retry+Cancel') - кнопки Повтор, Отмена;
(любое другое значение или отсутствие параметра равносильно 0);
<Таймаут> - число секунд времени ожидания ответа (если опущен или 0, то без ограничения).
Подробнее см. в документации, глава 'Системные процедуры и функции'

(4) dvk09, ?! СПС, конешно, но это можно было и в синтакс-помощнике прочитать. Вопрос в другом был: можно ли вместо, нпр., Да+Нет чтобы в диалоге было Хочу+Нехочу.

(5) Gal_B, ну я о том-же, только вопрос в первом посте звучал про Ок+Отмена.

Ну вот удачный пример http://sdrv.ms/IBKfu2 Как кнопку "Запросить согласование" сопоставить с стандартным ответом "Да", а "Отозвать запрос на согласование с ответом "Нет" ??

Тип: РежимДиалогаВопрос; СписокЗначений.
Задает состав и текст кнопок диалога, а также, связанные с кнопками значения.
При использовании типа СписокЗначений:
Значение – содержит значение, связанное с кнопкой. Это значение является возвращаемым значением при выборе кнопки. В качестве значения может использоваться значение перечисления КодВозвратаДиалога, а также другие значения;
Представление – задает текст кнопки. Если представление не задано и в качестве значения используется значение перечисления КодВозвратаДиалога, то используется стандартное представление;
Картинка – не используется (должна быть пустой);
Пометка – не используется (должна быть пустой).
При использовании типа СписокЗначений список не должен быть пустым.

Мы улучшили дизайн кнопок формы, и добавили новые изобразительные возможности кнопкам командных панелей. Кнопки стали более выпуклыми, и у них появилась небольшая тень.


Кнопка гиперссылка

Появился новый вид кнопки – Гиперссылка командной панели.


Положение картинки справа

Стало возможным задавать расположение картинки справа или слева от заголовка. Для этого у кнопки мы сделали новое свойство ПоложениеКартинки.


Компактная группа кнопок

Группу кнопок теперь можно отображать компактно, без зазоров между ними. Для этого группе кнопок мы добавили новое свойство Отображение.


Овальная кнопка

Появилась возможность создавать овальные кнопки. Форма кнопки управляется новым свойством расширения группы подменю - Фигура.


Отображение кнопки при активности

Теперь вы можете создавать кнопки, реагирующие на перемещение курсора. В обычном состоянии они отображаются как надписи, а при наведении курсора превращаются в кнопку. Для этого кнопке и расширению группы подменю мы добавили свойство ОтображениеФигуры.


Цвет рамки, фона, заголовка и шрифт заголовка

При желании вы можете теперь раскрашивать рамку, фон и заголовок кнопки, и даже менять шрифт заголовка. Для этого предназначены новые свойства кнопки ЦветРамки, ЦветФона, ЦветТекстЗаголока и ШрифтЗаголовка.


Изменение стандартного отображения команд

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


Команды ПереместитьВверх и ПереместитьВниз тоже отображаются в командной панели, а не в группе Ещё. Кроме этого при отображении этих команд, а также команд форматированного документа, используются компактные группы.


Мы надеемся, что эти возможности позволят сделать ваши решения более привлекательными и приятными в использовании.

Использование надписей в формах

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

Количество надписей обычно совпадает с количеством полей ввода. Таким образом, почти половина элементов управления формы являются надписями, вот почему важно уделять им большое внимание при редактировании форм. Понятные и аккуратные надписи упрощают восприятие информации, а плохие, наоборот, делают формы неудобными для просмотра и ввода.

Чаще всего надпись является статическим объектом, т.е. никогда не меняет своего текста (это не относится к надписи в режиме "бегущей строки", т.к. она по сути является динамическим объектом).

Выравнивание влево

Основные варианты размещения надписей для полей ввода - выровненные влево и выровненные вправо.

Выравнивание вправо прижимает надпись к полю ввода, что удобнее при восприятии этой пары полей отдельно. Но "рваный" левый край, нехарактерный для европейского восприятия, мешает воспринимать форму целиком и читать ее как обычный бумажный документ или книгу. Такое выравнивание рекомендуется применять только в особых случаях.

Выравнивание влево (аналог выравнивания абзацев в традиционных бумажных документах, книгах) увеличивает дистанцию между надписью и соответствующим ей полем ввода, но делает ровным левый край. Такое выравнивание является рекомендованным и используется во всех типовых конфигурациях как наиболее удобное с точки зрения восприятия формы целиком.


Интервал до поля ввода

Текст надписи не должен примыкать вплотную к полю ввода, т.к. это мешает беглому чтению из-за того, что взгляд натыкается на слишком близко расположенные друг к другу слова:

Оптимальным является отступ на ширину рамки редактирования. При таком отступе надпись и поле ввода отделены друг от друга, но еще воспринимаются вместе как единое целое.

Для вертикальных групп полей ввода с надписями ширина надписей выбирается по самой длинной надписи (в данном случае это надпись "Подразделение". В этом случае связующим звеном между надписью и полем ввода будет принадлежность к группе. Т.е. несмотря на удаленность надписей от поля ввода, они все равно воспринимаются как единое целое, потому что визуально объединены в группу:

Иногда применяют многоточия, чтобы как бы продлить надпись до соответствующего ей поля ввода. Это засоряет форму ненужными элементами оформления и в конечном счете отрицательно сказывается на ее читабельности. Применение такого оформления рекомендуется лишь в особых случаях, например, по желанию заказчика если требуется сделать форму максимально похожей на используемое ранее DOS-приложение или какой-то бумажный документ:

Две строки

Рекомендуется делать лаконичные надписи, чтобы они были однострочными, как и большинство полей ввода в формах. Но иногда не получается сделать надпись понятной и короткой, и единственным приемлемым вариантом становится размещение текста в две строки, несмотря на то, что соответствующее этой надписи поле ввода однострочное. В этом случае рекомендуется сделать двухстрочное поле надписи и выровнять его верхнюю границу с верхней границей соответствующего поля ввода. При этом поле ввода и надпись будут нормально читаться вместе т.к. у них будет общая базовая линия текста:

Текст надписи

Надписи должны быть короткими и точными. Не рекомендуется дублировать в тексте надписей название объекта, свойства которого показывает или редактирует данная форма. Например, в данной форме дублирование в каждой надписи слова "пользователь" делает форму сложнее для восприятия:

Если убрать слово "пользователь" из надписей, то форма сразу воспринимается по-другому:

Не следует стремиться описать в надписи все особенности данного поля ввода. Например, в приведенном ниже фрагменте формы надпись "Формулировка" вполне понятно характеризует поле ввода, хотя ее можно было бы назвать "Полная формулировка", или "Полная формулировка (отличная от наименования):":

В следующем примере надпись "Номер и дата разрешения ЦБ:" можно заменить на "Разрешение ЦБ:" без какого-либо ухудшения информативности этой группы полей формы:

В случае необходимости подробное описание можно приводить во всплывающей подсказке. При составлении подсказок нужно помнить, что подсказка живет на экране около 5 секунд и обычный человек за это время успеет прочесть всего лишь 6-8 слов на русском языке.

Сокращения и аббревиатуры

В тексте надписей рекомендуется не использовать сокращения, т.к. они значительно затрудняют восприятие информации и раздражают пользователя (например, "Подразд-ние:", "Инвентар-ция:", "Расчетный к-т:".

В то же время использование общеупотребительных сокращений часто помогает сделать формы более наглядными (например, "Юр. адрес:", "Факт. адрес:").
Использование общеупотребительных аббревиатур "ИНН, ОКПО, ФИО" повышает наглядность и лаконичность форм, а придуманные самим разработчиком или малораспространенные аббревиатуры могут запутать пользователя и даже сделать форму нечитабельной.

Цвет и шрифт

Многообразие цветов и шрифтов отрицательно влияет на эргономику форм. Отличные от стандартных цвета и шрифты рекомендуется применять лишь в особых случаях для привлечения внимания пользователя. Выделение цветом, например, применяется в типовых конфигурациях, для того чтобы пользователь мог различать статические надписи от динамических:

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