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

Скачать универсальную обработку объектов 1С 8.3.

В обычном приложении версии платформы 1С 8.2 и 8.1 (на обычных формах) была такая замечательная обработка, как «Универсальный подбор и обработка объектов». Она значительно упрощала жизнь программистам и администраторам программы.

Появилась такая же обработка 1С для управляемого приложения (8.3 и 8.2). До этого, в 1С 8.3, приходилось обходится типовой обработкой групповое изменение реквизитов, однако она решает не все задачи, которые требуются в повседневной работе пользователя или программиста 1С.

Поиск и отбор объектов

После скачивания обработки, мы можем запустить ее как внешнюю. Кто не знает, это делается через меню «Файл» – «Открыть». Появится окно обработки:

На первой закладке мы должны выбрать объект, с которым собираемся работать. И так, в поле «Объект поиска» уже выбран документ «Реализация (акты, накладные)». Это потому, что до этого уже выбирали данный объект. Обработка умеет запоминать.

По кнопке «Настройка отбора», мы можем установить отбор практически по любому полю объекта:

Если данных отборов не достаточно, можно отобрать нужные объекты с помощью произвольного запроса. Для этого переведите переключатель «Режим отбора» в соответствующее положение.

После всех настроек объекты нужно отобрать. Нажмем на кнопку «Найти объекты» и смотрим результат отбора:

Обработка элементов

Перейдем на закладку «Обработки»:

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

Произвольный алгоритм

Обработка «Произвольный алгоритм» позволяет написать программу действий над объектами на внутреннем языке 1С. Обработка требует навыков программирования и ее описание достойно отдельной статьи. С ее помощью можно сделать практические действия над объектами:

Установка реквизитов

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

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

Перенумерация объектов

Обработка «Перенумерация объектов» соответственно позволяет перенумеровать документы, либо изменить коды справочников. Обработка предоставляет богатый набор действий. Например, вы решили поменять префикс у документов, которые отобрали:

Теперь посмотрим, что мы можем сделать с сохраненными настройками. Оказывается, мы можем выполнить одним пакетом, перенеся в окно «Выбранные обработки»:

Теперь мы можем последовательно выполнить выбранные настройки, нажав кнопку «Выполнить».

По материалам: programmist1s.ru

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

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

В режиме редактирования текстовых документов редактор поддерживает все стандартные функции редактирования текста:

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

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

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

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

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

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

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

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

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

Группировка

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

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

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

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

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

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

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

Исходный текст:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Синтаксический контроль

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

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

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

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

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

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

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

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

Дополнительная информация

Вы можете познакомиться с использованием редактора текстов и модулей в реальном режиме времени. Для этого можно скачать демонстрационный ролик "Пример разработки торговой мини-системы", в котором показан процесс разработки торговой мини-системы с использованием этого редактора для редактирования модуля формы "Расходная накладная" и форм отчетов "Анализ продаж" и "Анализ продаж по периодам".

Мне частенько приходится взаимодействовать с 1С-разработчиками, и во время совместной работы над проектами замечаю, что далеко не все из них хорошо знают свой главный инструмент – «Конфигуратор». Причем это не относится к степени крутости девелопера. Как оказалось, даже синьоры пользуются далеко не всеми возможностями «Конфигуратора», а ведь они могут сэкономить кучу времени, а тем самым повысить продуктивность разработчика.

Под катом я решил собрать несколько полезных фишек стандартного конфигуратора, которыми пользуюсь регулярно. Многие из них появились в платформе «1С:Предприятие 8.3.х», поэтому перед тестированием обязательно проверьте номер версии установленной у вас платформы.

Закладки

Функция установки в коде закладок появилось еще с первых релизов 8-й версии платформы «1С:Предприятие ». Штука чрезвычайно полезная и помогает разработчику быстрей передвигаться по коду. Например, у нас есть большой модуль, в который мы решили добавить ряд функций. Естественно, потом нам предстоит их отлаживать, а соответственно постоянно между ними переключаться.

Хорошо, если новые функции добавлены в самый конец модуля, а если потребовалось расположить в разных частях? Вот тут начинается самое интересное. Одни программисты начинают скролить текст (как правило, этим страдают новички). Более продвинутые применяют поиск по тексту (Ctrl + F ).

Оба способа рабочие, но пользоваться ими долго. Куда правильней использовать функцию «закладки». Например, переходим к какой-нибудь строке. Нажимаем ALT + F2 и получаем закладку (слева от строки отобразиться квадратик).

