1с как включить автоподбор
Статья входит в цикл «Первые шаги в разработке на 1С». Она продолжает тему, затронутую в предыдущей статье, и описывает новые приёмы работы, которые появились в конфигураторе платформы «1С:Предприятие 8».
Прочитав статью, вы узнаете:
- Что такое контекстная подсказка и как она помогает при написании программного кода?
- Для чего нужны шаблоны текста и как их применять на практике?
- Зачем использовать группировку строк программного кода?
- Как выделение цветом может улучшить удобство работы с редактором кода?
- В чем удобство нового поиска в дереве конфигурации?
- Как быстро отобразить объекты нужной подсистемы?
- Какие инструменты рефакторинга и отказа от модальности существуют и как ими пользоваться?
Применимость
В статье рассматривается возможности конфигуратора на примере платформы «1С:Предприятие» редакций 1C 8.3.5 – 8.3.11, поэтому вся информация актуальна.
Улучшения в конфигураторе платформы «1С:Предприятие 8.3»
При выпуске новой версии платформы «1С:Предприятие 8.3» разработчики добавили в нее несколько интересных и полезных нововведений, чтобы упростить ежедневный труд сотен разработчиков по всей стране.
Контекстная подсказка
Теперь при написании программного кода модуля в редакторе конфигуратора контекстная подсказка отображает не только допустимые в данном контексте имена переменных и процедур, но и параметры редактируемой в данный момент процедуры или функции.
Новая функциональность доступна как для встроенных процедур, так и для собственных процедур разработчика.
Подсказка со списком параметров выглядит следующим образом:
Для увеличения нажмите на изображение.
Параметр процедуры, который следует сейчас ввести, выделяется жирным шрифтом. Ниже под горизонтальной чертой располагается описание текущего параметра. Если он является обязательным, на этом акцентируется внимание при помощи текста в скобках.
При наличии нескольких вариантов синтаксиса встроенной процедуры в заголовке становятся доступны стрелки, предназначенные для переключения между этими вариантами.
Следующей полезной особенностью новой контекстной подсказки является возможность отображать параметры пользовательских процедур и функций.
Для увеличения нажмите на изображение.
Напомним, что существует документ “Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8”, в котором описаны рекомендации фирмы “1С” к разрабатываемому программному коду.
В частности, есть рекомендации по оформлению комментария к заголовку процедуры.
И конфигуратор анализирует комментарии, написанные по таким правилам, и использует их для отображения контекстной подсказки!
Для увеличения нажмите на изображение.
Чтобы избежать ручного написания комментария по приведенному формату, в платформе предусмотрены шаблоны текста, ознакомиться с которыми можно, нажав сочетание клавиш Ctrl + Shift + T.
Шаблон с наименованием “Процедура (с заголовком)” как раз и формирует правильный комментарий.
Чтобы этот шаблон сработал, достаточно набрать в редакторе символы “Проц”, нажать Ctrl+Q и выбрать нужный шаблон из предлагаемого системой списка.
Группировка строк программного кода
Модули типовых решений на платформе “1С:Предприятие 8” достаточно объемные, содержат достаточно большое количество строк кода.
Для повышения удобства чтения и анализа программного кода были реализованы функции группировки условных и циклических операторов, а также процедур.
Во время исполнения программного кода данные инструкции игнорируются. Они нужны только для обозначения сворачиваемых строк кода.
Для увеличения нажмите на изображение.
Нужно следить, чтобы группируемые области не пересекались между собой, потому что в таком случае они не будут сворачиваться на экране.
Выделение цветом конструкций
Теперь в редакторе текста на встроенном языке подсвечиваются цветом синтаксические конструкции, на которых в данный момент установлен курсор. Например, начало и конец процедуры (функции), условного оператора и оператора цикла:
Для увеличения нажмите на изображение.
Еще одним новшеством платформы является выделение цветом открывающихся и закрывающихся скобок. Это очень полезно при написании длинных выражений, когда синтаксический контроль сообщает об ошибке, и разработчику необходимо найти лишнюю или недостающую скобку.
Для увеличения нажмите на изображение.
Для увеличения нажмите на изображение.
Также интерес представляет параметр “Выбранный идентификатор”. Если для него установлен цвет, не совпадающий с цветом фона редактирования, то при двойном щелчке мышью по идентификатору будет подсвечен и он, и все совпадающие идентификаторы в тексте модуля.
Для увеличения нажмите на изображение.
При выполнении поиска в тексте модуля при помощи строки поиска или после нажатия сочетания клавиш Ctrl + F найденное слово выделяется, а все такие же найденные слова подсвечиваются.
Для увеличения нажмите на изображение.
Объединение ячеек табличного документа
Ранее ячейки табличного документа можно было объединить только с помощью пункта меню или соответствующей кнопки командной панели.
Теперь появилось сочетание клавиш Ctrl + M, при нажатии которого и происходит объединение ячеек табличного документа. Также операция “Объединить” доступна в контекстном меню табличного документа.
Надеемся, что и в следующих релизах платформы «1С:Предприятие 8» разработчики будут уделять внимание повышению удобства работы с конфигуратором.
Новые возможности для разработчика в «1С:Предприятие 8.3.5»
Поиск в конфигураторе
Пользоваться поиском при конфигурировании приходится постоянно. Пока конфигурация содержит относительно небольшое количество объектов метаданных, можно осуществлять поиск визуально – глазами, прокручивая дерево конфигурации.
Однако типовые конфигурации достаточно объемны, и при таком подходе поиск будет занимать длительное время.
До выхода платформы 8.3.5 поиск по дереву метаданных можно было осуществить следующим образом:
- набирать с клавиатуры название объекта, при этом система будет искать по совпадению наименования с первой буквы названия, но только в развернутых строках дерева конфигурации;
- при помощи сочетания клавиш Ctrl+F открыть окно поиска:
Найденные объекты будут выведены в окно Результаты поиска, из которого по двойному щелчку мышью можно перейти к нужному объекту метаданных в дереве конфигурации.
В платформе 8.3.5 появилось новое поле поиска, расположенное над деревом конфигурации:
Поиск выполняется по вхождению строки, анализируются свойствам объектов конфигурации Имя, Синоним и Комментарий.
Причем дерево конфигурации фильтруется “на лету”: в нем остаются только объекты, удовлетворяющие введенному фильтру.
Рассмотрим, что обозначают цвета, которыми раскрашены объекты, оставшиеся в дереве после применения фильтра.
Если строка поиска была найдена, то имя такого объекта выделяется в дереве конфигурации черным цветом.
Если кроме того искомая строка присутствует в имени объекта (не в синониме, не в комментарии), то такие вхождения выделяются красным цветом.
Серым цветом выделяются объекты, сами не подходящие под введенный фильтр, но имеющие в своем составе подчиненные (дочерние) объекты, удовлетворяющие заданному фильтру.
На приведенном выше рисунке реквизит ИдентификаторПользователяИБ справочника Пользователи отображается в дереве, т.к. его синоним содержит подстроку “пост”:
Допустимо вводить для поиска несколько подстрок, разделенных пробелами:
Аналогичная строка поиска появилось и у окна, содержащего набор свойств выделенного объекта (палитра свойств):
Найденные свойства будут выведены общим списком, без разбивки по категориям.
Поиск будет осуществляться либо по именам свойств, либо по представлениям свойств (разница приведена на двух скриншотах выше).
Переключиться между режимами имя/представление можно с помощью команды “Отображать имена свойств” контекстного меню:
Такая же строка поиска была добавлена в окне выбора типа данных:
И в окно выбора объекта метаданных (например, выбора регистра сведений, который будет использоваться в качестве графика для регистра расчета):
Быстрое отображение объектов подсистемы
Для быстрого отображения объектов, входящих в одну конкретную подсистему, в контекстном меню появился новый пункт “Объекты подсистемы”:
Напомним, как такого можно было добиться в предыдущих версиях платформы.
Нужно было открыть окно отбора по подсистемам, установить в нем галочку на требуемую подсистему, со всех остальных подсистем галочки снять:
Теперь получить тот же самый результат можно быстрее. Кроме того, чаще всего используется и наиболее востребован отбор именно по одной подсистеме.
А, следовательно, это маленькое удобное новшество сэкономит время разработчика.
Быстрое отображение объектов, захваченных в хранилище
Если конфигурация подключена к хранилищу, то в командной панели над самим деревом конфигурации доступна кнопка “Захваченные объекты”:
Теперь фильтрация выполняется непосредственно в дереве конфигурации, не нужно открывать отдельное окно для работы с хранилищем, в нем устанавливать отборы на захваченные объекты.
Инструменты рефакторинга
Когда над конфигурацией работает группа из нескольких разработчиков, необходимо следить за понятностью кода, следованием общим стандартам.
Контролировать это постоянно не всегда возможно, поэтому периодически проводятся работы по улучшению читаемости кода, пересмотру уже реализованных фрагментов.
Такие действия именуются рефакторингом кода. Это процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы.
Поэтому в конфигураторе платформы 8.3.5 появились механизмы рефакторинга кода и инструменты работы с модальными вызовами.
Они доступны в контекстном меню текстового редактора конфигуратора в отдельном меню Рефакторинг.
Для увеличения нажмите на изображение.
Рассмотрим подробнее реализованные инструменты рефакторинга.
1. Выделить фрагмент
Эта команда преобразует выделенный участок кода в отдельную процедуру или функцию.
Если выделенный участок кода может быть расположен в правой части оператора присваивания, то будет создаваться функция. Рассмотрим пример. Пусть есть фрагмент кода:
При разработке конфигурации, для упрощении ввода документов потребовалось настроить ввод номенклатуры по совпадению любой части наименования!
В 1С 8.3 по умолчанию настройки справочника номенклатуры такие:
При такой настройке, механизм поиска в справочнике номенклатуры работает так:
- в документе вводим первые символы Пета и видим такой результат подсказки:
Но, такой поиск не удобен и менеджеры захотели подбирать номенклатуру по артикулу, например 1320
Для этого изменим настройки указав поиск по Любой части и включив полнотекстовый поиск:
Сохраняем конфигурацию и в режиме предприятие обновляем Полнотекстовый поиск: Меню - Все функции - Стандартные - Управление полнотекстовый поиском
После этого пробуем в документе выполнить поиск по 1320 и видим:
Все Менеджеры пищат как дети на новогодней елке!
Пока писал эту статью нашел в интернете другое решение для платформы 8.2:
СправочникМенеджер.<Имя справочника> (CatalogManager.<Имя справочника>)
ОбработкаПолученияДанныхВыбора(<ДанныеВыбора>, <Параметры>, <СтандартнаяОбработка>)
В модуле менеджера справочника "Номенклатура" пишем:
В обработчике - ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбраблтка) для нас важны все три параметра. В первый "ДанныеВыбора" мы загружаем наш список номенклатуры, полученный по нашему алгоритму. Из параметра "Параметры" мы получим значение введенное пользователем, а третьему параметру "СтандартнаяОбработка" мы должны поставить значение "Ложь"(отключаем стандартный алгоритм системы).
В результате одной небольшой процедурой мы полностью решили поставленную задачу.
Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:
Точки останова
Точка останова — это некая точка в программном модуле, на которой выполнение модуля приостанавливается и управление перехватывает отладчик. Точку останова можно установить с любой строке модуля и в любой момент работы с отладчиком. Место установки точки останова отмечается соответствующим знаком, для разных видов точек останова используются разные обозначения:
Виды точек останова
- Точка останова (F9) — устанавливает/удаляет точку останова в строке на которой стоит курсор;
- Точка останова с условием — устанавливает точку останова и открывает окно для ввода условия — логического выражения, повторное использование команды в этой же строке откроет окно для редактирования условия. Останов в указанной точке будет выполнен только если условие истинно;
- Включить/отключить точку останова (Ctrl+Shift+F9) — включает/отключает точку останова;
- Удалить все точки останова — удаляет все точки останова во всех модулях;
- Отключить все точки останова — отключает все точки останова во всех модулях;
- Список точек останова (Alt+F9) — открывает окно для просмотра и управления точками останова, о нем ниже.
В окне показаны все точки останова во всех модулях, их расположение (модуль и номер строки) и условие (если есть). Имеется возможность включить/отключить/удалить точки останова, перейти к месту установки точек останова, сохранить и загрузить список точек останова.
Пошаговое выполнение
Команды пошагового выполнения
В режиме пошаговой отладки исполнение кода приостанавливается после каждой команды и ждет инструкций от отладчика. А инструкции бывают следующими:
- Шагнуть в (F11) — если следующая команда это процедура/функция, то начинается пошаговая отладка этой функции, иначе отладчик просто переходит к следующей команде;
- Шагнуть через (F10) — если следующая команда это процедура/функция, то она полностью выполняется (не пошагово) и отладчик переходит к следующей команде;
- Шагнуть из (Shift+F11) — прерывает пошаговое выполнение процедуры/функции и останавливается на первом операторе после выхода из нее;
- Идти до курсора (Shift+F10) — выполняются все операторы до строки на которой стоит курсор;
- Текущая строка — перемещает курсор в ту строку, на которой остановился отладчик;
- Продолжить отладку (F5) — прерывает пошаговую отладку и продолжает свободное исполнение модуля.
Управление отладкой
Окна, табло и стек вызова
Окна, табло и стек вызова
Позволяет рассчитать выражение на встроенном языке. Следует отметить, что выражения выполняются в реальной системе и об этом нельзя забывать, если, к примеру, рассчитываемое выражение создает некий объект данных, то этот объект будет создан в реальной системе.
Табло (Ctrl+Alt+W)
Специальное окно, которое состоит из четырех страниц (переключение из контекстного меню) и отображает результаты вычисления переменных, арифметических выражений и выражений с использованием встроенного языка.
Специальное окно, которое во время отладки показывает список локальных переменных текущего метода. Редактировать таблицу переменных нельзя.
Изменение значения переменной
Когда управление находится у отладчика имеется возможность изменять значения переменных и свойства объектов (доступные для записи). Доступ к этой функции можно получить из окна выражений (подчеркнутая кнопка на рисунке выше), а также из контекстного меню в окне локальных переменных и в табло (такой же значок как и в окне выражений).
Откроется специальное окно (как на рисунке выше). В верхней части можно ввести новое значение для переменной — константное значение любого типа или выражение, корректное с точки зрения встроенного языка.
Пользоваться функцией нужно с осторожностью — необдуманное изменение значений переменных может привести к записи в базу данных совершенно неправильных значений.
Стек вызова
Показывает последовательность вызовов процедур и функций, которая привела к отлаживаемой в данный момент строке кода. Колонки таблицы содержат название метода, номер строки модуля и предмет отладки.
Замер производительности
Замер производительности позволяет оценить скорость работы всей конфигурации или ее части. Измеряется скорость выполнения и частота использования конкретных участков кода, а также прочая дополнительная информация о которой ниже.
Включить режим замера производительности можно как до запуска отладки, так и во время. Повторный использование команды прекратит замер и выведет окно с результатами. Включение и выключение замера производительности действует на все подключенные ко отладчику предметы отладки.
Результаты замера
Результаты замера производительности отображаются в виде таблицы со следующими столбцами:
- Модуль — название модуля;
- Номер строки — номер строки;
- Строка — участок кода;
- Кол. — количество вызовов данного участка кода за все время замера;
- Врем. — суммарное время выполнения (в секундах) данного участка кода за все время замера;
- %(Врем.) — процент суммарного времени выполнения данного участка кода к общему времени замера (общее время замера — это суммарное время выполнения кода конфигурации);
- Клиент — отметка участков кода выполняющихся на клиенте;
- Сервер — отметка участков кода выполняющихся на сервере;
- Обр. сервер — отметка участков кода в которых происходит вызов сервера.
Таблица с результатами замера производительности может выглядеть, например, так:
Результаты замера производительности
Результаты можно отсортировать по любой из колонок. Если выделить несколько строк, то сумма квантитативных данных (Кол., Врем., %(Врем.)) отобразится в нижней части окна. Кроме этого результаты можно сохранить в файл с расширением *.pff (этот файл, в последствии, можно открыть в любом конфигураторе).
Имитация задержек при вызове сервера
Механизм имитации задержек при вызове сервера позволяет имитировать работу прикладного решения в условиях существенных временных задержек при взаимодействии с сервером — при вызове сервера, а также при отправке данных на сервер и получении данных с сервера.
Включение механизма имитации задержек
На этом все, надеюсь, что эта статья была Вам полезна. Также напомню про другие статьи серии об отладке в 1С, ссылки на них можно найти в начале этой статьи.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
(оценок: 3, средняя оценка: 5,00 из 5)Генерация кода управляемой формы (декомпиляция элементов) Промо
Изменение форм типовых конфигураций лучше выполнять программно. Эта обработка упрощает добавление элементов на форму, генерируя код создания элементов, реквизитов и команд формы.
29.09.2014 117767 9543 ekaruk 139
Решение задачи 5.2 из Сборника задач для подготовки к экзамену 1С:Специалист по платформе
Применены методы помещения файлов, рекомендуемые начиная с платформы 8.3.15. Реализовано на 8.3.17.1496.
21.11.2021 554 6 MaGn 6
Демосцена на 1С
Графическое демо "Плазма". Олдскульный эффект из 90-х. Воссоздан по исходнику на ассемблере x86. Посвящается Дню программиста 2021.
12.09.2021 1705 56 saver77 9
Работа с кодом и его выполнение в режиме 1С: Предприятие (обычные формы)
С помощью этой простой обработки теперь можно выполнять код не только в конфигураторе. Код в режиме Предприятия имеет вид как в конфигураторе.
11.03.2021 3562 127 Nik_Name 8
Вызов демонов в 1С
Вызываем демонов прямо из 1С!
28.01.2021 9648 176 the1 38
Универсальное сворачивание табличной части документа
Добрый день, коллеги. Мне понадобилось свернуть табличную часть документа, искал подобную функцию чтобы вручную не прописывать поля для сворачивания и группировки. Возможно кому - то поможет данная статья.
14.12.2020 2937 48 Andrei_Ivanov 4
Простая конфигурация для заполнения школьного расписания
Решение задачи контрольной работы.
12.12.2020 3414 53 vova-1c 29
Исправление ошибки 1С:Предприятие 7.7/8.0 - 100% загрузка процессора при ожидании блокировки Промо
Цель использования: разгрузить процессор, когда два или более пользователей пытаются провести документ. 1С пытается заблокировать таблицы, но делает это без пауз, и загружает процессор на 100%. При этом пользователи практически "встают", и нормальная работа прекращается. Компонента (или патч) позволяет решить эту проблему и нормализовать работу пользователей. Особенно актуально при работе в режиме сервера терминалов.
13.12.2007 57777 7808 romix 79
Расширение для тех, кто не знает как убрать префиксы и лидирующие нули в печатных формах всех документов УТ 11.4
Те кто затрудняется при проблеме связанной с удалением префиксов и лидирующих нулей с печатных форм всех документов, вот Вам расширение.
09.09.2020 3979 155 VID1234 6
Получение ссылки из форматированной строки
Описывается, как получить ссылку из имеющейся форматированной строки. Необходимо в том случае, когда за создание форматированной строки отвечает чужой код, а ссылку надо получить программно.
05.06.2020 5399 0 VZhulanov 1
Как сохранить данные табличного поля в табличный документ / файл Excel программно
Пример сохранения табличного поля в табличный документ не через ПКМ -> Вывести список, с автоподбором ширины по содержимому.
31.05.2020 7575 0 rpashkovsky 16
Пример работы MiracleV8.dll в режиме Управляемого приложения (тонкий клиент) Промо
Пример конфигурации Управляемое приложение с использованием MiracleV8.dll
09.04.2012 22826 224 Abadonna 26
Что делать, если Ваш клиент не смог выйти из каменного века и вместо вменяемой часто модифицируемой под нужды современного мира конфигурации, у него неподъемный мамонт, который пережил несколько ледниковых эпох, такой неуклюжий, умирающий, но близкий к бизнесу и родной сердцу? Проблемы начинаются тогда, когда у этого мамонта отваливаются зубья, или его обладатель поглядывает на современные конфигурации и начинает желать новшеств в виде весоподъемности и скорости самолета. Да вообще и чтобы все, что должно работать, работало в конце концов, как, например, внезапно умерший сервис 1С:Контрагент! А у некоторых мамонтов, он, совершенно точно, провонял и усох. И вот как положить этот артефакт в микроволновку времени и вернуть к работоспособному состоянию.
12.05.2020 4459 0 G.Shatrov 6
Переопределение ввода по строке в управляемой форме 1С
Повествование о событиях: «Автоподбор», «ОкончаниеВводаТекста», «ПриПолученииДанныхВыбора»; о глобальном методе «ПолучитьДанныеВыбора»; и о том, как с их помощью полностью переопределить стандартный автоподбор (ввод по строке) для поля управляемой формы.
Читайте также: