Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МетодичкаПрактикум

.pdf
Скачиваний:
26
Добавлен:
20.03.2015
Размер:
1.3 Mб
Скачать

Перейдем на закладку Настройки и создадим стандартные настройки, определяющие, как будет выводиться информация в отчет. Иерархическая структура отчета может содержать в различных сочетаниях три основных элемента: 1. Группировка - для вывода информации в виде обычного линейного отчета. 2. Таблица - для вывода информации в виде таблицы. 3. Диаграмма - для вывода информации в виде диаграммы.

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

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

Вструктуре отчета появится группировка Детальные записи. На закладке Выбранные поля перенесем мышью из списка доступных полей те поля, которые будут выводиться в отчет: Документ, Склад, Мастер, Клиент..

Определим, в каких подсистемах будет отображаться наш отчет. Закроем конструктор и в окне редактирования объекта конфигурации Отчет РеестрДокументовОказаниеУспуги перейдем на закладку Подсистемы.

Отметим в списке подсистему Оказание услуг. Таким образом, ссылка на наш отчет автоматически попадет в панель действий этой подсистемы.

Запустим режим»«1С:Предприятие»« В открывшемся окне 1С:Предприятия мы видим, что в панели действий раздела Оказание услуг в группе команд для выполнения отчетов появилась команда для формирования отчета Реестр документов оказание услуги.

Причем если подвести к ней мышь, то появится всплывающая подсказка

Список оказанных услуг, которая определяется свойством Расширенное представление, заданное нами для отчета. Выполним эту команду.

Перед нами откроется форма отчета, автоматически сформированная системой. Мы видим, что отчет содержит реестр документов Оказание услуги

(см. рис. 5.1).

Рис. 5.1.Вид реестра документов Оказание услуги

80

PDF created with pdfFactory Pro trial version www.pdffactory.com

Причем двойным щелчком мыши на поле Документ мы можем открыть исходный документ, а также выполнить другие действия «расшифровки», которые предоставляет нам система компоновки данных.

Таким образом, на примере этого отчета мы продемонстрировали, как использовать конструктор схемы компоновки данных, и познакомились с некоторыми основными конструкциями языка запросов.

5.2. Лабораторная работа №10. Выбор данных из двух таблиц. Создание отчета Рейтинг услуг.

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

Добавим новый объект конфигурации Отчет. Назовем его

РейтингУслуготкроем схему компоновки данных и запустим конструктор схемы компоновки данных. Добавим новый Набор данных - запрос и вызовем конструктор запроса.

Запрос для набора данных. Левое соединение двух таблиц.

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

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

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

Номенклатура.

Но нам нужно снять флажок Все у таблицы ПродажиОбороты и установить его у таблицы СпрНоменклатура.

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

Номенклатура.

Таким образом, в результате запроса будут присутствовать все услуги, и для некоторых из них будут указаны обороты выручки. Для тех услуг, которые не производились в выбранном периоде, не будет указано ничего.

Условие отбора записей

Перейдем на закладку Условия и установим отбор, чтобы группы справочника Номенклатура не попадали в отчет.

81

PDF created with pdfFactory Pro trial version www.pdffactory.com

Для этого раскроем таблицу спрНоменклатура, перетащим мышью поле ЭтоГруппа в список условий, установим флажок Произвольное и напишем в поле Условие следующий текст спрНоменклатураЭтоГруппа = ЛОЖЬ

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

Вторым условием должно быть то, что выбранный элемент является услугой. Это - Простое условие. Чтобы его создать, перетащим мышью поле

ВидНоменклатуры в список условий.

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

ВидНоменклатуры значение перечисления - Услуга.

Перейдем на закладку Объединения/Псевдонимы и укажем, что представление элемента справочника (поле Ссылка) будет иметь псевдоним Услуга, а поле регистра будет иметь псевдоним Выручка.

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

В нашем отчете мы хотим видеть итоговые значения выручки для каждой услуги. Для этого нам нужно определить поля ресурсов отчета.

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

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

5.3. Параметры

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

Параметры отчета задают условия отбора записей в отчет. В схеме компоновки данных параметры отчета задаются на закладке Параметры

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

Все дело в том, что система компоновки данных самостоятельно анализирует текст запроса и помимо тех параметров, которые указаны в нем в явном виде (ВидНоменклатуры), предоставляет возможность настроить также и параметры виртуальных таблиц, которые участвуют в запросе.

Такими параметрами являются НачалоПериода и КонецПериода. Это первые два параметра виртуальной таблицы РегистрНакопления.Продажи. Обороты, которую мы использовали в запросе, в левом соединении.

82

PDF created with pdfFactory Pro trial version www.pdffactory.com

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

Допустим, заранее известно, что пользователя не будут интересовать результаты работы отчета в периодах, указанных с точностью до секунды. В этом случае следует учесть две особенности.

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

