Вы находитесь на странице: 1из 9

Часть 2.

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

д) Вызываем конструктор запросов.


Далее следует оценить, какие данные необходимо использовать для построения запроса. В
задании сказано, что нужно анализировать табличную часть документа, так как здесь есть все
необходимые нам данные: товар, количество, сумма. Но не хватает клиента.
• В окне База данных развернуть документ РеализацияТоваровИУслуг.
Выбрать табличную часть Товары двойным кликом мыши (или кнопкой со
стрелочкой >), чтобы она оказалась во втором окне Таблицы.
• В области Таблицы развернуть выбранную часть таблицы базы данных. Затем
выбрать поля: Товар, Количество и Сумма. Обратите внимание, каким образом
выглядят выбранные элементы в области Поля.

Где взять клиента? Чтобы получить данное поле, мы будем использовать такое свойство
запроса как Разыменование.
• Среди полей табличной части есть ССЫЛКА на документ. Ее следует
развернуть.

Все поля развернутой ССЫЛКИ, по сути, и есть все реквизиты документа.


• Выбрать двойным щелчком мыши поле Клиент.
Еще раз... Если нужно получить данные и из табличной части, и из самого
документа, тогда в качестве таблицы выбирается самый нижний уровень (в
нашем случае, это табличная часть Товары), а затем через ССЫЛКУ получаем
реквизиты верхнего уровня.
• Перейти на закладку Объединения/Псевдонимы. Все имена полей нормально
читаются, никакой замены не требуется. ОК. Вернулись к схеме компоновки
данных.
• Перейти на закладку Настройки. Кнопка Открыть конструктор настроек

. Далее выбрать тип отчета Список. Далее.


• Выбрать все доступные поля. Разместить в следующей последовательности:
Клиент, Товар, Количество, Сумма. Далее.

• Группировать по полю Клиент. ОК.


• Запустить пользовательский режим. Сформировать отчет (подсистема Продажи
- Отчеты. Сформировать).
Внимание! Сделать скриншот вашего экрана с результатом сформированного отчета.
Разместить его в документе Word. Сохранить.
е) Открыть список документов Реализация товаров и услуг. Не открывая документ
нажать F9. Создастся копия документа. Провести скопированный документ и
закрыть.
ж) Вернуться к отчету и переформировать его.
Внимание! Сделать скриншот вашего экрана с результатом сформированного отчета.
Разместить его в документе Word. Сохранить.

Обратите внимание, что в последнем созданном отчете информация по Номенклатуре


дублируется. Сгруппируем ее и получим сумму по группируемым элементам.
з) Вернуться в конфигуратор. На закладке Настройки открыть конструктор настроек

. ОК. Далее. Далее. Перейти по закладкам до выбора полей


группировок. Добить еще одну вложенную группировку: Товар. ОК.
и) Запустить пользовательский режим. Сформировать отчет.
Внимание! Сделать скриншот вашего экрана с результатом сформированного отчета.
Разместить его в документе Word. Сохранить.

Количество и сумма теперь выводятся отдельно по каждой номенклатуре и по каждой


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

. Определив ресурсы, программа отреагировала изменением


настроек. Обратите внимание! Сейчас ресурсы визуально отличаются от обычных
полей по соответствующей пиктограмме (зеленая метка). Проверить, уровни
группировки. ОК.

Поля
группировки
Ресурсы

м) Запустить пользовательский режим. Сформировать отчет.


Внимание! Сделать скриншот вашего экрана с результатом сформированного отчета.
Разместить его в документе Word. Сохранить.
н) Зайти в документы Реализация товаров и услуг. Скопировать любой документ.
Выбрать другого покупателя (создать нового покупателя Новый покупатель).
Провести документ. Сформировать отчет.
Внимание! Сделать скриншот вашего экрана с результатом сформированного отчета.
Разместить его в документе Word. Сохранить.

Параметры схемы компоновки данных.


3. Задача: Отчет, который был создан, должен выводиться за заданный
пользователем период. Решение задачи с помощью введения условий в запросе.
а) В режиме конфигуратора открыть схему компоновки данных для Отчета
продажи товаров по документам.
б) Открыть Конструктор запросов. Закладка Условия.
• Развернуть структуру в области Поля. Нас интересует ограничение по
периоду, но в данном случае среди полей нет свойства Дата.
• Развернуть поле Ссылка. Открывается список всех полей документа, среди
которых есть Дата. Выбрать поле Дата двойным кликом мыши.
• Выбрать вместо знака = вариант МЕЖДУ. Задаем НачалоПериода и
КонецПериода (это параметры, которые будет устанавливать пользователь).

• Установить условие, чтобы данные собирались не из всех документов, а


только из проведенных. Для этого…
1) Выбрать из списка полей (слева) свойство Проведен.

Этот реквизит относится к списку стандартных, также, как и ССЫЛКА, т.е. он создается
платформой автоматически и по умолчанию есть у всех документов.
В этом реквизите хранится информация о том, является ли документ проведенным. Если да,
то значение свойства равно ИСТИНА. Если документ НЕ проведен, то значение свойства
равно ЛОЖЬ. Соответственно, чтобы решить задачу нудно наложить условие на это свойство.

Если оставить так как предлагает система, то при запуске отчета, чтобы условие корректно
работало, пользователю необходимо будет задавать параметр Проведен, который может
иметь 2 значения: Истина или Ложь.
В данном случае нужно выбрать данные из проведенных документов, и не стоит докучать
лишними вопросами пользователя, чтобы он при формировании отчета постоянно делал
выбор этого параметра.
2) Установить флажок в колонке с название П (произвольное
условие).
Обратите внимание! Если установлен флажок Произвольное условие (П), то происходит
переход на ручной ввод условий. Табличный вид записи условия переводится в текстовый.

Свойство документа Проведен сравнивается посредством операции равенства с параметром


Проведен. Но параметр начинается с символа &(Амперсанд). Все параметры в тексте запроса
всегда задаются в помощью амперсанда.
Если редактируем условие запроса в обычной простой форме без флажка П, тогда параметры
представлены просто как Проведен. Или как видим выше, Начало периода и Конец периода.
3) Прописываем условие 2м способом.
1й способ: можно сравнить значение свойства со значением Истина.
2й способ: удалить все операции сравнения и указать такое условие, где просто записано имя
стандартного реквизита.

Это означает, что если документ является проведенным (свойство Истина), то данные попадут
в отчет. Если документ не проведен, то свойство имеет значение Ложь (данные этого
документа в отчет не будут включены). ОК.
в) Обратить внимание на код запроса. На рисунке выделены параметры, которые
будет задавать пользователь.

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

д) Закладка Настройки. Необходимо указать для установленных параметров значения


по умолчанию: Начало этого месяца (для начала периода); Начало следующего
месяца (для конца периода).
е) Запустить пользовательский режим. Сформировать отчет.
Внимание! Сделать скриншот вашего экрана с результатом сформированного отчета.
Разместить его в документе Word. Сохранить.
ж) В одном из документов изменить дату (поставить предыдущий месяц). Провести
документ. Сформировать отчет.
Внимание! Сделать скриншот вашего экрана с результатом сформированного отчета.
Разместить его в документе Word. Сохранить.
з) Программа формирует отчет за месяц. Нужно, чтобы пользователь мог
самостоятельно устанавливать период. Для этого…
• Кнопка Ещё. Изменить вариант. (Открывается пользовательский вариант
формирования запроса отчета).
• В открывшемся окне изменить параметры отбора, показывать данные за
предыдущий месяц. Сформировать отчет.
Внимание! Сделать скриншот вашего экрана с результатом сформированного отчета.
Разместить его в документе Word. Сохранить.
4. Задача. Период должен изменяться непосредственно на форме отчета.
а) Зайти в отчет в режиме конфигурации.
б) Выделить параметр Начало периода, зайти в Свойства элемента пользовательских
настроек (либо кнопка на панели инструментов справа, либо контекстное меню для
параметра). Включить флажок Включать в пользовательские настройки.

в) Аналогично для параметра Конец периода.


г) Запустить пользовательский режим. Сформировать отчет за последние 10 дней.
Период установить, используя соответствующие поля в отчете.
Внимание! Если визуально не произошло никаких изменений, следует вернуться в
конфигурацию и принудительно ее обновить, т.е. что-либо изменить. Например, вызвать
свойства для корневого узла МебельДомТорг. Поставить в конце Имени пробел. Появляется
звездочка рядом со словом Конфигурация* (в названии дерева конфигурации), это означает,
что в базе были изменения. Удалить пробел. Запустить систему в режиме 1С: Предприятия.
Иногда приходится принудительно обновлять систему, так как работая с запросами, она не
всегда корректно отрабатывает систему пользовательских настроек (разработчики решают
данную проблему, в вашей версии может быть уже все работает качественно и не понадобится
подобная манипуляция с системой).
Внимание! Сделать скриншот вашего экрана с результатом сформированного отчета.
Разместить его в документе Word. Сохранить.
5. Задача. Необходимо формировать отчет в конце рабочего дня. Программа
формирует отчет не корректно, так как дата Конца периода устанавливается на 00 часов.
Т.е. мы должны устанавливать дату следующего дня, чтобы вывести текущий отчет, иначе
данные текущего дня не будут включены в отчет. Нужно выводить отчет в конце рабочего
дня не манипулируя датами.
а) В режиме конфигуратора продолжаем работать с отчетом с основной схемой
компоновки данных. Закладка Параметры.
б) Для параметра НачалоПериода в поле Тип выполнить двойной щелчок мышью.

Появится кнопки выбора . Нажать на кнопку


. В открывшемся Окне Редактирование типа данных
для выбранного типа Дата внизу окна установить Состав
даты Дата (без времени). Ок.
в) Тоже самое проделать для параметра КонецПериода.

г) Чтобы привести конец периода принудительно к концу дня, необходимо


воспользоваться полем Выражение. Пишется выражение на языке компоновки
данных (еще один язык, который поддерживает приложение).
• Воспользуемся встроенной справкой: Меню Справка - Содержание
справки.
• Выбрать пункт Система компоновки данных – Язык выражений
системы компоновки данных. – Функции языка выражений системы
компоновки данных. – Конец периода.
Внимание! Сделать скриншот вашего экрана. Разместить его в документе Word.
Сохранить.
• Запишем выражение на этом языке:
КонецПериода(&КонецПериода, "День")

д) Запустить пользовательский режим. Сформировать отчет за последнюю неделю.


Обратить внимание, дата должна устанавливаться без времени. (Если изменений
нет, то принудительно обновить систему, см.п.4г. Затем снова сформировать отчет.)
Внимание! Сделать скриншот вашего экрана с результатом сформированного отчета.
Разместить его в документе Word. Сохранить.
Самостоятельная работа
Самостоятельная работа выполняется в информационной базе КанцОптТорг.
Создайте отчет «Закупки товаров».
Отчет должен выводить информацию о количестве и сумме закупки в разрезе номенклатуры
и ответственного за закупку.
Пользователь должен иметь возможность задавать период формирования отчета.

Создать документ со скринами экранов, которые на ваш взгляд наиболее удачно


показывают результат вашей работы. Разместить их в документе Word. Сохранить.
Отчет о проделанной работе разместить в системе moodle.