Как работают базовые механизмы платформы 1С:Предприятие 8 при подготовке к сертификации

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

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

Назначение и настройка свойства «Серии кодов» в справочниках

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

  1. Во всем справочнике — нумерация ведется сквозным образом для всех элементов, независимо от их расположения в группах или подчинения владельцам.
  2. В пределах подчинения — автонумерация ведется раздельно внутри каждой группы (папки) иерархического справочника. Например, внутри разных групп элементы могут начинаться с номера 1, не нарушая уникальность в пределах своего родителя.
  3. В пределах подчинения владельцу — актуально для подчиненных справочников (например, справочник договоров, подчиненный контрагентам). Нумерация ведется строго индивидуально для каждого элемента-владельца.

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

Где определяется структура и где хранятся учетные данные бизнес-приложения

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

  1. Структура бизнес-приложения (состав справочников, документов, регистров, их реквизитов и связей) определяется в конфигурации разработчиком с помощью дерева метаданных.
  2. Учетные данные (фактические записи пользователей, проводки, заполненные реквизиты документов) хранятся в информационной базе — в таблицах соответствующей СУБД или файловой базы 1Cv8.1CD.
  3. Пользовательская информация хранится и редактируется в объектах информационной базы, в то время как разработчик в конфигураторе оперирует объектами конфигурации (метаданными).

Механизм полнотекстового поиска и синтаксис поисковых запросов

Механизм полнотекстового поиска позволяет быстро выполнять поиск данных по строковым фрагментам во всех реквизитах прикладных объектов. Для его корректной работы недостаточно просто включить флаг полнотекстового поиска в свойствах объекта — необходимо построить и актуализировать полнотекстовый индекс.

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


// Первичное создание или полное обновление индекса
ПолнотекстовыйПоиск.ОбновитьИндекс(Истина);

// Фоновое обновление индекса по измененным данным
ПолнотекстовыйПоиск.ОбновитьИндекс();

Синтаксис поисковых выражений полнотекстового поиска включает специальные операторы:

  1. Поиск с учетом синонимов: используется оператор ! (восклицательный знак), например выражение !алый найдет также записи со словом «красный» (при настроенном словаре синонимов).
  2. Нечеткий поиск: строка обрамляется одинарными кавычками 'слово' или предваряется символом # для поиска с учетом опечаток и морфологии.
  3. Поиск по маске: используется символ * для подстановки произвольного количества знаков.

Флаг Полнотекстовый поиск при вводе по строке в справочниках переключает автоподбор при вводе текста с классического сканирования таблицы оператором ПОДОБНО на использование поискового индекса, что кардинально повышает скорость отклика в высоконагруженных базах.

Работа с макетами во внешних отчетах и обработках

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

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


// Способ 1: Внутри модуля объекта внешней обработки/отчета
Макет = ЭтотОбъект.ПолучитьМакет("ОсновнойМакет");

// Способ 2: На сервере в модуле формы внешней обработки
ОбъектОбработки = РеквизитФормыВЗначение("Объект");
Макет = ОбъектОбработки.ПолучитьМакет("ОсновнойМакет");

// Способ 3: Из внешней среды при программном открытии файла
ВнешнийОбъект = ВнешниеОбработки.Создать("C:\Обработки\Отчет.epf");
Макет = ВнешнийОбъект.ПолучитьМакет("ОсновнойМакет");

Организация отборов по табличным частям: обычные и управляемые формы

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

  1. В обычных формах: списки отображаются напрямую из таблиц базы данных без произвольных запросов. Для связи с табличными частями используется специальный объект метаданных Критерии отбора (раздел «Общие»). В его состав включаются реквизиты табличных частей с совпадающим ссылочным типом данных.
  2. В управляемых формах: списки строятся на основе ДинамическогоСписка. Для реализации сложных фильтров по табличным частям достаточно включить свойство «Произвольный запрос» и связать главную таблицу с табличной частью с помощью запроса языка 1С.

Разграничение прав и интерактивное удаление данных

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

  1. Интерактивное удаление — право, отвечающее за физическое стирание записи пользователем напрямую (комбинация Shift + Delete) без контроля ссылочной целостности. Для защиты базы от появления битых ссылок этот флаг в ролях всегда должен быть снят.
  2. Интерактивная пометка на удаление — стандартный пользовательский режим, при котором объект лишь помечается на удаление и физически удаляется администратором после проверки связей.
  3. Удаление — программное право, позволяющее коду встроенного языка вызывать метод Объект.Удалить().

Сетевые ключи защиты и лицензирование платформы

При развертывании клиент-серверной архитектуры важно учитывать принципы лицензирования 1С:Предприятия:

  1. Клиентские лицензии бывают как локальными (однопользовательскими), так и сетевыми (многопользовательскими на определенное количество рабочих мест), доступными по локальной сети через менеджер лицензий или сервер приложений.
  2. Серверные лицензии (на 32-разрядный или 64-разрядный сервер 1С:Предприятия) не бывают сетевыми. Каждая серверная лицензия привязывается локально к конкретному физическому серверу или виртуальной машине кластера.
← На главную