Для этого мы изменим существующее описание типа для параметра

НачалоПериода.

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

Затем нажмем кнопку выбора и в нижней части окна редактирования типа данных установим Состав даты в значение Дата. Нажмем ОК.

Вторая особенность заключается в том, что по умолчанию время в дате установлено 00:00:00. Поэтому если пользователь задаст период отчета с 01.07.2012 по 14.07.2129, итоги регистра будут рассчитаны с начала дня

01.07.2012 00:00:00 по начало дня 14.07.2012 00:00:00. Таким образом, данные за 14-е число, отличные от начала дня, в расчет не войдут, что сильно удивит пользователя.

Для того чтобы исключить эту ситуацию, мы добавим еще один параметр, в который пользователь будет вводить дату окончания. А значение параметра КонецПериода будем рассчитывать автоматически таким образом, чтобы оно указывало на конец дня даты, введенной пользователем.

Поэтому для параметра КонецПериода установим флажок Ограничение доступности. Если этот флажок не установлен, то параметр будет доступен для настройки пользователем. Если же установить этот флажок, то пользователь не увидит этот параметр.

Затем с помощью кнопки Добавить в командной панели добавим новый параметр с именем ДатаОкончания. Для этого параметра платформа автоматически сформирует заголовок - Дата окончания. Оставим его без изменений.

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

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

83

PDF created with pdfFactory Pro trial version www.pdffactory.com

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

Внем есть функция КонецПериода(), которая позволяет получить дату, соответствующую концу какого-либо периода, например, указанного дня.

Вячейке Выражение зададим для параметра КонецПериода следующее выражение (листинг 5.1).

Листинг 5.1. Выражение для расчета значения параметра «КонецПериода».

КонецПериода(&ДатаОкончания,”День”)

В результате перечисленных действий параметры компоновки будут иметь следующий вид (рис. 5.2).

Рис. 5.2. Параметры системы компоновки.

И в заключение настроим параметр ВидНоменклатуры.

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

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

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

Настройки

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

На закладке Выбранные поля укажем поля Услуга и Выручка. Затем перейдем на закладку Другие настройки и зададим заголовок отчета - Рейтинг

услуг.

84

PDF created with pdfFactory Pro trial version www.pdffactory.com

5.4. Быстрые пользовательские настройки

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

На закладке Параметры мы видим параметры, для которых мы сняли флажок Ограничение доступности.

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

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

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

В заключение определим, в каких подсистемах будет отображаться наш отчет. Закроем конструктор схемы компоновки данных и в окне редактирования объекта конфигурации Отчет РейтингУслуг перейдем на закладку Подсистемы. Отметим в списке подсистем конфигурации подсистемы Оказание услуг и Бухгалтерия.

Таким образом, ссылка на наш отчет автоматически попадет в панель действий этих подсистем

Запустим режим 1С:Предприятие. В открывшемся окне 1С:Предприятия мы видим, что в панели действий разделов Оказание услуг и Бухгалтерия в группе команд для выполнения отчетов появилась команда для формирования

отчета Рейтинг услуг Выполним эту команду.

Перед нами откроется форма отчета, автоматически сформированная системой. Нажмем кнопку Сформировать. Заметьте, что вверху окна результата отчета выводится заданный нами заголовок и параметры, определяющие отчетный период.

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

85

PDF created with pdfFactory Pro trial version www.pdffactory.com

Контрольные вопросы

1.Как система «1С:Предприятие» выполняет обращение к ссылочным данным.

2.Почему для доступа к массивам данных информационной базы предпочтительнее использовать запросы.

3.Что такое момент времени.

4.Чем отличается оперативное проведение документов от неоперативного.

5.Что такое оперативная отметка времени.

6.Как запросом получить остатки регистра накопления.

7.На что следует обращать внимание при задании параметров виртуальных таблиц запросов.

8.Почему при неоперативном проведении документов не нужно контролировать остатки.

9.Что такое временные таблицы и зачем их использовать.

10.Что такое менеджер запросов.

11.Как и зачем можно использовать временные таблицы в параметрах виртуальных таблиц.

12.Как программно блокировать данные.

13.Как посмотреть в отладчике результат запроса.

86

PDF created with pdfFactory Pro trial version www.pdffactory.com

6. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

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

ПРАКТИЧЕСКИЕ ЗАДАНИЯ

1.Требуется разработать автоматизированную систему по кадровому учету на предприятии. Функции отдела кадров: Прием на работу новых сотрудников, Увольнение сотрудников, Кадровое перемещение, Воинский учет, Оформление отпусков, Оформление больничных листов, Ведение штатного расписания, Отчетность.

2.Требуется создать простую учетную систему для магазина с доставкой на дом. Система должна учитывать остатки товаров, оформлять заказы от клиентов и формировать путевые листы для курьеров.

3.Требуется создать простейшую систему учета семейных доходов и расходов. Система должна показывать текущий остаток в кошельке у каждого члена семьи и общие семейные накопления. Система должна давать возможность узнать доходы и расходы семьи за заданный период с группировкой по участникам или по статьям доходов и расходов.

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

5.Требуется создать простейшую информационно-справочную систему для трудоустройства. Система должна хранить список работодателей и соискателей. У каждого работодателя может быть несколько вакансий. У каждого соискателя может быть несколько резюме. Система должна позволять работодателям подбирать сотрудников, а соискателям помогать находить место работы

6.Требуется создать простейшую почтовую систему для локальной сети предприятия. Система должна позволять отправлять письма и должен быть общий чат. У каждого пользователя может быть черный список его недругов, от которых он не желает получать письма. Нужно иметь возможность прицеплять к письму различные объекты базы 1С:Предприятие, например, накладные и пр.

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

8.Требуется разработать автоматизированную систему начисление заработной платы на предприятии.

9.Требуется разработать автоматизированную систему по продаже билетов на железнодорожный транспорт.

10.Требуется разработать автоматизированную систему для кассы кинотеатра.

11.Требуется разработать автоматизированную систему Работа склада предприятия.

87

PDF created with pdfFactory Pro trial version www.pdffactory.com

12.Разработать программный модуль «Учет успеваемости студентов». Программный модуль предназначен для получения сведений о студентах, оперативного учета успеваемости студентов в сессию сотрудниками деканата. Сведения об успеваемости студентов должны использоваться при составлении справок о прослушанных курсах и приложений к диплому.

13.Разработать программный модуль «Автосервис». При записи на обслуживание заполняется заявка, в которой указываются ФИО владельца, марка автомобиля, вид работы, дата приема заказа и стоимость ремонта. После выполнения работ распечатывается квитанция.

14.Разработать программный модуль «Кафедра», содержащий сведения о сотрудниках кафедры (ФИО, должность, ученая степень, дисциплины, нагрузка, общественная работа, совместительство и др.). Модуль предназначен для использования сотрудниками отдела кадров и деканата.

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

16.Разработать программный модуль «Учет нарушений правил дорожного движения». Для каждой автомашины (и ее владельца) в базе хранится список нарушений. Для каждого нарушения фиксируется дата, время, вид нарушения и размер штрафа. При оплате всех штрафов машина удаляется из базы.

17.Разработать программный модуль «Картотека абонентов АТС». Картотека содержит сведения о телефонах и их владельцах. Фиксирует задолженности по оплате (абонентской и повременной). Считается, что повременная оплата местных телефонных разговоров уже введена.

18.Разработать программный модуль «Авиакасса», содержащий сведения о наличии свободных мест на авиамаршруты. В базе должны содержаться сведения о номере рейса, экипаже, типе самолета, дате и времени вылета, а также стоимости авиабилетов (разного класса). При поступлении заявки на билеты программа производит поиск подходящего рейса.

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

20.Разработать программный модуль «Автостоянка». В программе содержится информация о марке автомобиля, его владельце, дате и времени въезда, стоимости стоянки, скидках, задолженности по оплате и др.

88

PDF created with pdfFactory Pro trial version www.pdffactory.com

Список литературы.

Основная

1.Габец А. П. Реализация прикладных задач в системе «1С:Предприятие» 8.2» / А. П. Габец, Д. В. Козырев, Д. С. Кухлевский, Е. Ю. Хрусталева – М. : 1С-Паблишинг 2010. - 720 c.

2.Радченко М. Г. 1С.Предприятие 8.2. Практическое пособие разработчика. Примеры и типовые приемы / М. Г. Радченко, Е. Ю. Хрусталева. -М. : 1С-Паблишинг, 2009. – 874 с.

3.Габец А.П. «1С:Предприятие» 8.1. Простые примеры разработки / Габец А.П., Гончаров Д.И. ; под редакцией М.Г. Радченко. М : Совместное издание 1С-Паблишинг и ИД "Питер", 2008. – 383с.

4.Кашаев С. Программирование в «1С:Предприятие» 8.2 /Кашаев С. ;

Спб. : Питер, 2011. - 272 с.

5.Радченко, Е.Ю. Архитектура и работа с данными «1С:Предприятия 8.2» / Радченко, Е.Ю., Хрусталева Е. Ю. ; М : 1С-Паблишин, 2011. – 268с.

Дополнительная

6.Брукс Ф. Мифический человеко-месяц или как создаются программные системы : "Символ-Плюс", 2001. -304 с.

7.Котин М. 1C: Предприятие 8.2. Управление небольшой фирмой / Котин М.; Спб. : Питер, 2011. – 320с.

8.Кашаев С. «1С:Предприятие»8.2. Программирование и визуальная разработка на примерах / Кашаев С. ; Спб. : BHV, 2011. - 320 с.

89

PDF created with pdfFactory Pro trial version www.pdffactory.com