Файл: Учебника Разработка предметноориентированных систем.pdf

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

Категория: Не указан

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

Добавлен: 18.01.2024

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

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

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

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

-
Запрос,
-
РезультатЗапроса,
-
ВыборкаИзРезультатаЗапроса.
«Схема выполнения запроса
1. Сначала во встроенном языке создается объект Запрос
Запрос = Новый Запрос ();
2. У объекта Запрос есть свойство Текст, в которое нужно поместить текст запроса, написанный на языке запросов. В тексте запроса описывается, какие данные, из каких таблиц нужно получить и как эти данные представить.
Запрос.Текст=
«Выбрать
….
ИЗ …»;
3. Далее запрос выполняется с помощью метода Выполнить() объекта
Запрос. Именно в этот момент и происходит чтение данных из базы данных.
Прочитанные данные возвращаются в виде объекта РезультатЗапроса, содержащего выбранные данные из базы данных.
РезультатЗапроса = Запрос.Выполнить();
4. Чтобы обработать данные, содержащиеся в объекте РезультатЗапроса, из результата запроса получается выборка с помощью метода Выбрать(), который возвращает новый объект ВыборкаИзРезультатаЗапроса, то есть коллекцию данных, предназначенную для последовательного обхода ее элементов.
Выборка = РезультатЗапроса.Выбрать();
5.
Далее выборка обходится с помощью цикла
Пока
Выборка.Следующий() Цикл, а в теле цикла производятся какие-то действия над данными, полученными с помощью запроса» [3]. Данный фрагмент представлен на рис. 14.


Рис. 14. Фрагмент запроса
В результате получим процедуру встроенного языка, в которой создается и выполняется запрос, в представленном на рис. 15 примере выводящий наименование всех товаров из справочника Товары в окно сообщений.
Рис. 15. Вывод наименований всех товаров в окно сообщений
Устройство системы компоновки данных
«Система компоновки данных – инструмент для формирования отчетов на основе метода декларативного описания. Использование данного метода построения отчетов позволяет реализовать следующее:
- возможность создания отчета без программирования;
- создание различных видов отчета;
- задание различных пользовательских настроек;
- возможность использования автоматически генерируемых форм просмотра и настройки отчета;
- независимое использование отдельных частей системы компоновки данных;
- программное влияние на процесс выполнения отчета;

- формирование структуры отчета и его настройка;
- использование нескольких таблиц при построении отчета;
- работа с вложенными отчетами и др.
Подготовка отчета с использованием системы компоновки данных разбита на несколько физических этапов. Каждый этап поддерживает либо программный способ выполнения компоновки данных, либо визуальный способ.
Исходя из прикладной задачи, для которой разрабатывается отчет, разработчик создает схему компоновки данных, в которой описывает наборы данных, устанавливает связи между ними, определяет поля отчета, параметры получения данных, задает стандартные настройки компоновки данных – структуру отчета, порядок, отбор и другие.
У каждого отчета разработчик может предусмотреть несколько вариантов настроек, представляющих данные в виде диаграммы, таблицы или группировок, имеющих различный состав полей, итогов и т. п. Разработчик может описать, какие пользовательские настройки отчета будут доступны пользователю и какие из этих настроек будут присутствовать прямо в форме отчета. Используя их, пользователь может настроить отчет под свои требования и сохранить его для дальнейшего использования.
При формировании отчета выполняется программная компоновка данных и вывод результатов пользователю. Данные в отчете выводятся в соответствии со всеми установленными настройками.
На основе одной схемы компоновки данных, меняя настройки, можно получить множество различных отчетов.
Источниками данных для отчета являются наборы данных. Данные можно получить из информационной базы или из объектов, находящихся в памяти, например, из таблиц значений. Один отчет может использовать одновременно несколько наборов данных, отбирая, объединяя и связывая между собой данные из разных наборов» [3].


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

содержать ресурсов. Например, в случае вывода простых списков, когда групповые итоги не нужны.
Параметры являются критериями получения данных для отчета.
Параметры могут быть явно определены в запросе, а могут быть параметрами виртуальных таблиц базы данных. Как правило, параметры выводятся пользователю перед формированием отчета. Затем заданные пользователем значения параметров передаются в отчет, и отчет формируется заново.
«Иерархическая структура отчета состоит из следующих элементов:
- группировка – предназначена для вывода информации в виде обычного линейного отчета;
- таблица – предназначена для вывода информации в виде таблицы;
- диаграмма – предназначена для вывода информации в виде диаграммы;
- вложенный отчет – предназначен для вывода вложенного отчета.
На первый взгляд элементы структуры отчета Группировка и Таблица похожи. Но в таблице информация группируется по строкам и по столбцам, а на их пересечении выводятся групповые итоговые данные – ресурсы. А также рассчитываются общие итоги по вертикали и горизонтали.
В группировке данные группируются по строкам, и общие итоги рассчитываются только по вертикали. Группировку можно вывести в табличном виде (горизонтально), а можно – в виде вертикального списка. Для каждого элемента структуры отчета и для всего отчета в целом существуют следующие элементы настроек:
- выбранные поля – с помощью этого элемента настроек разработчик или пользователь может определить список полей, выводящихся в отчет;
- отбор – с помощью этого элемента настроек разработчик или пользователь может определить условия фильтрации записей в отчете;
- порядок – с помощью этого элемента настроек разработчик или пользователь может определить порядок записей в отчете;

