Проектирование информационной системы складского учета с использованием платформы 1С Предприяти

28



Проектирование информационной системы складского учета с использованием платформы «1С:Предприятие 8.1»



Лабораторная работа № 1

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



В системе «1С:Предприятие 8.1» можно выделить две ключевые составляющие:

- технологическую платформу;

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

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

В технологической платформе выделяются две составляющие:

- среда выполнения (режим работы  1С:Предприятие)

- среда разработки (конфигуратор).

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

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

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

- города

- фирмы

-товары

- единицы измерения

- филиалы

- менеджеры.



Технология выполнения работы



1. Создание новой информационной базы.

Запустить «1С:Предприятие 8.1». В стартовом окне нажать на кнопку «Добавить» - в диалоге: Создание новой информационной базы – Создание информационной базы без конфигурации… - наименование информационной базы «Учебный склад».

С помощью кнопки «Конфигуратор» перейти в режим разработки объектов конфигурации. Выбрать пункты меню «Конфигурация» - «Открыть конфигурацию».



2. Создание справочника «Города».

Правой кнопкой мыши выделить элемент конфигурации «Справочник» - «Добавить». Откроется окно редактирования объекта конфигурации. Заполнить поля «Имя» - «Города», «Синоним» - «Города».

Заполнение справочника произвести следующим образом. Пункт меню «Отладка» - «Начать отладку». Система перейдет в режим 1С:Предприятие. Пункт меню «Справочники» - «Города» (ввести три города, например, Калининград, Гусев, Советск).



3. Создание справочника «Фирмы».

Перейти в конфигуратор. Аналогично создать справочник «Фирмы» (имя и синоним). Далее в окне свойств справочника перейти на вкладку «Данные» и добавить реквизит «Город». Установить свойства реквизита, как показано на рисунке 1 (тип данных – СправочникСсылка.Города).







Рисунок 1 – вкладка «Данные» окна редактирования справочника «Фирмы».



Далее необходимо создать табличную часть справочника (см. рисунок 1):

- сотрудник (строка длиной 50 символов)

- должность (строка длиной 25 симоволов)

- телефон (строка длиной 25 симоволов).



На следующей вкладке «Формы» установим переключатель «Редактирование» - «Обоими способами). Это позволит использовать в дальнейшем две формы справочника – форму списка и форму элемента справочника.



Для заполнения справочника используем меню «Отладка» - «Перезапустить». Принимаем изменения, переходим в режим 1С:Предприятие, заполняем данные для трех фирм (показаны на рисунке 2, для фирм «Лик-НН» и «Локо» ввести данные о сотрудниках произвольно).











Рисунок 2 – Данные для заполнения справочника «Фирмы».



4. Создание справочника «Единицы измерения».



Создать самостоятельно. Данные для заполнения – на рисунке 3.





Рисунок 3 – Данные для заполнения справочника «Единицы измерения»



5. Создание справочника «Товары».

Создание аналогично созданию справочника «Фирмы». Основные элементы – код, наименование. 

Реквизиты:

- ЦенаПоступления (тип данных - число)

- ЦенаПродажи (тип данных – число)

- Единица измерения (тип данных – справочник СправочникСсылка.ЕдиницыИзмерения). Окно редактирования справочника товары указано на рисунке 4.





Рисунок 4 – Окно редактирования справочника «Товары».



Далее необходимо перейти на вкладку «Иерархия» и поставить флажок «Иерархический справочник».

Перейти на вкладку «Формы». Выбрать значок лупы напротив поля «Основные формы» - «Списка». Перейти в окно конструктора формы справочника.  Нажать кнопку «Далее», в следующем окне необходимо включить все только что введенные реквизиты в создаваемую форму справочника (установив соответствующие флажки). Далее, щелкнув на кнопке «Готово» можно увидеть заготовка формы списка справочника «Товары».



Далее необходимо заполнить созданных справочник в режиме 1С:Предприятие следующими данными (рисунок 5).





Рисунок 5 – Данные справочника «Товары»



Отредактируем печатную форму справочника «Товары». В режиме конфигуратора откроем свойства справочника «Товары», перейдем на вкладку «Макеты». Нажмем кнопку «Конструкторы» - «Конструктор печати». В диалоге конструктора установим реквизиты шапки (Наименование, ЦенаПоступления, ЦенаПродажи, ЕдиницаИзмерения) – далее – создать новую процедуру – в модуле формы – имя процедуры «Печать». 

Проанализируем программную процедуру Печать() (рисунок 6), которая автоматически была сгенерирована по результатам работы Конструктора. Для этого необходимо открыть свойства справочника «Товары» - вкладка «Формы» - «Форма списка» - вкладка «Модуль» (снизу).







Рисунок 6 – Процедура печати справочника «Товары».



После этого необходимо перейти в режим работы 1С:Предприятие, открыть форму списка справочника «Товары»  и нажать на кнопку «Печать».



6. Самостоятельное внесение изменений в печатную форму справочника «Товары»



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

Для этого откроем окно свойств справочника «Товары» - вкладка «Формы» - двойной щелчок на объекте «Форма списка».  Выбрать пункт меню «Форма» - «Вставить элемент управления» - «Поле ввода».  Для имени поля ввода (свойство надписи) установить заголовок «Значение цены поступления». 

Для имени поля установить имя ЦенаПоступления, Данные – выбрать из списка «Элементы формы – текущие данные – ЦенаПоступления» (смотри рисунок 7).







Рисунок 7 – Добавление поля ввода в справочник «Товары»



Далее необходимо перейти на вкладку «Модуль» и внести изменения в существующий листинг в соответствии с листингом, приведенным ниже. 





Процедура Печать(Элемент)

	//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

	// Данный фрагмент построен конструктором.

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

	ТабДок = Новый ТабличныйДокумент;

	Макет = Справочники.Товары.ПолучитьМакет("Печать");

	// Заголовок

	Область = Макет.ПолучитьОбласть("Заголовок");

	ТабДок.Вывести(Область);

	// Шапка

	Область = Макет.ПолучитьОбласть("Шапка");

	ТабДок.Вывести(Область);

	Если ((ЭлементыФормы.ЦенаПоступления.Значение)>0) Тогда

		Запрос=Новый Запрос;

		Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,ЕдиницаИзмерения  ИЗ Справочник.Товары ГДЕ ЦенаПоступления < &Значение";

		Запрос.УстановитьПараметр("Значение",  ЭлементыФормы.ЦенаПоступления.Значение);

		Выборка=Запрос.Выполнить().Выбрать();

	Иначе

		Выборка=Справочники.Товары.Выбрать();

		КонецЕсли;

		

	

	Элемент = Макет.ПолучитьОбласть("Элемент");

	Пока Выборка.Следующий() Цикл

					Элемент.Параметры.Заполнить(Выборка);

			ТабДок.Вывести(Элемент);

		КонецЦикла;



	ТабДок.ОтображатьСетку = Ложь;

	ТабДок.Защита = Ложь;

	ТабДок.ТолькоПросмотр = Ложь;

	ТабДок.ОтображатьЗаголовки = Ложь;

	ТабДок.Показать();

	//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры



После этого по пункту меню Отладка – Продолжить перейти в режим 1С:Предприятие и запустить справочник «Товары» с соответствующими значениями цены в текстовом поле на печать.

Самостоятельно изменить форму и листинг для установки минимального значения цены поступления.



7. Создание справочников «Филиалы» и «Менеджеры»



Создать два простых справочника (код и наименование). В системе будут три филиала: Заречный, Окский и Ярмарочный и три менеджера: Александров, Вилков и Москвина.





Лабораторная работа № 2



Создание документов и отчетов в системе



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

Документ всегда привязан к конкретному моменту времени. В любом документе всегда автоматически создаются два реквизита:

- дата;

- номер.

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

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



Технология выполнения работы



1. Создание документа «Поступление товаров»

В окне «Конфигурация» щелкнуть правой кнопкой мыши на пиктограмме «Документы». Ввести имя «ПоступлениеТоваров» на вкладке «Основные». На вкладке «Данные» в области шапки разместить реквизит «Фирма» (тип данных СправочникСсылка.Фирмы) и реквизит «Филиал» (тип данных – СправочникСсылка.Филиалы).

Табличная часть будет называться «ПереченьТоваров» и содержать следующие реквизиты: 

- Товар (СправочникСсылка.Товары);

- ЕдиницаИзмерения (СправочникСсылка.ЕдиницыИзмерения);

- Цена (число);

- Количество (число);

- Сумма (число).

На рисунке 8 отражена вкладка «Данные» документа «ПоступлениеТоваров».











	Рисунок 8 - вкладка «Данные» документа «ПоступлениеТоваров».



Далее выберем вкладку Формы. Для начала необходимо щелкнуть на изображение лупы в группе «Основные формы» напротив надписи «Документа». Далее будет запущен конструктор формы документа. Необходимо установить режим «Выберите тип формы – Форма документа», кнопка «Далее» - все остальное по умолчанию.

После этого необходимо перейти в режим 1С:Предприятие и заполнить   документ по созданному шаблону. Данные для заполнения – Фирма «Лик-НН», филиал «Заречный», товар «Комплект 301-7», ед. изм – шт, цена 3000, количество 3, сумма 9000. Большим недостатком документа является необходимость ручного заполнения полей «ЕдиницаИзмерения» и «Цена», а также отсутствие автоматического расчета суммы.



2. Автоматизация работы с формой документа «ПоступлениеТоваров»

2.1 Автоматическое заполнение полей «ЕдиницаИзмерения» и «Цена».

В окне редактирования формы документа (вкладка «Формы» - «ФормаДокумента») необходимо двойным щелчком на поле «Товар» открыть окно его свойств. В нижней части окна напротив имени события «ПриИзменении» следует щелкнуть на пиктограмму «лупа» и перейти в процедуру, в которую занести следующий текст (рисунок 9)









	Рисунок 9 – текст процедуры для поля «Товар»



После этого перейти в режим «1С:Предприятие» и создать еще один документ с произвольным содержимым. Убедиться, что цена и единица измерения заполняются автоматически.

Аналогично двойным щелчком на поле «Количество» открыть окно его свойств, напротив имени события «ПриИзменении» щелкнуть на лупу, ввести следующую процедуру (рисунок 10).





Рисунок 10 – текст процедуры для поля «Количество»



3. Разработка отчета по поступлениям

В окне «Конфигурация» щелкнуть правой кнопкой мыши на объекте «Отчеты». Имя – ОтчетПоПоступлениям. В окне свойств перейти на вкладку «Макеты». В окне конструктора макета установить опцию «Табличный документ». После этого открывается редактор табличного документа. Для вывода в табличный документ строк в макетах предусмотрен механизм секций. В нашем случае создаются три секции – заголовок, шапка, строка.

Для создания секции «Заголовок» необходимо выделить мышью названия заголовков первых трех строк. После этого в меню «Таблица» выбрать пункт «Имена» - «Назначить имя». Введем «Заголовок». Во вторую ячейку второй строки введем текст «Отчет по поступлениям». Оформим шрифт – размер 16, жирный.

Выделим четвертую строку и аналогично создадим секцию «Шапка». Введем в ячейки надписи «Товар» и «Количество». Шрифт – 14, жирный. Увеличим ширину столбцов. С использованием окна свойств ячейки (правая кнопка мыши) установим границы ячеек.

Аналогично создадим секцию «Строка». Внесем надписи «Товар» и «Количество». В окне свойств ячейки в разделе «Заполнение» установим значение «Параметр». Сделаем обводку ячеек.

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







	Рисунок 11 – Макет отчета по поступлениям.



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

Для создания своей формы отчета перейдем на вкладку «Формы».  Щелчком на лупе напротив надписи «Основная форма отчета» перейдем в конструктор формы отчета, проверим установки (тип формы – форма отчета) и нажмем на кнопку «Готово». Появится экранная форма отчета в режиме конфигуратора (рисунок 12)





	Рисунок 12 – форма отчета в режиме конфигуратора



Перейдем на вкладку «Модуль» в нижней части окна и введем текст программы (листинг – рисунок 13).







Рисунок 13 – листинг программы формирования отчета



После этого перейти в режим 1С:Предприятие и посмотреть результат (рисунок 14).





Рисунок 14 – отчет по поступлениям товаров.



4. Разработка документа «Продажа товаров»

Для фиксации факта продажи товаров необходимо разработать документ «ПродажаТоваров». В области реквизитов документа добавим:

- Фирма (тип данных – СправочникСсылка.Фирмы)

- Филиал (СправочникСсылка.Филиалы);

- Менеджер (СправоникСсылка.Менеджеры).

Табличная часть документа называется «ПереченьТоваров» и включает следующие реквизиты:

- Товар (СправочникСсылка.Товары);

- Цена (число);

- Количество (число);

- ЕдиницаИзмерения (СправочникСсылка.ЕдиницыИзмерения);

- Сумма (число).

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

В режиме 1С:Предприятие реализовать продажу товара «Комплект 301-7» в количестве 2 шт менеджером Орловой. Фирма «Дана», филиал «Заречный».



Лабораторная работа № 3



Регистры накопления





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

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

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

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



Технология выполнения работы



Создадим регистр накопления «Количество товаров»

В конфигураторе щелкнуть правой кнопкой мыши на пиктограмме Регистры накопления, создать.  В окне свойств во вкладке «Данные» создать   измерения:

- Товар (СправочникСсылка.Товары);

- Филиал (СправочникСсылка. Филиалы).

Также необходимо создать один ресурс - Количество (число).

Далее необходимо привязать документы к регистру. Для этого перейти к документу «Поступление товаров», в окне свойств перейти на вкладку «Движения», нажать на кнопку «Конструктор движений». Заполнить появившееся окно в соответствии с рисунком 15.





Рисунок 15 – конструктор движения регистров документа «ПоступлениеТоваров»



После этого нажать на ОК и ознакомиться с листингом программного кода.

Далее перейти в режим «1С:Предприятие» и создать новый документ «Поступление товаров», содержащий следующую информацию:

- фирма «Локо»;

- филиал «Заречный»;

- Товары:

Блок АС (Локо) – количество 5

Комплект 301-7 – количество 3.

После этого перейти в пункт меню «Регистры накопления», посмотреть результат.

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

Теперь необходимо перейти в режим «1С:Предприятие» и создать документ «ПродажаТоваров», содержащий следующую информацию:

Фирма «Дана», филиал «Заречный», менеджер «Орлова».

Товар – комплект 301-7 – количество 1 шт. 

Проверить изменения в регистре накопления.

Ввести еще 5-10  документов произвольного содержания по покупке и продаже товаров.



2. Построение отчета о наличии товаров

В окне конфигуратора щелкнем правой кнопкой на объекте «Отчеты», создадим новый отчет «ИнформацияОТоварах». После этого перейдем на вкладку «Макеты» и с помощью кнопки «Конструкторы» - «Конструктор выходной формы» перейдем в соответствующее окно. Заполним его, как показано на рисунке 16.







Рисунок 16 – окно конструктора выходной формы.



После этого перейдем на вкладку «Отчет» в этом же окне и уберем флажок «Использовать построитель отчета». Все остальные настройки – по умолчанию. При нажатии на ОК перейдем в макет отчета, отредактируем шрифт и рамки.

Перейдем в режим 1С:Предприятие и откроем соответствующий отчет.



3. Документы перемещения товаров и оборотный регистр накопления.

Ситуация, когда  некоторые товары перемещаются на выставку, а затем возвращаются назад – типична. Разумеется в отчете «Информация о товарах» они должны быть учтены. Для реализации данной функциональности необходимо создать два документа «ПеремещениеНаВыставку» и «ПеремещениеСВыставки».

Создадим в конфигураторе эти два документа с одинаковыми реквизитами (рисунок 17).





Рисунок 17 – вкладка данные документа «ПеремещениеНаВыставку»



Далее для документа «ПеремещениеНаВыставку» с помощью конструктора движений необходимо сгенерировать следующий программный код (рисунок 18):







Рисунок 18 – процедура обработки проведении документа «ПеремещениеНаВыставку»



Аналогично сгенерировать программный код для документа «ПеремещениеСВыставки» (рисунок 19).



Рисунок 19 – программный код движения документа «ПеремещениеСВыставки»



После этого запустить режим «1С:Предприятие», ввести произвольно два документа по выставке, проверить регистр накопления.



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



4. Создание оборотного регистра накопления ПродажиПоФилиалам.



Для учета продаж по филиалам создадим оборотный регистр накопления – имя «ПродажиПоФилиалам». На вкладке «Основные» установим вид регистра – обороты.

На вкладке «Данные» следует ввести два измерения:

- Филиал (СправочникСсылка. Филиалы);

- Менеджер (СправочникСсылка.Менеджеры)

В качестве ресурса укажем – Сумма (число).

Далее перейдем к свойствам документа «ПродажаТоваров». Откорректируем вкладку «Движения» (смотри рисунок 20). При запуске конструктора движений следует согласиться с тем, что процедура «ОбработкаПроведения» будет замещена. Для того в окно конструктора движений в список регистров необходимо добавить еще один – «ПродажиПоФилиалам» и заполнить табличную часть (рисунок 21).

После этого необходимо перейти в режим «1С:Предприятие», сформировать несколько документов по продажам (по смыслу). Проверить содержимое регистра «ПродажиПоФилиалам», сформировать отчеты «Информация о товарах» и «Отчет по поступлениям». Объяснить результаты.







Рисунок 20 – Вкладка «Движения» документа «ПродажаТоваров»





Рисунок 21 – Изменения в конструкторе движения регистров документа «ПродажаТоваров»



Лабораторная работа № 4



Извлечение информации из информационной системы с помощью запросов



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



1. Конструкция запроса ВЫБРАТЬ и ИЗ

Составим запрос – список сотрудников фирм-партнеров с указанием телефона.

В конфигураторе создадим новую обработку (объект конфигурации «Обработка», имя – «ИзвлечениеИнформации»). В окне свойств перейдем на вкладку «Формы» - создать» - «Назначить форму основной» - «Готово».

Далее в окне формы необходимо разместить элемент управления – поле списка (пункт меню «Форма» - «Вставить элемент управления»). Имя элемента – «СписокОтобранныхДанных» (рисунок 4.1). 







Рисунок 4.1 – Форма обработки «ИзвлечениеИнформации»



Далее перейти на вкладку «Модуль», ввести следующий листинг (рисунок 4.2):











Рисунок 4.2 – Листинг обработки



Затем перейти в режим 1С:Предприятие и выполнить обработку.



Использование логических операторов в запросе

В конструкции ГДЕ разрешается использовать логические операторы (И, ИЛИ, НЕ), с помощью которых можно сформировать достаточно сложные логические выражения.

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

Для этого необходимо создать еще одну обработку ЛогическоеИзвлечение, процедура создания аналогична пункту 1. Для кнопки «Выполнить» листинг программного кода приведен на рисунке 4.3.





Рисунок 4.3 Листинг программы с использованием логических операторов



Затем перейти в режим 1С:Предприятие и выполнить обработку.



3. Использование агрегатных функций в запросе



Агрегатные функции позволяют получать разнообразную сводную информацию. Например, по информации из документов «ПоступленияТоваров» может оказаться полезным получение ответов на следующие вопросы:

- Какова сумма поступлений в разрезе товаров?

- Каково среднее количество поступлений каждого товара? и т.д.

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

В таблице 4.1 приведены агрегатные функции системы.



Таблица 4.1 – Агрегатные функции



Название

Коментарий

СУММА

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

МАКСИМУМ

Находит наибольшее значение в указанном столбце

МИНИМУМ

Находит наименьшее значение в указанном столбце

СРЕДНЕЕ

Вычисляет среднее арифметическое по столбцу

КОЛИЧЕСТВО

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



Для выполнения запроса по нахождению агрегатных значений по каждому товару необходимо создать новую обработку «ИзвлечениеВТаблицу». На вкладке «Макеты» окна свойств объекта необходимо разработать следующий вид табличного документа (рисунок 4.4). Действия по созданию макета аналогичны предыдущим заданиям.







Рисунок 4.4 Макет табличного документа



На рисунке 4.5 приведен листинг, который необходимо ввести на закладке «Модуль» окна «Форма».





Рисунок 4.6 – Листинг программы



Затем перейти в режим 1С:Предприятие и выполнить обработку.



4. Расчет итогов в запросах

Предложение ИТОГИ позволяет определить, расчет каких итогов необходимо выполнить в запросе. Описание итогов начинается с ключевого слова ИТОГИ. Другое ключевое слово ОБЩИЕ означает, что необходимо сформировать итоговую строку по всему результату запроса. Помимо общих итогов, можно задать расчет итогов по контрольным точкам. Для этого после обязательного ключевого слова ПО необходимо указать список контрольных точек.

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

Процедура обработки приведена на рисунке. 4.7, результаты выполнения запроса – на рисунке 4.8 (запуск обработки в  режиме «1С:Предприятие»).





Рисунок 4.7 – Листинг программного кода







Рисунок 4.8 – Результат выполнения обработки в режиме «1С:Предприятие»



Добавим в обработку ПолучитьИтоги макет для вывода результата запроса в табличную форму. Макет табличного документа приведен на рисунке 4.9, листинг программного кода – на рисунке 4.10.







Рисунок 4.9 – Макет табличного документа











Рисунок 4.10 – Листинг программного кода







Лабораторная работа № 5



Отчеты и система компоновки данных



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

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

Основные особенности системы компоновки данных:

- создание отчета без программирования:

- использование автоматически генерируемых форм просмотра и настройки отчета;

- возможность настройки структуры отчета;

- совмещение в отчете нескольких таблиц;

- создание вложенных отчетов.



1. Создание отчета по остаткам товаров



Необходимо построить отчет, включающий в себя информацию о количестве товаров на филиалах.

Создадим новый объект в конфигураторе – ОтчетОстатки1. В окне свойств во вкладке «Основные» нажмем кнопку «Открыть схему компоновки данных». В результате откроется окно конструктора макета с установками по умолчанию. Нажмем «Готово», далее открывается окно конструктора схемы компоновки данных. С помощью кнопки «Добавить набор данных» выберем вариант – «Добавить набор данных –запрос». Далее нажмем кнопку «Конструктор запроса» В результате появится окно конструктора запроса, которое необходимо заполнить, как показано на рисунке 5.1







	Рисунок 5.1 – Отбор полей для запроса по остаткам товаров



При нажатии на ОК снова перейдем в окно схемы компоновки данных, где заполнение полей на вкладке «Наборы данных» уже произведено автоматически. В этом окне перейдем на вкладку «Настройки», щелкнем правой кнопкой мыши на элементе «Отчет», выберем команду «Новая группировка».  Раздел «Поле» оставляем пустым, раздел «Тип» - без иерархии. Нажимаем ОК, оформляем отчет, вкладку «Настройки», как показано на рисунке 5.2. Анализируем сформированный программный код.