Убирается закладка тем же сочетанием клавиш. Так вот, закладок может быть в модуле расставлено много. По ним легко передвигаться нажатием клавиши F2 . Фича крутая, но она была изначально не доделана и не позволяла, например, передвигаться по закладкам в разных модулях. Это досадное ограничение создавало лишние тормоза для программистов, привыкших к хорошим IDE (например, Visual Studio, PHP Storm).

В версии 8.3 недочет исправили и сделали классную вещь – «Список закладок ». Нажимаем клавиши «Ctrl + Shift + F2 », и перед нами откроется окно с полным списком установленных закладок.

В нем перечислены все закладки в разрезе модулей. Для каждой закладки указан номер строк и доступен перечень действий: перейти к коду, удалить закладку, удалить все закладки.

Таким образом, работать с закладками стало на порядок проще. Еще бы добавили возможность установки горячих клавиш на закладки, и стало бы совсем хорошо. Помню еще со времен «Delphi 6» привык к установке закладок по горячим клавишам Alt + . Наставил закладок и быстро перемещайся по ним.

Группировка строк

В «1С:Предприятие » с самого начала была одна большая проблема – отсутствие возможности создавать дополнительные модули для определенных объектов. Например, есть у меня справочник «Контрагенты» и мне хочется разделить его функционал на модули. Допустим, функционала очеееень много. Так вот, в моем распоряжении все равно стандартный набор: Модуль объекта, Модуль менеджера и модуль формы. Понятное дело, что у каждого модуля своя роль, но что делать мне с моими 100500 функциями, которые относятся непосредственно к справочнику «Контрагенты»?

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

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

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

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

#Область ПОИСК_КОНТРАГЕНТОВ Функция ПоискКонтрагентаПоПаспортнымДанным() //Код КонецФункции Функция ПоискКонтрагентаПоНаименованию() //Код КонецФункции #КонецОбласти #Область ИМПОРТ_КОНТРАГЕНТОВ Функция ИмпортКонтрагентаИзExcel() //Код КонецФункции Функция ИмпортКонтрагентаИзJSON() //Код КонецФункции #КонецОбласти

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

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

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

Форматирование кода

Собственно говоря, тут и рассказывать особо нечего – выделяем код, нажимаем «Alt + Shift + F » и редактор попытается привести его в божеский вид в соответствии с вшитым code-style. Функция работает вполне сносно и ей обязательно надо пользоваться. Пишу это потому, что неоднократно видел, как разработчики пытаются отбивать отступы самостоятельно. Это конечно круто, но зачем тратить время, если большую часть работы можно выполнить одной горячей клавишей?

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

В этом случае на закладке Формы объекта конфигурации будет доступна группа Дополнительные, где и можно будет указать обычные формы:

А при создании новой формы можно выбрать, создавать обычную или управляемую:

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

Настройки редактора форм - например, отображение или не-отображение сетки - регулируется в опциях конфигурации в целом:

и может быть уточнено для каждой отдельной формы:

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

При этом на закладке Реквизиты создастся соответствующий реквизит:

в свойствах элемента можно прописать соответствующий линк:

При этом если реквизит потом удалить, то элемент управления (таблица) не удалится, но ее линк на данные очистится.

Вопрос 03.28 экзамена 1С:Профессионал по платформе. На закладке формы, окна редактирования объекта конфигурации, есть закладка "Дополнительные" потому, что:

  1. В конфигурации включено свойство "использовать дополнительные свойства"
  2. В конфигурации включены свойства: "Использовать управляемые формы в толстом клиенте в обычном режиме" и "Использовать обычные формы в толстом клиенте в управляемом режиме"
  3. В конфигурации установлено значение "Обычное приложение" в свойстве "Основной режим запуска"
  4. В конфигураторе включен режим редактирования "Управляемое приложение и обычное приложение"

Правильный ответ четвертый, см. выше.

Вопрос 03.51 экзамена 1С:Профессионал по платформе. Редактор обычных форм содержит закладки…

  1. Диалог, Модуль, Реквизиты
  2. Форма, Модуль формы, Реквизиты
  3. Диалог, Модуль, Реквизиты, Команды формы
  4. Форма, Модуль, Команды формы, Параметры
  5. Диалог, Модуль, Реквизиты, Элементы, Параметры, Команды, Командный интерфейс