- параметры – с помощью этого элемента настроек разработчик или пользователь может задать значения параметров отчета;
- пользовательские поля – с помощью этого элемента настроек пользователь может создать собственные дополнительные поля;
- условное оформление – с помощью этого элемента настроек разработчик или пользователь может задать условия оформления записей в отчете;
- другие настройки – с помощью этого элемента настроек разработчик или пользователь может задать значения параметров вывода, таких как макет оформления, заголовок, расположение итогов и др.» [2].
Часто бывает нужно использовать данные одного отчета внутри другого.
Разработав схему компоновки одного отчета, можно затем многократно использовать ее в других отчетах, связав родительский и вложенный отчеты по общему полю.
По умолчанию внешний вид отчета формируется системой автоматически. Но разработчик может задать собственное расположение и оформление различных областей отчета. Для этого в схеме компоновки данных создаются предопределенные макеты. В отличие от стандартных макетов оформления предопределенные макеты привязаны к одному отчету, его конкретным полям и структуре. Можно создавать макеты отдельных полей, группировок, итоговых полей и ресурсов отчета.
Тема 3.5. Предметно-ориентированные информационные системы
на платформе «1С:Предприятие»
Программные продукты и программная платформа «1С:Предприятие» в настоящее время является наиболее популярной для автоматизации предприятий в Российской Федерации и ближнем зарубежье.
Платформа «1С:Предприятие» предоставляет возможности ведения учета практически любого предприятия в таких сферах, как поддержка оперативного управления предприятием, автоматизация организационной и хозяйственной деятельности, ведение бухгалтерского учета,

регламентированная отчетность, ведение управленческого учета и построение аналитической отчетности, поддержка многовалютного учета на предприятии, решение задач планирования, бюджетирования и финансового анализа, расчет зарплаты и управление персоналом предприятия.
«1С:Предприниматель 8»
««1С:Предприниматель 8» – это готовое решение для ведения учета и составления отчетности индивидуальными предпринимателями. Программа позволяет вести Книгу учета доходов и расходов и хозяйственных операций индивидуальных предпринимателей, являющихся плательщиками налога на доходы физических лиц (НДФЛ).
Программа соответствует Порядку учета доходов и расходов и хозяйственных операций для индивидуальных предпринимателей, утвержденному Приказом Минфина РФ от 13.08.2002 № 86н/БГ-3-04/430, главам 23 и 25 НК РФ. Для предпринимателей, являющихся плательщиками единого налога на вмененный доход по определенным видам деятельности
(ЕНВД), предусмотрена возможность ведения раздельного учета хозяйственных операций по видам деятельности, облагаемым НДФЛ и ЕНВД.
Программа «1С:Предприниматель 8» – это специализированная поставка программы «1С:Бухгалтерия 8. Базовая версия», которая предварительно настроена для ведения учета и подготовки отчетности индивидуальных предпринимателей, уплачивающих НДФЛ. Настройки касаются учетной политики, а также внешнего вида меню программы и экранных форм.
Предполагается, что с программой будет работать один пользователь и ее не потребуется адаптировать к индивидуальным особенностям предпринимателя» [4].
Программный продукт «1С:Предприниматель» содержит в себе следующий функционал:
1. Учет документов.

Основным способом отражения хозяйственных операций в учете является ввод документов программы, соответствующих первичным бухгалтерским документам. Кроме того, допускается непосредственный ввод отдельных проводок.
2. Ведение учета деятельности нескольких организаций.
С помощью программы можно вести бухгалтерский и налоговый учет хозяйственной деятельности нескольких организаций. Учет по каждой организации можно вести в отдельной информационной базе. В то же время конфигурация предоставляет возможность использовать общую информационную базу для ведения учета нескольких учреждений – юридических лиц. Это удобно, если хозяйственная деятельность тесно связана между собой. Так, например, можно использовать общие списки товаров, контрагентов (деловых партнеров), работников, складов (мест хранения), а обязательную отчетность формировать раздельно. Возможность ведения учета нескольких организаций поддерживается в версиях «1С:Бухгалтерия» ПРОФ и КОРП.
3. Поддержка разных систем налогообложения.
В программе для коммерческих организаций поддерживаются следующие системы налогообложения:
- общая система налогообложения (налог на прибыль для организаций в соответствии с гл. 25 НК РФ);
- упрощенная система налогообложения (гл. 26.2 НК РФ);
- система налогообложения в виде единого налога на вмененный доход для отдельных видов деятельности (гл. 26.3 НК РФ).
Для индивидуальных предпринимателей поддерживается:
- общая система налогообложения (НДФЛ в соответствии с Приказом
Министерства финансов РФ от 13.08.2002 № 86н/БГ-3-04/430);
- упрощенная система налогообложения (гл. 26.2 НК РФ);
- патентная система налогообложения (гл. 26.5 НК РФ);