После этого переходим в режим "1С:Предприятие" и запускаем созданный отчет.



































Рисунок 5.2 – Схема компоновки данных – вкладка «Настройки»



2. Отчет по документам «Поступление товаров»



Необходимо просмотреть список документов по поступлениям товаров. Создадим отчет «Поступления товаров», аналогично предыдущему отчету. Последовательно откроем схему компоновки данных, добавим набор данных – запрос. Перейдем к окну конструктора запроса, оформим, как показано на рисунке 5.3.





Рисунок 5.3 – Окно конструктора запроса



Далее на вкладке «Порядок» установим сортировку по дате по убыванию (рисунок 5.4), затем вновь перейдем в схему компоновки данных на вкладку «Настройки», создадим новую группировку, перенесем необходимые поля (Дата, Номер, Филиал, Фирма) в категорию «Выбранные поля». Проанализируем программный код.

Перейдем в режим "1С:Предприятие" , сформируем созданный отчет.



Рисунок 5.4 – Установка порядка вывода записей в отчете.



3. Создание отчета по работе филиалов

Отчет формирует информацию об уровне реализации товаров по филиалам в указываемом пользователем временном периоде.

Создадим новый отчет «ОтчетПоФилиалам». Аналогично перейдем в схему компоновки данных, в окне конструктора запросов выберем две таблицы:

- объектную таблицу справочника «Филиалы»;

- виртуальную таблицу ПродажиПоФилиалам.Обороты (из регистров накопления).

Теперь из данных таблиц в раздел «Поля» перенесем два поля:

- Филиалы.Ссылка

- ПродажиПоФилиалам.Обороты.СуммаОборот.

В отличие от первых отчетов, в данном отчете используются две таблицы, которые необходимо связать. Для этого на вкладке «Связи» необходимо установить флажки, как показано на рисунке 5.5.







Рисунок 5.5 – вкладка «Связи.



Далее перейдем на вкладку «Объединения/Псевдонимы», где установим вместо имени поля «Ссылка» псевдоним «НашФилиал». На вкладке «Порядок» установим сортировку по значению поля «СуммаОборот» в порядке убывания. Нажмем ОК и проанализируем программный код.

Далее в окне схемы компоновки данных необходимо перейти на вкладку «Ресурсы» и включить список ресурсов поле «СуммаОборот».

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





Рисунок 5.6 – Редактирование типа данных «НачалоПериода» и «КонецПериода»



Далее необходимо перейти на вкладку «Настройки» и установим выбранные поля «СуммаОборот» и «НашФилиал».

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



4. Создание отчета «Работа менеджеров»

Данный отчет предполагает сравнительный анализ работы менеджеров в виде диаграммы.

В запросе будут использоваться данные из двух таблиц – справочника «Менеджеры» и виртуальной таблицы «ПродажиПоФилиалам.Обороты».

Создадим новый отчет «ОтчетПоМенеджерам». Добавим набор данных – запрос, выберем две таблицы в конструкторе запроса: «Менеджеры» и «ПродажиПоФилиалам.Обороты», установим все в соответствии с рисунком 5.7.

После этого перейдем на вкладку «Связи», установим флажок «Все» только для таблицы «Менеджеры». Далее перейдем на вкладку «Объединения/Псевдонимы», оформим все в соответствии с рисунком 5.8. После этого включим упорядочение результатов запроса по фамилиям менеджеров по возрастанию. ОК. Проанализируем полученный текст программы. 

Далее перейдем на вкладку «Ресурсы» и выберем ресурс «СуммаПродаж».

После этого перейдем на вкладку «Настройки»  и установим все в соответствии с рисунком 5.9.



Рисунок 5.7 – Выбор таблиц и полей в конструкторе запроса





Рисунок 5.8 – Вкладка «Объединения/Псевдонимы







Рисунок 5.9 – Вкладка «Настройки»

После этого необходимо перейти в режим "1С:Предприятие" , указать требуемый интервал дат и построить диаграмму.