Урок по треку Разработка на 1С 6 мин

Платформа 1С и объекты конфигурации

Справочники, документы, перечисления, ПВХ, ссылки и объекты, модули, типы и коллекции.

1С:Предприятие 8.3 это платформа (среда исполнения и разработки) плюс конфигурация (прикладное решение). Разработчик описывает объекты конфигурации, а платформа сама создаёт таблицы в базе, формы по умолчанию и права. Собес обычно начинается с вопроса «какой объект выбрать для задачи».

Основные прикладные объекты

  • Константа: одно значение на всю базу (основная валюта, организация по умолчанию).
  • Справочник: списки условно-постоянной информации: номенклатура, контрагенты, склады. Есть код, наименование, реквизиты, табличные части. Бывает иерархическим и подчинённым другому справочнику (реквизит Владелец).
  • Документ: хозяйственное событие с датой и номером: поступление, реализация. Умеет проводиться, то есть делать движения по регистрам.
  • Перечисление: фиксированный набор значений, заданный разработчиком (статусы, виды операций). Пользователь не может добавить значение.
  • План видов характеристик: виды свойств с разными типами значений. На нём строят дополнительные реквизиты, которые пользователь заводит сам.
  • План счетов и план видов расчёта: основа для регистров бухгалтерии и расчёта.
  • Регистры: сведений, накопления, бухгалтерии, расчёта. Хранят данные для быстрых итогов и срезов.
  • Отчёты и обработки, бизнес-процессы и задачи, журналы документов, планы обмена.

Общие объекты: подсистемы, общие модули, роли, подписки на события, регламентные задания, функциональные опции, параметры сеанса, HTTP-сервисы.

Иерархия справочника

  • «Иерархия групп и элементов»: родителем может быть только группа.
  • «Иерархия элементов»: любой элемент может быть родителем.

Иерархия хранится в самом справочнике (поле Родитель), в запросах есть оператор В ИЕРАРХИИ.

Ссылки и объекты

Ссылочные объекты (справочники, документы, перечисления, ПВХ, планы счетов, бизнес-процессы, задачи, планы обмена) имеют уникальную ссылку. Записи регистров ссылок не имеют.

  • Ссылка (СправочникСсылка.Номенклатура) указывает на запись и подходит для чтения и хранения в реквизитах.
  • Объект (СправочникОбъект.Номенклатура) нужен для изменения: Ссылка.ПолучитьОбъект(), изменить, Записать(). В управляемом приложении объект доступен только на сервере.
  • Менеджер (Справочники.Номенклатура) создаёт, ищет и выбирает элементы.

Удаление: пометка удаления и обработка «Удаление помеченных объектов» с контролем ссылок. Непосредственное Удалить() оставляет битые ссылки.

Модули

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

Типы и коллекции

  • Примитивы: Число, Строка, Дата, Булево, Неопределено, Null, Тип.
  • Null приходит из базы (например, левое соединение без пары), Неопределено означает «нет значения» во встроенном языке.
  • Массив индексируется с нуля.
  • Структура: ключи только допустимые идентификаторы. Ключ "order-id" вызовет ошибку.
  • Соответствие: ключ любого типа, в том числе ссылка.
  • ТаблицаЗначений, СписокЗначений, ДеревоЗначений: таблица значений существует только на сервере.

Для текущей даты в прикладной логике используют ТекущаяДатаСеанса(): она не зависит от часов компьютера пользователя.

Частые ошибки

  • Хранить статусы в справочнике, когда их набор фиксирован (или наоборот).
  • Получать объект ради чтения одного поля.
  • Удалять объекты напрямую.
  • Использовать Структуру с ключами из внешних данных.

Что спросят на собесе

  • Чем справочник отличается от документа и регистра?
  • Когда нужен план видов характеристик?
  • Чем ссылка отличается от объекта?
  • Чем Null отличается от Неопределено?
  • Какие виды модулей бывают?

Закрепите за 5 минут

После урока в тренажёре 3-5 проверочных вопросов, дальше модуль уходит в повторения.