1с развернуть форму списка
Эффективность методики зависит от структуры справочника и количества записей в нем. Понятное дело - что если справочник мал, и при установке в палитре свойств таблицы формы свойства НачальноеОтображениеДерева в РаскрыватьВсеУровни он открывается за секунду, то тут эффект не будет заметен. Однако все изменяется с ростом количества элементов. Ниже приведены результаты тестирования. Помимо полного разворачивания разработана и процедура для полного сворачивания.
Для тестирования старался выбирать разноплановые справочники (разные по типу иерархии, количеству элементов и групп / родителей)
1 колонка - наименование справочника
2 колонка - количество элементов
3 колонка - количество групп / родителей
4 колонка - время на раскрытие методом установки в палитре свойств таблицы формы свойства НачальноеОтображениеДерева в РаскрыватьВсеУровни
5 колонка - время на раскрытие с помощью моей методики
Для клиент-серверной версии:
Справочник | Элементов | Групп/родителей | Стандартно | С оптимиз. |
Контрагенты | 7809 | 6 | 27 с | 0,6 с |
Банки | 17465 | 78 | 52 с | 5 с |
Статьи движения ДС | 124 | 32 | 3 с | 2,1 с |
Подразделения организаций | 73 | 17 | 4 с | 1,5 с |
Повторные разворачивания всего дерева в течение сеанса работы происходит за доли секунды (если вы не закрывали окно справочника).
Суть оптимизации состоит в нахождении КЛЮЧЕВЫХ узлов, раскрытия которых абсолютно достаточно для полного раскрытия всего дерева. А исходя из того, что стандартным механизмом 1С раскрываются полностью все узлы, в т.ч. и подчиненные элементы, то выигрыш в количестве обращений к серверу, а соответсвенно и во времени разворачивания дерева очень существенный (особенно заметно на больших справочниках).
Методика (корректировка). Код и описание методики в модуле объекта обработки.Специальные предложения
Полное отсутствие информации о методах решения задачи дает обратный эффект. Не заинтересовывает.
Хотя бы в общих чертах и сжато но описание подхода нужно.
Иначе давайте все статьи будем назвать "Кто-то сделал что-то" и прикреплять файлы. Пусть инфостарт развивается! (6) Даже не знаю что и ответить. Подождем для начала комментариев от тех, кто воспользовался методикой. О достигнутом эффекте. Присоединяюсь к (6). В таком виде публикация выглядит как реклама от перхоти. Поделитесь хотя бы оценкой трудоемкости прививки данной методики к готовым конфигурациям. Ну что-то вроде "добавить три процедуры в общий модуль и внести их вызовы в 2315 мест в формах справочников". Суть самой методики, так и быть, не раскрывайте. Ну, и еще просьба. Если кто скачал и использовал методику - то было бы очень хорошо, если бы в комментах написали какой выигрыш во времени раскрытия дерева получили (или не получили). Возможно большая выборка результатов даст повод попробовать еще больше оптимизировать процесс. Хотя на первый взгляд дальше уже некуда. . рискну выразится несколько резко. однако даже после скачивания файла - не совсем понятен принцип действия, тем более, что чтобы опробовать методику требуется некая доработка Вашей обработки. Если уж Вы не предоставили описание методики, выложите хотя-бы готовую обработку, которую можно было бы запустить в конфигурации без её изменения (выпустите некий "окончательный продукт", не требующий "допиливания"), понимаю, что на это потребуется чуть больше времени, но все же попробуйте, и, возможно повысите свой статус, до уровня "когда $m уже не важны" ))). Неплохо бы в общих словах и описать принцип действия.
(9) Принимаю любую критику - так что не проблема
Для начала поясню - это не обработка, а процедуры и функции + пояснения по их внедрению в вашу конфигурацию. Просто для удобства и скажем так ради "боевой раскраски" они упакованы не в текстовый файл, а в общий модуль обработки.
И невозможно сделать готовую обработку (дело не во времени). В любом случае придется вносить изменения в конфигурацию. Хотя бы создать кнопки Свернуть и Развернуть.
Ну а это выдержка из текста модуля обработки:
//Создаем в любом общем модуле с установленным свойством Клиент(Управляемое приложение)
//(остальные свойства в Ложь) либо создаем свой общий модуль с описанными выше свойствами.
//В моем случае это общий модуль РазворачиваниеСворачиваниеДереваКлиент.
//В нем создаем экспортную процедуру:
Далее текст самой процедуры
//Создаем в любом общем модуле с установленным свойством Сервер
//(остальные свойства в Ложь) либо создаем свой общий модуль с описанными выше свойствами.
//В моем случае это общий модуль РазворачиваниеСворачиваниеДереваСервер.
//В нем создаем экспортную функцию:
Далее текст самой функции
//Далее в модуле управляемой формы списка целевого справочника создаем 2 процедуры и 2 функции:
Далее тексты процедур и функций
//Готово. Теперь в палитре свойств списка справочника устанавливаем Отображение = Дерево,
//НачальноеОтображениеДерева = НеРаскрывать.
//А далее по желанию либо в каком-нибудь событии формы вызывать РазвернутьВсе() или СвернутьВсе()
//либо (как это реализовано у меня) создать две соответствующие команды, разместить их
//в командной панели формы, а в их обработчиках вызывать соответствующие процедуры (РазвернутьВсе() или СвернутьВсе()).
Вот интересно - что здесь непонятно?
Ну, и заодно очевидна и "трудоемкость прививки к готовым конфигурациям" для (8).
А $m мне действительно не важны, сколько их уже есть - мне столько обработок не понадобится - факт.
Количество скачиваний файла мне пусть и субъективно но показывает количество человек кому необходима такая методика. А возможно, с некоторой скидкой, и кому в итоге помогла. Т.е. если я вижу ее не бесполезность, то тогда есть желание дальше работать в этом направлении - в том смысле, что разрабатывать нечто, что может быть полезным другим.
(11) Каким образом для пользователя подмените стандартную форму списка на свою обработку не внося правки в конфигурацию?
Но суть даже не в этом - я нигде и не писал, что это готовая обработка. Я обозначал, что это методика. И в (10) я объяснил причину ее "упаковки" в обработку. Методика готовая к использованию. Все функции и процедуры написаны, их нужно только внедрить в свою конфигурацию.
(12) если "въеду" в Вашу методику, напишу такую обработку. Методика работает только в "стандартной форме списка"? По крайней мере в пределах обычных форм на форму внешней обработки можно "положить" Форму списка любого справочника. (13) Методика работает в любой форме с динамическим списком отображаемым в виде дерева. В пределах обычных форм (если Вы под обычными имеете в виду не управляемые) смысла в этой методике нет абсолютно.И понятное дело, что в управляемых формах можно в форму обработки "положить" список любого справочника. Только как Вы будете подменять стандартную форму справочника на Вашу из обработки не влезая в конфигуратор (если у Вас конфигурация на полной поддержке)? (14) в большинстве случаев интересно применение ускорения именно в нестандартных формах справочников, как-то например, подбор номенклатуры в УТ11 (Управляемые формы). В УТ11 "подбор в документ продажи" реализован обработкой. Я имел ввиду, что для иллюстрации выигрыша можно сделать внешнюю обработку, скажем по одному и тому-же справочнику, стандартным способом, и Вашим, возможно в одной форме по типу "Norton Commander" С интересом прочитал обсуждение.
Видно, что в публикации изначально не хватало:
- указания из (15), что "смысла в этой методике нет в режиме обычного приложения"
- картинки, которая бы сразу показала вид развернутого дерева.
Теперь (наконец) стало ясно, необходима ли мне такая методика.
(39) Да бросьте - изначально в заголовке публикации было указано "управляемый интерфейс" :)
(38) Теперь я понял о каких двух вариантах шла речь. И теперь утверждать то, что реализовал оба варианта конечно же не буду. Изначально в описании публикации я говорил о конкретном варианте - одном списке в виде дерева.
Ваша функция с запросом и с последующей обработкой отрабатывает быстрее моей, пусть даже и та и другая выполняется за доли секунды - но отрицать факт неоптимальности моей реализации нет смысла.
Также возьму на заметку организацию запроса и обработки для двух списков. Спасибо.
Еще раз отмечу - что публиковалась методика, т.е. идея. А ее реализовывать можно по разному. Моя реализация - не оптимальна. И рад, что тема вызвала такое обсуждение, пусть и лишь с участием нескольких человек.
Ну и попрошу одного пояснения - у Вас все, что было Вами написано в этом обсуждении уже было реализовано до появления этой публикации или нет?
Т.е. мне интересно идея КЛЮЧЕВЫХ узлов была для Вас нова, или нет? (просто помню обсуждение подобной темы на мисте, где Вы говорили, что иерархический справочник из 5 000 строк открывался более 3 минут)
А меня ещё больше, чем возможность использования ссылки в качестве параметра, удивил сам результат применения метода "Раскрыть" к глубоко вложенным ветвям дерева. Никогда бы не подумал, что при этом раскроются все родительские узлы. Я считал, что в этом случае просто запомнится состояние данного узла во внутренних переменных.
И вот что в связи с этим я для себя при этом обнаружил. Если на форме размещается дерево (полученное, например, запросом), то в нём запоминается состояние "раскрыт" для дочерних узлов. Т.е. если закрыть и заново открыть родительский узел, то его дочерние узлы будут раскрыты или закрыты в зависимости от того, какими мы их оставили. А в динамическом списке в виде дерева этого нет. Хотя, если задуматься, то понятно почему. (41) Признаю, был неправ, не дочитал конец заголовка, а чуть ниже - многочисленные "не имеет значения" в рубрикаторе - ввели в меня заблуждение.
Но картинку все ж надо было приделать. (49) К сожалению нету рубрикатора для указания типа интерфейса или приложения. Ну и еще - стандартного метода раскрыть все дерева после того как форма создана и выведена на экран - нет. Во всяком случае я его не знаю. Поэтому только выставлять свойство списка НачальноеОтображение = РаскрыватьВсеУровни.
Ну вот писал, писал - все куда-то ушло в корзину. Поэтому повторю. Если вдруг появится предыдущий труд - извиняйте.
Итак попробовал данный вариант. Сначала цифры: Справочник "Материалы" - количество записей 40 093 из них 379 папок. Время разворачивания списка: 1-е 50 сек., последующие 8 сек. Время сворачивания: 4 сек. Время разворачивания справочника при открытии в режиме "Разворачивать все уровни" 4 мин. 50 сек.
Теперь по методике: ничего нового или оптимизирующего в ней нет. Единственное что для себя открыл (до этого не пробовал писать не в соответствии с документаций) так это то, что в метод Развернуть(Строка,СПодчиненными) и Свернуть(Строка) можно передать в параметр "Строка" - ссылку а не идентификатор строки, как это написано в документации:
ТаблицаФормы (FormTable)
Развернуть (Expand)
Синтаксис:
Развернуть(<ИдентификаторСтроки>, <СПодчиненными>)
Параметры:
Тип: Произвольный.
Идентификатор строки таблицы.
<СПодчиненными> (необязательный)
Считаю это недоработкой документации.
Разжую для тех кто не сразу въезжает в тонкости данной темы:
По данной методики можно только организовать полное сворачивания и разворачивания веток дерева для динамического списка (в принципе можно модифицировать для разворачивания до определенного уровня). Все делается стандартными методами объекта "ТаблицаФормы": Развернуть() и Свернуть().
С вышесказанными замечаниями относительно параметров этих методов никаких сложностей с реализацией данных действий не возникает. Для динамических списков не возможно получить строку(и) из формы, которые нужно свернуть или развернуть, как например, для дерева( методом ДанныеФормыДерево.ПолучитьЭлементы()) - и потом уж получить по этим элементам идентификатор строки, который следовало бы передавать в качестве строки в метод Развернуть(). Оказывается вместо этого можно просто передать ссылки справочника. В этом и суть всех действий, предлагаемых автором. Все остальное стандартно. Ссылки получает запросом на сервере (кстати сам текст запроса какой-то геморный, не понял зачем так делать, но об этом позже), и потом обходя полученные ссылки разворачивается или сворачивается ветка ТаблицыФормы (списка справочника) из динамического списка методом Развернуть()/Свернуть(), где в качестве ссылки передается не идентификатор строки, а сама ссылка.
Теперь по поводу начального режима дерева: стоит устанавливать "Разворачивать только верхний уровень" - на моей базе разницы во времени с режимом "Не разворачивать" вообще никакой. Но хоть что-то отображается, вместо просто наименования справочника.
Теперь по поводу запроса: зачем там такой алгоритм - не понял. Переделал на простенький вариант:
Функция ПолучитьСписокЭлементовДерева2(ИмяСправочника, Развернуть) Экспорт
Запрос = Новый Запрос();
Запрос.Текст + ИмяСправочника + ".Ссылка
|ИЗ
| Справочник." + ИмяСправочника + " КАК " + ИмяСправочника + "
|ГДЕ
| " + ИмяСправочника + ".ЭтоГруппа"+?(Развернуть,""," И "+ИмяСправочника + ".Родитель = ЗНАЧЕНИЕ(Справочник." + ИмяСправочника + ".ПустаяСсылка)");
СписокЭлементов = Новый СписокЗначений;
СписокЭлементов.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
Возврат СписокЭлементов;
КонецФункции
Некоторое пояснение: для сворачивания нет необходимости получения всех групп, достаточно свернуть только группы на верхнем уровне.
Ну и теперь размышления по поводу производительности разворачивания(сворачивание всегда идет более менее быстро). В общем-то можно организовать 2-мя способами: разворачивать только верхний уровень с подчиненными, что делать не стоит (на моей базе в этом случае время разворачивания составляет 3 мин 50 сек - то, есть тоже самое, что режим при открытии разворачивать все уровни)! или разворачивать все ветки, следует использовать данный вариант. Разница во времени показывает качество оптимизации (вернее ее полное отсутствие) для дерева в 1С.
При разработке форм подборов и организации отборов для удобства работы может возникнуть задача по автоматическому раскрытию текущей группы.
- упростить работу пользователю, выполнять 1 клик вместо 2;
- явно дать понять ему, что есть вложенные группы.
В такой простой задаче может возникнуть стопор из-за особенностей динамического списка:
- в метод Развернуть() таблицы формы следует передать идентификатор текущей строки (численное значение, согласно описанию в синтаксис-помощнике);
- в динамическом списке, когда источник и основная таблица есть справочник, метод ТекущаяСтрока() возвращает ссылку этого справочника, к которому не применим метод ПолучитьИдентификатор().
Решение проблемы:
Оказывается в метод Развернуть() в данном случае можно передавать эту ссылку, т.к. источник справочник, в котором нет дублей, следовательно система однозначно идентифицирует данную строку и сможет ее развернуть или свернуть. Аналогично работает и метод Развернут().
тд = Элементы . Дерево . ТекущиеДанные ;
Если Не тд = Неопределено Тогда
Если Элементы . Дерево . Развернут ( Элементы . Дерево . ТекущаяСтрока ) = Ложь Тогда
Элементы . Дерево . Развернуть ( Элементы . Дерево . ТекущаяСтрока , Ложь ) ;
КонецЕсли ;
КонецЕсли ;
Для удобства пользователя добавим, авто раскрытие/сокрытие при выборе(двойном клике, по уже активной строке):
Процедура ДеревоВыбор ( Элемент , ВыбраннаяСтрока , Поле , СтандартнаяОбработка )
ТС = Элементы . Дерево . ТекущаяСтрока ;
Если Элементы . Дерево . Развернут ( ТС ) = Истина Тогда
Элементы . Дерево . Свернуть ( ТС ) ;
Иначе
Элементы . Дерево . Развернуть ( ТС , Ложь ) ;
КонецЕсли ;
Данная статья также применима к плану счетов, планам видов характеристик и расчетов (которые имеют иерархическую структуру).
Газетные объявления содержат больше правды о том, что происходит в стране, чем газетные передовицы.
— Г. Бичер
Управление окнами
Закрыть активное окно, модальный диалог или приложение - Alt + F4
Закрыть активное обычное окно - Ctrl + F4
Закрыть активное окно (кроме обычных) - Shift + Esc
Активизировать следующее обычное окно - Ctrl + Tab - Ctrl + F6
Активизировать предыдущее обычное окно - Ctrl + Shift + Tab - Ctrl + Shift + F6
Активизировать следующую секцию окна - F6
Активизировать предыдущую секцию окна - Shift + F6
Вызвать системное меню приложения или модального диалога - Alt + Space
Вызвать системное меню окна (кроме модальных диалогов) - Alt + Hyphen(-) - Alt + Num-
Вызвать главное меню - Alt - F10
Вызвать контекстное меню - Shift + F10
Переход по истории активности окон
Переместиться назад - Ctrl + "-"
Переместиться вперед - Ctrl + Shift + "-"
Вернуть активность обычному окну - Esc
Форма
Перейти к следующему элементу формы/выполнить действие кнопки по умолчанию - Enter
Выполнить действие кнопки по умолчанию - Ctrl + Enter
Перейти к следующему элементу формы - Tab
Вернуться к предыдущему элементу формы - Shift + Tab
Активизировать командную панель, связанную с активным элементом управления/формой - Alt + F10
Открыть "Список элементов управления формы" - Ctrl + Shift + L
Перемещение по элементам управления, объединенным в одну группу - Up, Down, Left, Right
Работа со списком и деревом
Открыть - F2
Обновить - Ctrl + Shift + R
Скопировать - F9
Новая группа - Ctrl + F9
Удалить строку - Shift + Del
Перемещение строки вверх - Ctrl + Shift + Up
Перемещение строки вниз - Ctrl + Shift + Down
Перенести элемент в другую группу - Ctrl + Shift + M
Перейти на уровень вниз с одновременным раскрытием группы - Ctrl + Down
Перейти на уровень вверх (к "родителю") - Ctrl + Up
Закончить редактирование - Shift + F2
Развернуть узел дерева - Num+ - Ctrl + Num+
Свернуть узел дерева - Num- - Ctrl + Num-
Развернуть узел дерева и все подчиненные - Num* - Ctrl + Alt + Num+
Свернуть узел дерева и все подчиненные - Ctrl + Alt + Num-
Развернуть все узлы дерева (выполняется в любом месте дерева) - Ctrl + Shift + Num+
Свернуть все узлы дерева (выполняется в любом месте дерева) - Ctrl + Shift + Num-
Изменение флажка - Пробел
Поле ввода
Переключить режим вставки/замены - Ins
Кнопка выбора - F4
Кнопка открытия - Ctrl + Shift + F4
Очистить поле - Shift + F4
Удалить символ слева от курсора - BackSpace
Удалить символ справа от курсора - Del
Удалить слово слева от курсора - Ctrl + BackSpace
Удалить слово справа от курсора - Ctrl + Del
Перейти в начало строки - Home
Перейти в конец строки - End
Поле картинки
Увеличить масштаб - Num+
Уменьшить масштаб - Num-
Прокрутить - Up, Down, Left, Right
Прокрутить на размер окна вверх - Page Up
Прокрутить на размер окна вниз - Page Down
Прокрутить на размер окна влево - Alt + PgUp
Прокрутить на размер окна вправо - Alt + PgDn
Редактор управляемых форм
Переключиться на закладку "Форма" - Alt + 1
Переключиться на закладку "Модуль" - Alt + 2
Переключиться на закладку "Форма" и активизировать закладку "Элементы" - Alt + 3
Переключиться на закладку "Форма" и активизировать закладку "Реквизиты" - Alt + 4
Переключиться на закладку "Форма" и активизировать закладку "Команды" - Alt + 5
Переключиться на закладку "Форма" и активизировать закладку "Командный интерфейс" - Alt + 6
Переключиться на закладку "Форма" и активизировать закладку "Параметры" - Alt + 7
Переключиться на закладку "Форма" и активизировать окно предварительного просмотра формы - Alt + 8
Редактор форм
Протестировать форму - Ctrl + R
Переместить элемент управления - Up, Down, Left, Right
Копировать элемент управления - Ctrl + (Up, Down, Left, Right)
Копировать элемент управления с инверсией выравнивания по сетке - Ctrl + Alt + (Up, Down, Left, Right)
Изменить размер элемента управления - Shift + (Up, Down, Left, Right)
Изменить размер элемента управления с инверсией выравнивания по сетке - Shift + Alt + (Up, Down, Left, Right)
Инверсия использования сетки - Alt + (Up, Down, Left, Right)
Открыть окно "Привязка границ для элемента…" - Ctrl + Shift + S
Начало редактирования - F2
Редактор табличных документов
Перейти к ячейке - Ctrl + G
Перемещение по ячейкам - Up, Down, Left, Right
Перемещение по ячейкам к следующей заполненной или пустой - Ctrl + (Up, Down, Left, Right)
Перемещение по ячейкам к следующей заполненной или пустой с выделением ячеек - Ctrl + Shift + (Up, Down, Left, Right)
Выделение ячеек - Shift + (Up, Down, Left, Right)
Выделение ячеек от текущей до начала строки - Shift + Home
Выделение ячеек от текущей до конца строки - Shift + End
Выделение строк - Alt + Shift + (Up, Down)
Выделение строк до следующей заполненной или пустой ячейки - Ctrl + Alt + Shift + (Up, Down)
Выделение колонок - Alt + Shift + (Left, Right)
Выделение колонок до следующей заполненной или пустой ячейки - Ctrl + Alt + Shift + (Left, Right)
Выделение ячеек от текущей до начала документа - Ctrl + Shift + Home
Выделение ячеек от текущей до конца документа - Ctrl + Shift + End
Прокрутить на страницу вверх - PgUp
Прокрутить на страницу вниз - PgDn
Прокрутить на страницу влево - Alt + PgUp
Прокрутить на страницу вправо - Alt + PgDn
Перейти к редактированию содержимого ячейки - Enter
Переключение режима редактирования/ввода в ячейке - F2
Перейти в начало строки - Home
Перейти в конец строки - End
Перейти в начало текста - Ctrl + Home
Перейти в конец текста - Ctrl + End
Установка имени текущей области - Ctrl + Shift + N
Редактор текстовых документов и модулей
Переключить режим вставки/замены - Ins
Перейти в начало строки - Home
Перейти в конец строки - End
Выделить до начала строки - Shift + Home
Выделить до конца строки - Shift + End
Перейти в начало текста - Ctrl + Home
Перейти в конец текста - Ctrl + End
Выделить до начала текста - Ctrl + Shift + Home
Выделить до конца текста - Ctrl + Shift + End
Прокрутить на одну строку вверх - Ctrl + Up
Прокрутить на одну строку вниз - Ctrl + Down
Перейти к началу предшествующего слова - Ctrl + Left
Перейти к началу следующего слова - Ctrl + Right
Выделить слово - Ctrl + W
Выделить предшествующее слово - Ctrl + Shift + Left
Выделить следующее слово - Ctrl + Shift + Right
Прокрутить на страницу вверх - PgUp
Прокрутить на страницу вниз - PgDn
Выделить предыдущую страницу текста - Shift + PgUp
Выделить следующую страницу текста - Shift + PgDn
Снять выделение - Esc
Перейти к строке - Ctrl + G
Удалить символ слева от курсора - BackSpace
Удалить символ справа от курсора - Del
Удалить слово слева от курсора - Ctrl + BackSpace
Удалить слово справа от курсора - Ctrl + Del
Установить/снять закладку - Alt + F2
Следующая закладка - F2
Предыдущая закладка - Shift + F2
Удалить текущую строку - Ctrl + L
Форматировать блок - Shift + Alt + F
Добавить комментарий - Ctrl + Num/
Удалить комментарий - Ctrl + Shift + Num/
Cдвинуть блок вправо - Tab
Сдвинуть блок влево - Shift + Tab
Синтаксический контроль - Ctrl + F7
Процедуры и функции модуля - Ctrl + Alt + P
Перейти к объявлению процедуры или переменной - F12
Контекстная подсказка - Ctrl + Пробел
Свернуть группу (курсор может быть в любом месте группы) - Ctrl + Num -
Развернуть группу (курсор может быть в любом месте группы) - Ctrl + Num +
Cвернуть все группы - Ctrl + Shift + Num -
Развернуть все группы - Ctrl + Shift + Num +
Обновить группировки - Ctrl+ Shift + R
Активизация шаблона - Ctrl + Q
Перейти по операторным скобкам назад - Ctrl + [
Перейти по операторным скобкам вперед - Ctrl + ]
Перейти по операторным скобкам назад с выделением текста - Ctrl + Shift + [
Перейти по операторным скобкам вперед с выделением текста - Ctrl + Shift + ]
Отладчик
Начать/продолжить отладку - F5
Перезапуск приложения для отладки - Ctrl + Shift + F5
Прекратить отладку - Shift + F5
Шагнуть в - F11
Шагнуть через - F10
Шагнуть из - Shift + F11
Идти до курсора - Shift + F10
Установить/снять точку останова - F9
Отключить/включить точку останова - Ctrl + Shift + F9
Список точек останова - Alt + F9
Вычислить выражение - Shift + F9
Открыть табло - Ctrl + Alt + W
Открыть стек вызовов - Ctrl + Alt + C
Редактор картинок
Переключение картинка/коллекция - Ctrl + K
Параметры картинки/коллекции - Shift + Alt + P
Отразить слева направо - Ctrl + H
Отразить сверху вниз - Ctrl + Shift + H
Выделение прямоугольником - Shift + Alt + S
Масштаб - Ctrl + M
Ластик - Ctrl + Shift + E
Заливка - Ctrl + Shift + F
Карандаш - Ctrl + Shift + I
Кисть - Ctrl + Shift + B
Линия - Ctrl + Shift + L
Кривая - Shift + Alt + С
Аэрограф - Ctrl + Shift + A
Текст - Shift + Alt + T
Увеличение масштаба - Ctrl + Num+
Уменьшение масштаба - Ctrl + Num-
Палитра свойств
Сохранить свойства - Enter
Восстановить значения свойства - Esc
Раскрыть категорию свойств - Num+
Закрыть категорию свойств - Num-
Перейти в начало палитры - Home
Перейти в конец палитры - End
Перейти к предыдущему свойству - Up
Перейти к следующему свойству - Down
Прокрутить на страницу вверх - PgUp
Прокрутить на страницу вниз - PgDn
Перейти к предыдущей категории - Ctrl + PgUp
Перейти к следующей категории - Ctrl + PgDn
Редактор карты маршрута
Перейти на следующий элемент карты - Tab
Перейти на предыдущий элемент карты - Shift + Tab
Уменьшить ширину элемента карты - Shift + (Left)
Увеличить ширину элемента карты - Shift + (Right)
Уменьшить высоту элемента карты - Shift + (Up)
Увеличить высоту элемента карты - Shift + (Down)
Перемещение выделенного варианта вверх (только при выделенном варианте в - Ctrl + (Up)
элементе "Выбор варианта")
Перемещение выделенного варианта вниз (только при выделенном варианте в - Ctrl + (Down)
элементе "Выбор варианта")
Поиск - Ctrl + F
Найти следующий - F3
Найти предыдущий - Shift + F3
Замена - Ctrl + H
Конфигурация
Открыть конфигурацию - Alt + К + Enter
Поиск во всех текстах - Alt + К + Т
Объединение конфигураций - Alt + К + О
Загрузить измененную конфигурацию - Alt + K + З
Конвертирование данных - Alt + К + Е
Администрирование
Пользователи - Alt + А + П
Сохранить данные - Alt + А + Х
Восстановить данные - Alt + А + В
Выгрузить данные - Alt + А + Ы
Загрузить данные - Alt + А + Г
Настройка журнала регистрации - Alt + А + Н
Распределенная ИБ - Alt + А + Р
Управление - Alt + А + Р + У
Автообмен - Alt + А + Р + А
Действия
Открыть в отладчике - Alt + Д + Т
Синтаксический контроль запросов - Alt + Д + К
Синтаксический контроль - Alt + Д + И
Процедуры и функции модуля - Alt + Д + Р
Файл
Новый - Ctrl + N
Открыть - Ctrl + O
Сохранить - Ctrl + S
Печать - Ctrl + P
Сравнить файлы - Alt + Ф + Р
Закрыть - Alt + Ф + З
Просмотр - Alt + Ф + Р + Р + Enter
Параметры страницы - Alt + Ф + М
Работа с закладками
Предыдущая закладка - Shift + F2
Закладка - Alt + F2
Следующая закладка - F2
Работа с блоком
Форматировать - Ctrl + Shift +F
Сдвинуть вправо - Tab
Сдвинуть влево - Shift + Tab
Добавить комментарий - Ctrl + Num /
Удалить комментарий - Ctrl + Shift + Num /
Поиск и замена
Заменить - Ctrl + Shift + F3
Искать - Ctrl + F3
Повторить поиск - F3
Искать назад - Alt + F3
Искать вперед - Shift + F3
Переход к строке - Ctrl + Shift + L
Сервис
Калькулятор - Ctrl + F2
Синтаксис помощник - Alt + С + С
Настройка шаблонов - Alt + С + Н
Временная блокировка - Alt + С + В
Запуск предприятия - F11
Запуск отладчика - F12
Помощь
Помощь - F1
Содержание - Shift + F1
Поиск в Синтакс-Помощнике - Ctrl + F1
О программе - Alt + П + О
Общие
Свойства - Alt + Enter
Выход - Alt + F4
Читайте также: