Создание запросов к базе 1С
Данные 1С хранятся в базе данных. Для работы с базами данных нужно иметь представление о том, что такое база данных. В самом простом понимании, базу данных можно представить в виде некого хранилища, в котором данные расположены в таблицах. Для получения данных из базы, используются специальные запросы.
Во встроенном языке программирования 1С, для работы с базой данных, предназначены специальные объекты. Для создания и выполнения запросов существует специальный объект встроенного языка Запрос.
Запрос — это программный объект, который позволяет работать с данными, хранящимися в базе данных.
В объекте Запрос, с помощью языка запросов, задается текст запроса. Язык запросов обладает определенным синтаксисом, поэтому для того чтобы писать запросы необходимо обладать определенными знаниями. Синтаксис языка запросов описан в «Справке». Данный раздел открывается в Конфигураторе в главном меню: Справка->Содержание справки->Встроенный язык->Работа с запросами.
Пример запроса 1С
Ниже представлен пример запроса данных из справочника «Номенклатура». Для облегчения работы с запросами, в 1С реализован специальный инструмент «Конструктор запроса» и «Конструктор запроса с обработкой результата». Данный инструмент облегчает процесс написания запросов. Конструктор запроса открывается через пункт контекстного меню (открывается правой кнопкой мыши).
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Номенклатура.Код,
| Номенклатура.Наименование,
| Номенклатура.Артикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Наименование = &Наименование";
Запрос.УстановитьПараметр("Наименование", "Открытка");
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
КонецЦикла;
Комментарии (0)
| О сайте | Обратная связь | Правила | Новости 1С | Copyright © 2023 Цитирование материалов (тексты, изображения, программный код) допускается только с размещением активной ссылки на сайт 1CLenta.ru |
Элементы формы
Элементы формы предназначены для отображения и редактирования данных в форме. Также как и сама форма, элементы связаны с данными при помощи реквизитов формы:
Поведение элементов, определяемое данными
Благодаря этой связи у пользователя появляется возможность изменять данные, описанные в реквизитах формы. Кроме этого, связь элементов управления с данными определяет и поведение самих элементов управления.
Например, если элемент поле ввода, связать с данными, имеющими тип Строка, то оно будет иметь следующий вид:

Если же поле ввода связать с данными, имеющими тип Дата, то внешний вид поля ввода изменится: появятся символы разделителей даты и дополнительная кнопка выбора:

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

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

Элементы, ориентированные на бизнес-задачи
Поля ввода
Элементы, используемые в формах 1С:Предприятия, ориентированы на выполнение бизнес-задач. Например, поле ввода может иметь ряд дополнительных кнопок: выбора из списка, выбора, очистки, регулирования и открытия. Кроме этого, у поля ввода существует режим автоотметки незаполненного (подчеркивание красным пунктиром), который позволяет выделять поля, обязательные для заполнения пользователем:

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

Например, для поля ввода, содержащего число, нажатие на кнопку выбора будет приводить к открытию калькулятора:

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

Начиная с версии 8.3.23 поле ввода может отображать и редактировать множественные значения

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

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

Автоматическое изменение расположения и размеров элементов формы при изменении размеров окна
В платформе 1С:Предприятия 8 реализован механизм автоматического изменения расположения и размеров элементов, который обеспечивает автоматическое выравнивание всех элементов управления, поддерживает разделители внутри окна и тем самым позволяет при разработке формы для объекта не заботиться о том, как она будет отображаться при изменениях размеров окон.
Формы
Формы в 1С:Предприятии предназначены для отображения и редактирования информации, содержащейся в базе данных. Формы могут принадлежать конкретным объектам конфигурации или существовать отдельно от них и использоваться всем прикладным решением в целом.
Например, справочник Номенклатура может иметь несколько форм, которые будут использоваться для определенных целей — редактирования элемента справочника, отображения списка и т. д.:

Наряду с этим, могут существовать общие формы, не принадлежащие конкретным объектам конфигурации — общие формы.

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

А у документа Поступление товаров и услуг состав основных форм будет уже другим:

Таким образом, если пользователь захочет посмотреть список справочника Номенклатура или список документов Поступление товаров и услуг, система откроет соответствующую форму, назначенную в качестве формы списка для этих объектов.
Автогенерируемые формы
Важной особенностью системы 1С:Предприятие 8 является механизм автогенерируемых форм. Этот механизм освобождает разработчика от необходимости создания всех возможных форм для каждого из объектов конфигурации. Разработчику достаточно добавить новый объект конфигурации, а система сама сгенерирует в нужные моменты работы пользователя необходимые формы для отображения информации, содержащейся в этом объекте.
Таким образом, разработчику нужно создавать собственные формы объектов прикладного решения лишь в том случае, если они должны иметь отличия (другой дизайн или специфическое поведение) от форм, автоматически генерируемых системой.
Связь формы с данными
Принадлежность формы тому или иному объекту конфигурации не определяет состав данных, которые отображаются в форме. То, что форма принадлежит, например, справочнику Номенклатура, позволяет назначить ее одной из основных форм для этого справочника, но никак не определяет, какие же именно данные будет отображать эта форма, и каково будет ее поведение.
Для того чтобы связать форму с данными, используются реквизиты формы, в которых указывается перечень данных, отображаемых формой. Все формы, сами по себе, имеют одинаковое поведение, независимо от того, какие данные они отображают. Однако один из реквизитов формы может быть назначен для нее основным (он выделяется жирным шрифтом), и в этом случае стандартное поведение формы и ее свойства будут дополнены в зависимости от того, какой тип имеет основной реквизит формы:

Например, если в качестве основного реквизита формы будет назначен документ Поступление товаров и услуг, то при закрытии формы система будет запрашивать подтверждение записи и проведения этого документа. Если же основным реквизитом формы назначить, скажем, справочник Номенклатура, то подобного запроса подтверждения при закрытии формы возникать не будет.
Структура формы
Основная особенность форм заключается в том, что они не нарисованы разработчиком детально, «по пикселям». Форма в конфигурации представляет собой логическое описание состава формы. А конкретное размещение элементов выполняется системой автоматически при отображении формы.
Отображаемая часть формы (видимая пользователю) описывается как дерево, включающее элементы формы.

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

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

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

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

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

Механика работы форм
Функционирование управляемых форм имеет следующие отличительные особенности:
- Форма существует и на клиенте и на сервере
Она осуществляет клиент-серверное взаимодействие (передачу данных и оформительских свойств элементов) - Форма не работает с прикладными объектами
В форме используются специальные универсальные объекты ДанныеФормы… Прикладные объекты работают только на сервере и только во время выполнения некоторых операций

При открытии формы:
- Объект считывается из базы данных
- Объект конвертируется в данные формы
- Объект удаляется из памяти
- Данные формы передаются на клиента
При записи данных из формы:
- Данные формы получаются с клиента
- Данные формы конвертируются в объект
- Объект записывается в базу данных
- Объект удаляется из памяти

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

Авторы: В.А. Ажеронок, А.В. Островерх, М.Г. Радченко, Е.Ю. Хрусталева
Конструктор формы
Конструктор формы объекта конфигурации служит для создания различных форм, которые будут использованы системой или разработчиком при отображении данных этого объекта.
Конструктор вызывается системой автоматически при создании новой формы (например, при создании новой формы справочника в окне редактирования справочника):

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

Разработчик может сразу использовать созданную конструктором форму без каких-либо доработок, или же внести в эту форму дополнительные изменения, необходимые в конкретном прикладном решении:
