Решение задач 1С:Предприятие 8 на примерах

Конфигуратор 1С для программиста: как зайти, полезные функции и горячие клавиши

АлгоритмыОпубликовано

Конфигуратор — основная среда разработки на 1С:Предприятии 8.3: в нём правят модули, формы и метаданные, запускают отладку и обновляют базу. В статье показано, как зайти в конфигуратор 1С, что находится в дереве конфигурации, как пользоваться синтаксис-помощником, поиском, конструктором запросов и проверкой кода, как сохранять конфигурацию в файлы cf и dt и какие горячие клавиши действительно экономят время.

Задача: освоить рабочее место программиста 1С

Любая доработка в 1С — от новой кнопки до отчёта — начинается в конфигураторе. Если вы приступаете к первой задаче или хотите ускорить работу, полезно знать, как в него попасть, как устроен интерфейс и какие команды стоит выучить в первую очередь. Ниже — практический обзор без лишних подробностей.

Как зайти в конфигуратор 1С

  1. Запустите 1С:Предприятие 8.3 обычным ярлыком. Откроется окно запуска со списком информационных баз.
  2. Выберите базу и нажмите Конфигуратор. Кнопка «1С:Предприятие» запускает пользовательский режим, а «Конфигуратор» — режим разработки.
  3. Если в базе заданы пользователи, введите имя и пароль. Для входа нужны права администратора.

Если базы нет в списке, добавьте её кнопкой «Добавить» (файловая база — по каталогу, клиент-серверная — по имени сервера и базы). Режим запуска можно задать и из командной строки, это удобно для ярлыков и скриптов:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F "D:\Bases\Dev" /N "Админ" /P "пароль"

Для клиент-серверной базы вместо /F указывают /S "сервер\имя_базы". Обновление конфигурации базы данных требует монопольного доступа, поэтому перед ним закройте остальные сеансы.

Дерево конфигурации и модули

Окно «Конфигурация» показывает дерево объектов метаданных: общие объекты (общие модули, роли, подсистемы), константы, справочники, документы, регистры, отчёты, обработки. Если окно закрыто, откройте его командой «Конфигурация — Открыть конфигурацию» или сочетанием Ctrl+Shift+C.

Код программиста лежит в модулях, которых несколько видов:

  • Модуль объекта — обработчики событий справочника, документа и других объектов: ПередЗаписью, ОбработкаПроведения.
  • Модуль менеджера — функции, относящиеся ко всему виду объектов; вызываются как Справочники.Номенклатура.ИмяФункции().
  • Модуль формы — код формы с директивами &НаКлиенте и &НаСервере.
  • Общий модуль — библиотека процедур и функций с флагами «Клиент», «Сервер», «Вызов сервера», «Привилегированный».
  • Модуль управляемого приложения и модуль сеанса — события запуска и параметры сеанса.

Часть модулей открывается по двойному щелчку на объекте и выбору «Модуль объекта» в контекстном меню. Структуру открытого модуля удобно просматривать списком процедур и функций (Ctrl+Alt+P).

Синтаксис-помощник

Встроенная справка по языку и объектам вызывается из меню «Справка — Синтаксис-помощник» или клавишами Ctrl+Shift+F1. В нём описаны методы, свойства и конструкторы, указаны допустимые значения параметров и сказано, где метод доступен (клиент, сервер, внешнее соединение). Сочетание Ctrl+F1 переносит в поле поиска по индексу. Пользуйтесь им вместо догадок: именно тут указано, в какой версии платформы появился метод и есть ли он в тонком клиенте.

Поиск и замена в коде

В открытом модуле поиск вызывает Ctrl+F, следующее вхождение — F3, замену — Ctrl+H. Чтобы найти текст по всей конфигурации, используют глобальный поиск по текстам (Ctrl+Shift+F): результаты показываются в окне сообщений, по ним можно переходить клавишей F8. Так ищут все вызовы процедуры, использование регистра или вызовы устаревшей функции. Замена по всей конфигурации доступна в том же окне поиска, но выполняйте её на копии базы, а не вслепую.

В тексте модуля переход к определению процедуры или переменной выполняется клавишей F12. Контекстная подсказка — Ctrl+Пробел: после точки показывает свойства и методы объекта.

Конструктор запросов

Чтобы не писать длинный текст запроса вручную, вызовите конструктор. Поставьте курсор внутрь пустых кавычек строки (Запрос.Текст = "";), нажмите правую кнопку мыши и выберите «Конструктор запроса». В конструкторе:

  • на закладке «Таблицы» выбирают источники и поля;
  • «Связи» задают условия соединения таблиц;
  • «Группировка», «Условия», «Порядок», «Итоги» отвечают за соответствующие части запроса;
  • «Объединения/Псевдонимы» позволяют добавлять объединения и переименовывать поля;
  • кнопка «Запрос» показывает полученный текст, который можно править вручную.

Когда нажимаете «ОК», текст подставляется в код. Если курсор стоит внутри уже написанного запроса, конструктор откроет его для редактирования. Что делать с самим запросом дальше — в статье про запросы в 1С.

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

Самый быстрый способ — синтаксический контроль текущего модуля клавишами Ctrl+F7 (команда есть и в меню редактора модуля). Для всей конфигурации используют «Конфигурация — Проверка конфигурации». В диалоге доступны отдельные проверки, из которых стоит включать:

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

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

1cv8.exe DESIGNER /F "D:\Bases\Dev" /N "Админ" /CheckConfig -ConfigLogIntegrity -IncorrectReferences -ThinClient -Server -ExtendedModulesCheck /Out "D:\check.log"

Хорошая практика — запускать расширенную проверку перед каждой передачей изменений, а в крупных проектах добавлять её в автоматическую сборку.

Сохранение и загрузка: файлы cf и dt

В конфигураторе есть два разных вида выгрузки, и путать их нельзя:

ФорматЧто содержитГде находится командаКогда использовать
cfТолько конфигурацию: метаданные, модули, формы«Конфигурация — Сохранить конфигурацию в файл» и «Загрузить конфигурацию из файла»Передача версии разработки, резервная копия кода
dtВсю информационную базу с данными«Администрирование — Выгрузить информационную базу» и «Загрузить информационную базу»Перенос базы, копия для тестирования
cfeРасширение конфигурацииОкно «Расширения конфигурации»Подробно — в статье про расширения конфигурации

Те же операции доступны из командной строки: /DumpCfg и /LoadCfg для cf, /DumpIB и /RestoreIB для dt. Загрузка dt полностью заменяет данные базы, поэтому перед ней делают копию. Если база не открывается из-за повреждения, для ситуации подойдёт статья про повреждённый файл 1Cv8.1CD.

Основная конфигурация и конфигурация базы данных

В конфигураторе одновременно существуют две конфигурации: основная, которую вы редактируете в окне «Конфигурация», и конфигурация базы данных, по которой реально работает база. Изменения становятся видны пользователям только после обновления конфигурации базы данных — клавиша F7 или «Конфигурация — Конфигурация базы данных — Обновить конфигурацию базы данных». Для запуска отладки без явного обновления нажмите F5: конфигуратор предложит обновить базу сам.

Сравнение и объединение конфигураций

При ручных обновлениях и переносе доработок используют команды сравнения и объединения в меню «Конфигурация»: можно сравнить текущую конфигурацию с файлом, с конфигурацией поставщика или базы данных. Окно сравнения показывает дерево отличий, а для каждого объекта задаётся направление: взять из основной или из сравниваемой конфигурации. Объединение вносит выбранные изменения. Для типовых конфигураций на поддержке перед любым объединением включите возможность изменения: «Конфигурация — Поддержка — Настройка поддержки».

Горячие клавиши, которые стоит выучить

СочетаниеДействие
Ctrl+F7Синтаксический контроль модуля
F12Перейти к объявлению процедуры или переменной
Ctrl+ПробелКонтекстная подсказка
Ctrl+Shift+FГлобальный поиск по текстам конфигурации
Ctrl+Alt+PСписок процедур и функций модуля
Ctrl+GПерейти к строке модуля
F5 / Ctrl+F5Запуск с отладкой / без отладки
F9Установить или снять точку останова
F7Обновить конфигурацию базы данных
Ctrl+Shift+F1Синтаксис-помощник

Типичные ошибки

  • Правка типовой конфигурации без настройки поддержки: конфигуратор не даёт изменить объект или ломает последующее обновление; для доработок удобнее расширение.
  • Забытое обновление конфигурации базы данных: код правили, но пользователи видят старое поведение.
  • Загрузка dt в рабочую базу без копии: данные заменяются целиком.
  • Проверка только текущего модуля без запуска проверки конфигурации: ошибки вызовов между модулями остаются незамеченными.
  • Глобальная замена по всей конфигурации без предварительного поиска и просмотра результатов.

Актуальность для новых версий

Описанные возможности конфигуратора есть во всех версиях платформы 8.3, включая 8.3.2x. Внешний вид окон и точные названия пунктов меню могут немного отличаться между релизами. Параметры командной строки проверки конфигурации (/CheckConfig) расширялись от версии к версии: если ключ не распознаётся, сверьтесь со справкой «Запуск 1С:Предприятия» вашей платформы. Для работы в режиме конфигуратора у пользователя должны быть права администратора.

Частые вопросы

Как зайти в конфигуратор 1С?

Запустите 1С, выберите базу в списке и нажмите кнопку «Конфигуратор» вместо «1С:Предприятие». Если кнопка не нажимается или конфигуратор не пускает, у пользователя нет прав администратора. Из командной строки запуск выполняется командой 1cv8.exe DESIGNER с указанием базы.

Чем cf отличается от dt?

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

Как проверить код 1С на ошибки?

Сочетание Ctrl+F7 запускает синтаксический контроль текущего модуля, а команда «Конфигурация — Проверка конфигурации» проверяет все модули и ссылки сразу. Флажки расширенной проверки находят вызовы несуществующих методов и неиспользуемые процедуры.

Как открыть конструктор запроса в 1С?

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

Регистры в 1С: виды регистров и движения документа по регистру накопления

Алгоритмы

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

Расширение конфигурации 1С: создание, установка и перехват методов

Алгоритмы

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

Запись в регистр сведений 1С программно: менеджер записи, набор записей и удаление

Алгоритмы

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

Таблица значений в 1С: создание, поиск строк, передача в запрос и на форму

Алгоритмы

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