Файл: Знакомство с платформой 1С: Предприятие 8.3.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 866

Скачиваний: 13

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

Рис. 199. Отчет по взаиморасчетам с контрагентами с итоговой суммой

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

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

Рис. 200. Формирование пользовательских настроек

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

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

Для определения даты в отчете следует воспользоваться параметром «Период» (рис 201).

Рис. 201. Вкладка Параметры окна конструктора схемы компоновки данных

Этот параметр автоматически добавляется в схему компоновки данных в связи с тем, что при построении запроса производится обращение к виртуальной таблице. Осталось включить параметр «Период» в пользовательские настройки (рис. 202) и получить планируемый отчет (рис. 203).


Рис. 202. Включение параметра Период в пользовательские настройки

Рис. 203. Отчет с указанием даты формирования остатков

Итоги

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

Глава 5 Примеры прикладных решений

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

Учет оплаты учебных курсов

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

Создание справочников

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

Начнём с создания справочника «Клиенты» и «Преподаватели», в них не будет никаких дополнительных реквизитов. Заполненные справочники в режиме 1С: Предприятие показан на рис. 204-205.

Рис. 204. Справочник «Клиенты»

Рис. 205. Справочник «Преподаватели»

Создадим ещё один справочник – «Курсы». Здесь добавим реквизит «Стоимость» (тип данных - число). Итог работы в режиме 1С: Предприятие показан на рис. 206.

Рис. 207. Справочник «Курсы»

Регистрация внесения денежных средств

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

  • Учащийся (тип данных – СправочникСсылка.Клиенты)
  • Курс (тип данных – СправочникСсылка.Курсы)
  • Преподаватель (тип данных – СправочникСсылка.Преподаватели)
  • Сумма (тип данных - число)

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

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

  • Клиент (тип данных – СправочникСсылка.Клиенты)
  • Курс (тип данных – СправочникСсылка.Курсы)

В качестве единственного ресурса укажем ресурс ВнесеннаяСумма.

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

Рис. 208. Окно конструктора движений

Текст процедуры сформированный конструктором движения приведён в листинге 5.1.

Листинг 5.1. Процедура обработки проведения документа Оплата

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

Движения.Оплаты.Записывать = Истина;

Для Каждого ТекСтрокаПереченьОплат Из ПереченьОплат Цикл

Движение = Движения.Оплаты.Добавить();

Движение.Период = Дата;

Движение.Клиент = ТекСтрокаПереченьОплат.Учащийся;

Движение.Курс = ТекСтрокаПереченьОплат.Курс;

Движение.ВнесеннаяСумма = ТекСтрокаПереченьОплат.Сумма;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

Теперь перейдем в режим 1С:Предприятие и введем несколько документов по внесению оплаты за курсы (один из вариантов показан на рис. 209).

Рис. 209. Вариант документа учёта внесения денежных средств

Отчёт по курсам

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

В режиме конфигуратора создадим новый отчет («Отчет5_1»), после чего в окне конструктора запросов выберем виртуальную таблицу регистра накопления Оплаты.Обороты. При помощи уже знакомой кнопки «Параметры виртуальной таблицы». В открывшемся окне в списке «Периодичность» выбрать вариант «Месяц». После щелчка на кнопке «OK» в число полей таблицы будет добавлено поле «Период».


Теперь во вкладке «Объединения/Псевдонимы» следует задать для поля «ВнесеннаяСуммаОборот» псевдоним «Сумма». Далее на вкладке Группировка укажем три групповых поля и одно суммируемое поле (рис. 210).

Рис. 210. Вкладка схемы компоновки данных для группировки полей

После выполненных действий перейдём на вкладку «Порядок» и зададим упорядочивание в запросе по полю «Период» в порядке убывания. На этом работа с конструктором запроса завершается. Теперь следует щелкнуть на кнопке OK, чтобы получить текст запроса (листинг 5.2).

Листинг 5.2. Текст запроса для извлечения информации об оплате за курсы

ВЫБРАТЬ

ОплатыОбороты.Курс,

ОплатыОбороты.Клиент,

СУММА(ОплатыОбороты.ВнесеннаяСуммаОборот) КАК Сумма,

ОплатыОбороты.Период КАК Период

ИЗ

РегистрНакопления.Оплаты.Обороты(, , Месяц, ) КАК ОплатыОбороты

СГРУППИРОВАТЬ ПО

ОплатыОбороты.Клиент,

ОплатыОбороты.Курс,

ОплатыОбороты.Период

УПОРЯДОЧИТЬ ПО

Период УБЫВ

РегистрНакопления.Оплаты.Обороты(, , Месяц, ) КАК ОплатыОбороты, здесь отображается то, что в качестве периодичности мы указали параметр «Месяц».

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

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

На вкладке Другие настройки установим значения двух параметров. Так, для параметра «Расположение полей группировок» установим значение «Отдельно и только в итогах», а для параметра «Расположение общих итогов по вертикали» — значение «Начало» (рис. 212).

Рис. 212. Вкладка «ДругиеНастройки»

После этого уже можно перейти в режим 1С: Предприятие и сформировать отчет по имеющимся данным (рис. 213).

Рис. 213. Отчет об оплате курсов

Отчёт об оплате

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


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

  • Таблица справочника «Курсы»
  • Виртуальная таблица «Оплаты.Обороты»

Из этих таблиц отберем четыре поля, представленные на рис. 214.

Рис. 214. Окно конструктора запроса

На вкладке «Связи» организуем внутреннее соединение таблиц (рис. 215).

Рис. 215. Вкладка «Связи» окна конструктора запроса

Еще установим псевдоним для поля ВнесеннаяСуммаОборот на вкладке «Объединения/ Псевдонимы» - ВнесеннаяСумма. После этого зададим упорядочивание данных оплаченной суммы в убывающем порядке. На этом действия по разработке запроса завершаются. Остается щелкнуть на кнопке «OK» для получения текста запроса (листинг 5.3).

Листинг 5.3. Текст запроса для извлечения информации об оплате

ВЫБРАТЬ

Курсы.Стоимость,

ОплатыОбороты.Клиент,

ОплатыОбороты.Курс,

ОплатыОбороты.ВнесеннаяСуммаОборот КАК ВнесеннаяСумма

ИЗ

РегистрНакопления.Оплаты.Обороты КАК ОплатыОбороты

ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Курсы КАК Курсы

ПО ОплатыОбороты.Курс = Курсы.Ссылка

УПОРЯДОЧИТЬ ПО

ВнесеннаяСумма УБЫВ

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

Рис. 216. Добавление поля «Недоплата» на вкладке «Вычисляемые поля»

После этого перейдем на вкладку «Настройки» и выполним типичные установки (рис. 217).

Рис. 217. Вкладка «Настройки»

Теперь можно получить готовый отчёт ув режиме 1С: Предприятие (рис. 218).

Рис. 218. Отчет об оплате за курсы

Недоплата отражается в виде отрицательного значения, а переплата по курсу - положительного.

Отчёт с диаграммой

Теперь разработаем отчёт («Отчет5_3») с диаграммой, здесь в виде столбчатой диаграммы будут отражены оплаты обучающихся, так же не забудем про возможность выбора дат.