Правильный ответ первый.

Вопрос 03.52 экзамена 1С:Профессионал по платформе. Какие способы доступны в конфигураторе для редактирования диалога обычной формы?

  1. Через диалог вставки элементов управления
  2. Через диалог размещения данных
  3. Вставка элемента управления из панели инструментов
  4. Используя список элементов управления
  5. Верные варианты 1,2,3
  6. Верны все варианты

Правильный ответ пятый. Диалоги вверху экрана, набор элементов управления внизу.

Вопрос 03.53 экзамена 1С:Профессионал по платформе. На что влияет флажок "Использовать при вставке" в диалоге вставки элемента управления?

  1. Редактор формы будет всегда использовать диалог вставки элемента управления при добавлении элемента управления на форму
  2. Редактор формы будет использовать диалог вставки элемента управления при добавлении данного типа элемента управления на форму
  3. Редактор формы будет использовать диалог вставки элемента управления только в следующий раз при добавлении любого элемента управления на форму
  4. Редактор формы будет использовать диалог вставки элемента управления только в следующий раз при добавлении данного типа элемента управления на форму

Правильный ответ второй. Выставим этот флажок для кнопки:

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

Если же флажок сброшен, то окно Вставка элемента управления не появляется, нужно сразу нарисовать кнопку:

Вопрос 03.54 экзамена 1С:Профессионал по платформе. Настройки редактора обычных форм определяются…

  1. Для всех форм в настройках параметров конфигуратора
  2. Только в настройках самой формы
  3. Общие в настройках конфигуратора и индивидуальные в настройке формы
  4. Платформой без возможности их изменений

Правильный ответ третий, разбор в тексте.

Вопрос 03.55 экзамена 1С:Профессионал по платформе. При добавлении элемента управления на произвольную обычную форму без реквизитов …

  1. Редактор форм сам создаст реквизит и при удалении элемента с формы удалит реквизит формы
  2. Редактор форм сам создаст реквизит и при удалении элемента с формы оставит реквизит формы
  3. Редактор форм предложит сначала создать реквизит, а потом позволит поместить элемент управления на форме
  4. Поведение зависит от настройки редактора форм

Правильный ответ первый.

Вопрос 03.56 экзамена 1С:Профессионал по платформе. Какие настройки можно определить у реквизита обычной формы

  1. "Имя"
  2. "Тип"
  3. "Проверка заполнения"
  4. Верны варианты 1 и 2
  5. Верны все варианты

Правильный ответ пятый, см. скрин в посте.

Вопрос 03.57 экзамена 1С:Профессионал по платформе. При удалении реквизита обычной формы …

  1. Редактор удалит связанный с реквизитом элемент управления
  2. Редактор удалит связанный с реквизитом элемент управления, но только если реквизит был создан редактором при добавлении элемента управления
  3. Элемент управления останется, но будет нарушена логическая целостность структуры
  4. Элемент управления останется, и связь с данными будет очищена
  5. Редактор не позволит удалить реквизит, если он связан с элементом управления

Правильный ответ четвертый, разбор в тескте.

Вопрос 03.58 экзамена 1С:Профессионал по платформе. Какие действия возможны в редакторе обычной формы?

  1. Набор действий определяется пунктом меню "Правка" в главном меню конфигуратора
  2. Набор действий определяется пунктом меню "Форма" в главном меню конфигуратора
  3. Набор действий определяется пунктом меню "Редактор форм" в главном меню конфигуратора
  4. Набор действий определяется контекстным меню на закладке "Диалог" редактора форм
  5. Верные варианты 2 и 4

Правильный ответ пятый.

Вопрос 03.59 экзамена 1С:Профессионал по платформе. В редакторе обычных форм диалог создается …

  1. Определением структуры размещения элементов
  2. Размещением элементов управления в диалоге формы
  3. Рисованием с использованием встроенного редактора картинок
  4. Верны варианты 1 и 2

Правильный ответ четвертый - определяем состав элементов и размещаем их на форме.

Вопрос 03.60 экзамена 1С:Профессионал по платформе. Редактор обычных форм может использоваться:

  1. Для создания основных форм
  2. Для создания дополнительных форм
  3. Только в режиме работы конфигуратора "Управляемое приложение и обычное приложение"
  4. Только при установке значения свойства конфигурации "Основной режим запуска" - Обычное приложение
  5. Верные варианты 1,2,3
  6. Верны все варианты

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