Файл: Разработка и реализация конфигурации «Сберкассы» на платформе 1С.pdf
Добавлен: 03.07.2023
Просмотров: 98
Скачиваний: 3
В конфигурируемой системе для отражения факта оплаты будет использован один тип документов «Квитанция», который будет выполнять движения по регистру «Поступление платежей».
Для формирования отчетов используется объект конфигурации «Отчет». С помощью отчетов возможно предоставления информации в удобной для пользователя форме, так в информационной системе для приема платежей, рейтинг плательщиков должен отображаться в виде диаграммы.
1.6 Архитектура информационной системы
Архитектура информационной системы определяет модель, выполняемые функции, структуру и взаимосвязь компонентов системы.
Платформа «1С: Предприятие» для всех прикладных решений позволяет организовать следующие настройки сетевой архитектуры:
- использование файлового варианта или варианта «клиент – сервер» (используются внешние СУБД, такие как Oracle Database, Microsoft SQL Server, PostgreSQL, DB2);
- возможность использования системы от компьютера в локальной сети;
- возможность создания распределенной базы данных.
Архитектура прикладного решения подразумевает:
-
-
- состав подсистем, взаимодействие подсистем;
- технологические особенности реализации функционала подсистем;
- взаимодействие объектов в подсистемах.
-
Информационная система по приему платежей от населения включает одну подсистему «Сберкасса», схема взаимодействия объектов подсистемы представлена на рисунке 1.
Рисунок 2. Схема взаимодействия объектов системы
Программные решения на платформе «1С: Предприятие» имеют множество средств для взаимодействия со сторонними системами и приложениями.
В число основных средств взаимодействия можно включить:
- Обмен файлами, а именно: импорт и экспорт информации через текстовые файлы, файлы формата DBF, файлы формата XML. Также имеется возможность сохранения печатных форм в форматах HTML и Microsoft Excel.
- COM – соединение позволяет обеспечить надежный и быстрый программный доступ к данным системы «1С: Предприятие» из внешних приложений.
- Поддержка OLE предоставляет возможность работать с объектами, созданными в других приложениях (документы, рисунки, таблицы), позволяет обратиться к различным прикладным решениям посредством объектной модели (API) этих приложений.
- Макеты ActiveDocument – предназначены для редактирования документов внешними по отношению к «1С: Предприятию» и позволяет редактировать документы визуально (например, Excel или Word) непосредственно в окне «1С: Предприятия», при этом элементы пользовательского интерфейса (меню, панели команд и т.д.) заменяются на предоставляемые редактором.
В рамках данного курсового проекта можно говорить об алгоритме взаимодействия со сторонними прикладными решениями посредством обмена файлов. Этот механизм реализован в стандартном функционале отчетов и печатных форм «1С: Предприятия».
2.2 Описание основных объектов информационной системы
В соответствие в с требованиями, предъявляемыми к функционалу информационной системы, конфигурация «Сберкасса» содержит следующие объекты:
- справочник «Плательщики»;
- справочник «Виды платежей»;
- документ «Квитанция»;
- регистр накопления «Поступление платежей»;
- отчет «Рейтинг по плательщикам»;
- отчет «Рейтинг по видам платежей».
Справочник «Плательщики» предназначен для организации хранения информации по плательщикам, совершающим платежи в абонентском узле. Справочник «Плательщики» содержит следующие реквизиты:
- «Код» – уникальный идентификатор;
- «Наименование» – содержит ФИО плательщика;
- «ДатаРождения» – дата рождения;
- «ПаспортныеДанные» – паспортные данные плательщика;
- «Адрес» – адрес.
Справочник «Виды платежей» содержит информацию по видам платежей, осуществляемым в конкретной сберкассе, содержит только предопределенные реквизиты: «Наименование» и «Код».
Регистр накопления «Поступления платежей», позволяет "накапливать" числовые данные в разрезе плательщиков и видов платежей.
Измерения регистра:
- «ВидПлатежа» – ссылка на справочник «Виды платежей»;
- «Плательщик» – ссылка на справочник «Плательщики».
Ресурсы регистра «Виды платежей»:
- «Количество» – тип «число», количество платежей одного вида;
- «Начислено» – тип «число», начисления по платежам одного вида.
Регистратором для данного регистра выступает документ «Квитанция».
Существует два типа регистров накопления: регистры остатков и регистры оборотов. Регистр накопления остатков позволяет хранить как итоговые значения ресурсов – остатки, так и изменения этих ресурсов – обороты. Регистр накопления оборотов является более "специализированным" видом регистра накопления и позволяет хранить только изменения ресурсов – обороты.
Существование регистра накопления оборотов связано с тем, что при автоматизации экономической деятельности существует большое количество ситуаций, когда требуется накапливать только обороты, а значения остатков не имеют смысла. В соответствии с требованиями, предъявляемыми к разрабатываемой информационной системе, было принято решение использовать регистр накопления оборотов.
Документ «Квитанция» – отражает факт выполнения платежа.
Кроме предопределенных реквизитов «Дата» и «Номер», документ «Квитанция» имеет:
- Реквизит документа «Плательщик» – заполняется из справочника «Плательщики».
- Табличную часть «Платежи» – содержит информацию по всем платежам, выполняемым плательщиком в данный момент времени. Табличная часть содержит следующую информацию:
- «ВидПлатежа» – выбирается из справочника «Виды платежей»;
- «Количество»;
- «Тариф»;
- «Начислено» с вычисляется автоматически при изменении реквизитов «Количество» и «Начислено».
Во время записи документа «Квитанция» выполняется проверка на заполнение реквизита «Плательщик» и реквизитов табличной части и выдается соответствующее предупреждение. При проведение документ выполняет движения по регистру накоплений «Поступления платежей».
Документ «Квитанция» имеет одну печатную форму, шапка и табличная часть которой, имеют те же реквизиты, что и диалоговая форма документа.
Для предоставления сводной информации по приняты платежам в конфигурации «Сберкасса» предусмотрены два отчета. Отчеты формируются за определенный период в виде диаграммы. Один отчет отражает рейтинг по плательщикам, второй – по видам платежей.
Так же в информационной системе разработан интерфейс, в котором объекты конфигурации расположены в удобной для пользователя последовательности.
Информационная система для приема платежей от населения реализована на платформе «1С: Предприятие 8.1».
Конфигурирование справочников «Плательщики» и «Виды платежа» выполнено без написание кода на встроенном языке.
При реализации функционала документа «Квитанция» внесены изменения в модуль документа для выполнения проведения по регистру накопления:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// Вставить содержимое обработчика.
Для каждого СтрокаТч Из Платежи Цикл
Движение = Движения.ПоступленияПлатежей.Добавить();
Движение.Период = Дата;
Движение.Плательщик = Плательщик;
Движение.ВидПлатежа = СтрокаТч.ВидПлатежа;
Движение.Количество = СтрокаТч.Количество;
Движение.Начислено = СтрокаТч.Начислено;
КонецЦикла;
КонецПроцедуры
Так же внесены изменения в модуль формы документа «Квитанция» для реализации проверки заполненных значений, пересчета реквизита табличной части «Начислено» и формирования печатной формы документа:
Процедура ПлатежиКоличествоПриИзменении(Элемент)
РассчитатьНачисление(Элемент);
КонецПроцедуры
Процедура РассчитатьНачисление(Элемент) // процедура пересчета
СтрокаТЧ = ЭтаФорма.ЭлементыФормы.Платежи.ТекущиеДанные;
СтрокаТЧ.Начислено = СтрокаТЧ.Количество*СтрокаТЧ.Тариф;
КонецПроцедуры
Процедура ПлатежиТарифПриИзменении(Элемент)
РассчитатьНачисление(Элемент);
КонецПроцедуры
Процедура ОсновныеДействияФормыПечать(Кнопка) // Печать квитанции
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
Макет = ПолучитьМакет("ПечатнаяФорма");
// Выводим шапку документа
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = НСтр("ru='Квитанция № '") + СокрЛП(Номер) +" от " + Формат(Дата, "ДФ='дд ММММ гггг'") + " г.";
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Плательщик");
ОбластьМакета.Параметры.ПредставлениеПлательщика = СокрЛП(Плательщик.Наименование) + ?(СтрДлина(СокрЛП(Плательщик.Адрес))>0,"; адрес: ","")+ СокрЛП(Плательщик.Адрес) +?(СтрДлина(СокрЛП(Плательщик.ПаспортныеДанные))>0,"; паспортные данные: ","")+СокрЛП(Плательщик.ПаспортныеДанные) ;
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
ТабличныйДокумент.Вывести(ОбластьМакета);
СуммаДок = 0;
НомерСтроки = 1;
Для каждого СтрокаТч Из Платежи Цикл
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ОбластьМакета.Параметры.НомерСтроки = НомерСтроки;
ОбластьМакета.Параметры.ВидПлатежа = СокрЛП(СтрокаТч.ВидПлатежа.Наименование);
ОбластьМакета.Параметры.Количество = СтрокаТч.Количество;
ОбластьМакета.Параметры.Тариф = СтрокаТч.Тариф;
ОбластьМакета.Параметры.Начислено = СтрокаТч.Начислено;
ТабличныйДокумент.Вывести(ОбластьМакета);
НомерСтроки = НомерСтроки +1;
СуммаДок = СуммаДок + СтрокаТч.Начислено;
КонецЦикла;
ОбластьМакета = Макет.ПолучитьОбласть("Итого");
ОбластьМакета.Параметры.Всего = СуммаДок;
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
ОбластьМакета.Параметры.ИтоговаяСтрока = "Всего платежей " + СокрЛП(НомерСтроки -1)
+ ", на сумму " + СокрЛ(Формат(СуммаДок, "ЧЦ=15;ЧДЦ=2"));
ТабличныйДокумент.Вывести(ОбластьМакета);
ТабличныйДокумент.ОтображатьСетку = Ложь;
ТабличныйДокумент.ОтображатьЗаголовки = Ложь;
ТабличныйДокумент.Показать("Печатная форма квитанции");
КонецПроцедуры
Процедура ПриЗаписи(Отказ)
// Проверка
Если Плательщик.Пустая() Тогда
Сообщить("Не заполнен плательщик");
Отказ = истина;
КонецЕсли;
Для каждого СтрокаТч Из Платежи Цикл
Если СтрокаТч.ВидПлатежа.Пустая() ИЛИ СтрокаТЧ.Количество = 0 ИЛИ СтрокаТч.Тариф = 0 Тогда
Сообщить("В строке "+ СокрЛП(СтрокаТч.НомерСтроки) + " не заполнены реквизиты");
Отказ = истина;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Отчет «Рейтинг по плательщикам» выводит информацию по активности плательщиков за период, ниже приведен программный код отчета:
Процедура КнопкаСформироватьНажатие(Кнопка)
// Вставить содержимое обработчика.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступленияПлатежейОбороты.Плательщик,
| СУММА(ПоступленияПлатежейОбороты.НачисленоОборот) КАК НачисленоОборот
|ИЗ
| РегистрНакопления.ПоступленияПлатежей.Обороты(&НачДата, &КонДата, , ) КАК ПоступленияПлатежейОбороты
|
|СГРУППИРОВАТЬ ПО
| ПоступленияПлатежейОбороты.Плательщик";
Запрос.Параметры.Вставить("НачДата", НачалоДня(НачДата));
Запрос.Параметры.Вставить("КонДата", КонецДня(КонДата));
Результат = Запрос.Выполнить().Выгрузить();
ЭтаФорма.ЭлементыФормы.Диаграмма1.Обновление = Ложь;
ЭтаФорма.ЭлементыФормы.Диаграмма1.ИсточникДанных = Результат;
ЭтаФорма.ЭлементыФормы.Диаграмма1.Обновление = Истина;
КонецПроцедуры
Разработанная информационная система для приема платежей от населения протестирована на соответствие требованиям, изложенным в пункте 4 данной работы.
На рисунках ниже представлены примеры пользовательского интерфейса в процессе тестирования.
Рисунок 2. Справочник «Плательщики», форма списка и форма элемента
Рисунок 3. Справочник «Виды платежей», форма списка
Рисунок 4. Документ «Квитанция», форма списка и форма документа
Рисунок 5. Печатная форма документа «Квитанция»