Учебно-практическое пособие по дисциплине "Программирование 1 С"
учебно-методический материал
Учебно-практическое пособие предназначено для студентов 4 курса специальности 09.02.07 «Информационные системы и программирование». В пособии представлен теоретический материал, приведены практические примеры по программированию и конфигурированию в среде системы «1С: Предприятие», представлены тестовые задания, в приложении представлены листинги кодов.
Скачать:
Предварительный просмотр:
Государственное бюджетное профессиональное образовательное учреждение Воронежской области
«Хреновской лесной колледж имени Г.Ф. Морозова»
УЧЕБНО-ПРАКТИЧЕСКОЕ ПОСОБИЕ
ПО ОП.16 ПРОГРАММИРОВАНИЕ 1С
для студентов 4 курса специальности 09.02.07 «Информационные системы и программирование»
с. Слобода
2024 г.
ОДОБРЕНО МО препод. профессионального цикла УГ спец. 49.00.00 «Физическая культура и спорт», 09.00.00 «Информатика и вычислительная техника» Председатель Кащенко М.А. (подпись) | УТВЕРЖДАЮ зам. директора по учебной работе _____________Кольченко Е.Н (подпись) |
СОГЛАСОВАНО Методист Хрулёва Е.В. (подпись) | |
Разработчик: Кащенко М.А. преподаватель ГБПОУ ВО «ХЛК им. Г.Ф. Морозова» |
Учебно-практическое пособие рекомендовано методическим объединением преподавателей профессионального цикла укрупненных групп специальностей 49.00.00 «Физическая культура и спорт», 09.00.00 «Информатика и вычислительная техника» государственного бюджетного профессионального образовательного учреждения Воронежской области «Хреновской лесной колледж имени Г.Ф. Морозова»
Протокол заседания МО № 1 от «02» сентября 2024 г.
АННОТАЦИЯ
Учебно-практическое пособие предназначено для студентов 4 курса специальности 09.02.07 «Информационные системы и программирование». В пособии представлен теоретический материал, приведены практические примеры по программированию и конфигурированию в среде системы «1С: Предприятие», представлены тестовые задания, в приложении представлены листинги кодов.
Данное пособие предназначено для преподавателей и студентов специальности 09.02.07 «Информационные системы и программирование» при организации и проведении занятий по дисциплине «Программирование 1С».
Пособие может использоваться при выполнении обучающимися практических и самостоятельных работ, при подготовке к тестированию, а также может быть использовано в дополнительном профессиональном образовании и профессиональной подготовке работников в области программирования в среде 1С.
СОДЕРЖАНИЕ
АННОТАЦИЯ | 3 |
СОДЕРЖАНИЕ | 4 |
ВВЕДЕНИЕ | 5 |
Раздел 1. СИСТЕМА ПРОГРАММ «1С: ПРЕДПРИЯТИЕ 8» | 6 |
1.1 Состав системы программ «1С: Предприятие 8» | 6 |
1.2 Архитектура системы программ «1 С: Предприятие» | 11 |
1.3 Объектная модель платформы «1С: Предприятие» | 18 |
Раздел 2. ОСНОВЫ СОЗДАНИЯ КОНФИГУРАЦИИ | 37 |
2.1 Механизм основных форм. Обработчики событий | 37 |
2.2 Регистры накопления. Простой отчёт | 40 |
2.3 Макеты. Редактирование макетов и форм | 44 |
2.4 Регистры сведений. Ведущее измерение регистра | 46 |
2.5 Объект конфигурации Перечисление. Проведение документа по нескольким регистрам | 50 |
2.6 Способы доступа к данным. Работа с запросами | 52 |
ВОПРОСЫ ДЛЯ КОНТРОЛЯ ЗНАНИЙ ОБУЧАЮЩИХСЯ | 54 |
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ | 56 |
ВОПРОСЫ К ЭКЗАМЕНУ | 65 |
СПИСОК РЕКОМЕНДУЕМЫХ ИСТОЧНИКОВ | 66 |
ПРИЛОЖЕНИЯ | 67 |
ВВЕДЕНИЕ
Информационная система 1С: Предприятие широко известна. С помощью этого программного продукта можно существенно повысить степень автоматизации работы в организациях различного профиля.
В традиционном представлении под программированием понимается написание программного кода - в текстовом редакторе, строка за строкой. В результате такой работы и получается исполняемая программа. Частично это относится и к системе 1С: Предприятие 8. Так, в программный продукт 1С: Предприятие заложен встроенный программный язык, и построение большинства прикладных решений на платформе 1С: Предприятие связано с написанием программного кода на данном языке.
Открытость решений, возможность их динамичного развития, высокая функциональность и гибкость, возможность применения программ единой системы как в небольших предприятиях, так и в крупных организациях федерального масштаба обеспечивают высокую популярность решений на платформе «1С: Предприятия». Одно из основных преимуществ этой предметно-ориентированной среды разработки - построение системы на основе технологической модели работы приложения, метаданных и прикладной модели работы приложения, что позволяет существенно упросить и ускорить разработку.
Сведения, представленные в учебно-практическом пособии по дисциплине «Программирование 1С» дают обзорное представление об основных объектах и механизмах системы, позволяют получить начальные навыки конфигурирования и программирования в системе «1С:Предприятие» на примере несложных задач.
Учебно-практическое пособие представлено в электронной библиотеке колледжа, что позволяет студентам в любое время использовать информационный ресурс для организации своей учебной деятельности.
РАЗДЕЛ 1. СИСТЕМА ПРОГРАММ «1С: ПРЕДПРИЯТИЕ 8»
1.1 Состав системы программ «1С: Предприятие 8»
В основе системы программ «1С: Предприятие» лежит единая технологическая платформа. Она является фундаментом для построения всех прикладных решений.
Единая технологическая платформа (ЕТП) - набор из исполняемого файла, динамических библиотек и вспомогательных файлов, устанавливаемых в операционной системе и обеспечивающих функционирование системы программ «1С: Предприятие» в целом.
Наличие единой технологической платформы облегчает создание отдельных прикладных решений и обеспечивает их невысокую стоимость. Главное преимущество такого подхода – стандартизация разработки, обеспечение масштабируемости и обеспечение быстрого внедрения современных технологий во всех прикладных решениях.
Платформа «1С: Предприятия» для всех прикладных решений независимо от отраслевой специфики и фирмы разработчика обеспечивает:
- возможность использования системы от локального компьютера до десятков пользователей в локальной сети;
- использование файловой или трехзвенной архитектуры;
- возможность развертывания работы на нескольких территориально удаленных точках с периодическим обменом информацией;
- возможность использования современных технологий (WEB, XML, интеграция с другими программными системами и различным торговым оборудованием).
Наличие ЕТП и общей методологии позволяет создавать специализированные и индивидуальные решения на базе стандартных, добавляя в них только необходимые отличия, учитывающие специфику отрасли или конкретного предприятия.
Конфигурация (прикладное решение) – структура метаданных и интерпретируемый код на языке «1С: Предприятия», исполняемые на платформе «1С: Предприятие» и реализующие некоторый специализированный функционал. Фактически, структура конфигурации является моделью предметной области. На рисунке 1 представлен состав системы программ «1С: Предприятие».
Рисунок 1 - Состав системы программ «1С: Предприятие»
Различают следующие виды конфигураций:
- Типовые конфигурации разрабатываются фирмой «1С» и являются эталоном
- Конфигурации партнеров разрабатываются партнерами фирмы «1С» и, как правило, предназначены для автоматизации сравнительно узких участков учета.
Фирмой «1С» выпускается набор стандартных (типовых) решений, ориентированных на наиболее массовые типы предприятий. Существенная часть пользователей применяет типовые решения, без каких-либо изменений и доработок. Существуют следующие основные типовые конфигурации:
- Бухгалтерия предприятия
- Управление торговлей
- Зарплата и управление персоналом
- Управление производственным предприятием
- Управление небольшой фирмой
Возможности «1С: Предприятия» позволяют создавать и индивидуальные решения, учитывающие потребности конкретной организации. Этим занимаются сертифицированные специалисты франчайзинговых фирм. Такие решения, как правило, являются развитием или модернизацией типового решения фирмы «1С» или тиражного специализированного решения, но могут быть разработаны и полностью «с нуля», если того требует ситуация.
Таким образом, «программа» 1С: Предприятие = (платформа) + конфигурация, где ( ) – закрытый программный код
В «1С: Предприятии» реализована идеология использования открытого программного кода. Пользователь или разработчик может использовать среду разработки Конфигуратор, в которой доступен весь программный код конфигурации (но не платформы). Конфигурация, являющаяся составной частью системы программ «1С: Предприятие», с точки зрения пользователя является собственно «программой». В конфигурации в целом объединены данные и метаданные.
В целом можно представить упрощенную схему процесса разработки, когда конфигурация как проект разработки превращается в типовую конфигурацию, с которой работают пользователи (рисунок 2).
Рисунок 2 - Схема типовой конфигурации
Программист, использующий среду разработки Конфигуратор, работает с конфигурацией, как главным объектом процесса разработки. С точки зрения программиста конфигурация – это проект, объединяющий в своем составе модель предметной области и программный код.
В «1С: Предприятии» данные и метаданные хранятся в одном месте, которое называется информационной базой (рисунок 3).
Рисунок 3 - Процесс обновления информационной базы
Информационная база – совокупность данных и метаданных, хранящихся в локальной или серверной базе данных и доступных для пользователей и разработчиков. При работе с базой данных пользователей редактируемые данные блокируются. Для того, чтобы обеспечить возможность разработки (доработки) конфигурации одновременно с работой пользователей, в «1С: Предприятии» используются два экземпляра конфигурации.
Конфигурация БД – метаданные, содержащие структуру конфигурации, хранящиеся в локальной или серверной БД, недоступные для интерактивного изменения. Основная конфигурация - метаданные, содержащие структуру конфигурации, хранящиеся в локальной или серверной БД, доступные для интерактивного изменения.
Разработчик в процессе работы имеет дело с основной конфигурацией. Ее состав доступен в дереве конфигурации в среде разработки Конфигуратор. После внесения необходимых изменений (в ходе этих работ пользователи продолжают работать с информационной базой) разработчик обновляет конфигурацию базы данных и на этом этапе необходимо использовать информационную базу в монопольном режиме.
Конфигурация имеет в своем составе:
- Структуру учетных данных (основные объекты – справочники, документы, планы);
- Структуру пользовательского интерфейса (формы, меню, командные панели и т.д.);
- Модули различных типов с программным кодом (общие, объектов, форм);
- Механизмы хранения и обработки итоговых данных (регистры);
- Механизмы представления бизнес-процессов (бизнес-процессы и задачи);
- Механизмы создания распределенных информационных баз (планы обмена);
- Механизмы разграничения прав доступа;
- Вспомогательные объекты.
Контрольные вопросы
1. Дайте определение понятия Единая технологическая платформа
2. Что обеспечивает Платформа «1С: Предприятия» для всех прикладных решений независимо от отраслевой специфики и фирмы разработчика?
3. Что такое Конфигурация (прикладное решение)?
4. Каков состав системы программ «1С: Предприятие»?
5. Назовите виды конфигураций
6. Каковы возможности «1С: Предприятия»?
7. Состав Конфигурации?
1.2 Архитектура системы программ «1С: Предприятие»
Система «1С: Предприятие» поддерживает два варианта работы: файловый и клиент-серверный.
Файловый вариант работы с информационной базой рассчитан на персональную работу одного пользователя или работу небольшого количества пользователей в локальной сети. В этом варианте все данные информационной базы (конфигурация, база данных, административная информация) располагаются в одном файле (рисунок 4).
Рисунок 4 - Файловый вариант работы
В файловом варианте тоже можно вести реальную учетную работу, но он не предоставляет всех возможностей по масштабируемости, защите данных, какие имеет клиент-серверный вариант. Поэтому файловый вариант используется на малых предприятиях.
Клиент-серверный вариант предназначен для использования на средних и крупных предприятиях. Он реализован на основе трехуровневой архитектуры «клиент-сервер». Клиент - серверный вариант работы – это основной вариант работы в многопользовательской среде с большим объемом данных. Он предоставляет абсолютно все возможности по масштабируемости, администрированию и защите данных. Однако он требует значительных усилий по установке и администрированию.
На рисунке 5 представлена трехуровневая архитектура 1С: Предприятия.
Рисунок 5 - Трехуровневая архитектура 1С: Предприятия
Физически серверная и клиентские части системы 1С: Предприятие 8 могут располагаться как на разных компьютерах, так и на одном. Главное, что пользователь не имеет непосредственного доступа к серверу баз данных, и это позволяет обеспечивать безопасность данных. А в файловом варианте база данных должна находиться на некотором общем сетевом ресурсе, доступном пользователям.
Система 1С: Предприятие изначально рассчитана на клиент-серверный вариант работы. Хотя можно разрабатывать конфигурацию в файловом варианте работы, и она будет работать и в клиент-серверном варианте без дополнительных доработок. Это достигается за счет того, что конфигурация разрабатывается всегда исходя из клиент-серверной архитектуры.
Клиент-серверная архитектура разделяет всю работающую систему на три различные части, определенным образом взаимодействующие между собой, - Клиент, Сервер 1С: Предприятия и Сервер баз данных.
Клиентское приложение - это программа, часть системы 1С: Предприятие. Основное ее назначение - организация пользовательского интерфейса, отображение данных с возможностью их изменения. Кроме этого, клиентское приложение может исполнять код на встроенном языке (то есть какие-то алгоритмы разработчика), но оперирует при этом лишь очень ограниченным пространством типов встроенного языка. Такой подход позволяет клиентскому приложению быть очень «легким», не требовать много ресурсов, обращаться к Интернету и работать даже в среде веб-браузеров.
Клиентское приложение взаимодействует с сервером 1С: Предприятия. Сервер 1С: Предприятия - это тоже программа, часть системы 1С: Предприятие.
Одна из основных задач этой программы - передавать запросы от клиентского приложения к серверу баз данных и возвращать обратно клиенту результаты этих запросов.
Другая задача сервера - исполнение большинства алгоритмов на встроенном языке, подготовка данных для отображения форм, отчетов и т.д. То есть, все сложные вычисления, требующие непосредственной работы с данными, исполняются именно на сервере. При этом на сервере доступно практически все пространство типов встроенного языка 1С: Предприятия, за исключением, чисто интерфейсных типов, потому что у сервера нет никакой интерфейсной части, так как он общается не с пользователями, а только с другими программами: клиентским приложением и с сервером баз данных.
Сервер баз данных - тоже программа. Она уже не является частью 1С: Предприятие – это специализированная программа, поставляемая сторонними производителями. Ее основное назначение: организация и ведение баз данных - структурированных наборов данных, описывающих характеристики каких-либо физических или виртуальных систем. В настоящее время система 1С: Предприятие может работать со следующими серверами баз данных: Microsoft SQL Server, PostgreSQL, IBМ DB2, Oracle Database.
У каждого общего модуля конфигурации, существует набор свойств: Клиент (управляемое приложение), Сервер и Внешнее соединение. Значения этих свойств (истина/ложь) определяют, где будут скомпилированы экземпляры модулей.
Все, что разработано и написано в конфигурации пока только некая «заготовка». Платформа, запускаемая в режиме 1С: Предприятие, превращает все это в программу, которую уже можно исполнить на компьютере, - компилирует. При этом есть разные части системы, в которых исполняется код – сервер и клиентские приложения. Поэтому для общих модулей необходимо в явном виде указать, на какой «стороне» они должны быть скомпилированы - на сервере или клиенте.
Если установить свойство Клиент (управляемое приложение), то экземпляры этого модуля будут скомпилированы только на стороне клиента в контекстах тонкого клиента и веб-клиента. Если у модуля установлено только свойство Сервер, то модуль будет скомпилирован только на стороне сервера.
Клиентских приложений – три: Толстый клиент (1cv8.exe), Тонкий клиент(1cv8с.exe) и Веб-клиент.
«Толстым» клиент называется потому, что может исполнять всю функциональность встроенного языка, в том числе работать с типами данных Справочник Объект. <имя>, Документ Объект. <имя>. Он требует значительных ресурсов на компьютере пользователя.
Тонкий клиент требует значительно меньше ресурсов, так как он исполняет ограниченный набор функциональности встроенного языка, предназначенный лишь для отображения и изменения данных в оперативной памяти. Вся работа с базой данных выполняется на стороне сервера.
Веб-клиент не существует в виде файла, потому что он исполняется не в среде операционной системы, а в среде интернет-браузера. Пользователю достаточно всего лишь запустить свой браузер, ввести адрес веб-сервера, на котором опубликована информационная база и веб-клиент скачается к нему на компьютер и начнет исполняться.
В модуле формы одновременно можно поместить процедуры с различными директивами исполнения и передавать выполнение кода с клиента на сервер. Также из клиентской процедуры модуля формы можно вызвать процедуру общего модуля, которая может выполняться как на клиенте, так и на сервере, в зависимости от установленных свойств модуля Тонкий клиент или Сервер.
После запуска прикладного решения выполнение кода всегда начинается на клиенте. В процессе работы выполнение кода может быть передано на сервер посредством вызова процедуры общего модуля, скомпилированного на сервере.
Среда разработки «1С: Предприятия» – Конфигуратор, обеспечивает создание приложений на основе платформенно–зависимой модели. Собственно модель соответствует структуре конфигурации, которая доступна программисту для разработки и просмотра в специальном инструменте – окне дерева конфигурации. Дерево конфигурации состоит из объектов – элементов модели.
Различают три вида объектов:
1. Основные объекты обеспечивают собственно моделирование. Каждый основной объект моделирует какую-либо сущность предметной области. К ним относятся справочники, документы, отчеты, регистры и т.д.
2. Подчиненные объекты отражают структуру и формируют поведение основных объектов. К ним относятся, например, реквизиты, табличные части, формы, макеты. Важнейшими из них являются реквизиты. Сущности обладают некоторыми свойствами, часть из которых является важными для построения правильной модели. Такие свойства отражаются в модели при помощи ряда инструментов, важнейшими из которых являются реквизиты. Реквизиты основных объектов – суть свойства сущностей предметной области.
Табличные части – это таблицы реквизитов. Они призваны моделировать сложные свойства, которые не могут быть представлены одним параметром.
3. Общие объекты является вспомогательными и обеспечивают моделирование свойств конфигурации в целом.
В процессе работы разработчик создает общие и основные объекты, настраивает их подчиненные объекты. При этом он просто отражает при помощи объектов структуру и состояние предметной области (рисунок 6).
Рисунок 6 - Платформенно-зависимая модель «1С: Предприятие»
В рамках ПЗМ «1С: Предприятие» выделяют следующие модели:
1. Объектная модель представляет структуру и состав предметной области. Она состоит из основных объектов, предназначенных для моделирования документооборота и учета в целом. Использует важнейшие основные объекты: документ, справочник, регистр, отчет.
2. Процессная модель описывает бизнес-процессы предметной области. Состоит из специфических основных объектов: бизнес-процессов и задач.
Бизнес – процесс - это совокупность взаимосвязанных мероприятий или работ, направленных на создание определённого продукта или услуги для предприятия.
Объекты объектной и процессной моделей тесно связаны с программным кодом конфигурации. Для каждого основного объекта автоматически создается соответствующий одноименный программный объект, с которым может работать разработчик в процессе создания программного кода конфигурации. Кроме этого, создаются или изменяются разнообразные вспомогательные программные объекты (рисунок 7).
Рисунок 7 - Взаимосвязь программных и основных объектов
В то же время создание каждого основного объекта приводит к созданию новой таблицы в базе данных, связанной с конфигурацией. Совокупность таблиц представляет собой табличную модель, с которой разработчик взаимодействует при создании запросов.
Контрольные вопросы
1. Какие два варианта работы поддерживает система «1С: Предприятие»?
2. Что собой представляет трехуровневая архитектура 1С: Предприятия?
3. Что такое Клиентское приложение?
4. Назовите задачи сервера.
5. Из каких объектов состоит Дерево конфигурации?
6. Что такое Платформенно-зависимая модель «1С: Предприятие»?
1.3 Объектная модель платформы «1С: Предприятие»
Объекты для построения платформенно-зависимой модели:
1. Документ – объект, предназначенный для представления первичной информации о совершенных хозяйственных операциях или о событиях, произошедших в жизни организации вообще. Документ обладает уникальной способностью – проведением. Это означает, что событие, которое документ отражает, повлияло на состояние учета. Факт проведения означает, что документ обработан полностью. Еще одна важная особенность документа – его привязка к шкале времени. Это позволяет отслеживать последовательность событий.
2. Отчет – объект, предназначенный для представления алгоритмов и инструментов получения выходных данных. Отчеты обобщают, формируют и выводят в заранее заданной форме учетную информацию.
Из перечисленных основных объектов уже можно построить завершенную информационную систему (рисунок 8).
Рисунок 8 - Простейшая информационная система на основе документов и отчетов
Однако, для целей практической разработки этих объектов недостаточно. Необходимо ввести еще два объекта, один из которых отвечает за организацию ввода данных, а второй за организацию хранения данных.
3. Справочник – объект, предназначенный для описания однородных данных, представленных в виде списков. Данные, хранимые в справочниках можно считать условно-постоянными. Хотя пользователь имеет возможность редактировать содержимое справочников, происходит это сравнительно нечасто.
4. Регистр – объект, предназначенный для описания структур накопления данных. Регистр содержит измерения – свойства, обеспечивающие анализ накапливаемых данных в требуемых разрезах. Регистр содержит ресурсы – виды накапливаемых данных. Регистр, как правило, связан с документом и обеспечивает сохранение данных, изменяемых или создаваемых при проведении документа. С практической точки зрения регистры обеспечивают повышение производительности конфигурации, так как они реализуют механизм распределения во времени вычислительной нагрузки. Действительно, если в регистры помещается итоговая, суммирующая информация, к которой впоследствии происходит обращение, значит часть вычислительных затрат реализована заранее – при помещении данных в регистр. Дополнительное увеличение производительности системы обеспечивается за счет применения еще одного специализированного механизма регистров – виртуальных таблиц.
На рисунке 9 представлена схема взаимодействия основных объектов.
Рисунок 9 - Схема взаимодействия основных объектов
Все основные объекты могут иметь набор дополнительных свойств, которые называются реквизитами. Набор реквизитов для каждого объекта отражает его специфические свойства и вообще говоря, может быть уникальным.
Для большинства основных объектов существует уникальная идентификация экземпляров объектов. Для этого используется понятие кода – числового или строкового значения, имеющего уникальное значение на протяжении заданного интервала времени создания экземпляров объектов.
В первую очередь основные объекты предназначены для представления некоторых данных. Эти данные – суть свойства отображаемых объектов. Единичные свойства представляются при помощи реквизитов. Реквизит содержит одно значение определенного, заранее заданного типа данных. Это может быть примитивный, ссылочный или составной тип данных. Иногда свойства моделируемых объектов имеют сложную структуру, которую также необходимо представлять в модели. В этом случае применяются табличные части – таблицы данных, где каждая колонка представляет один реквизит.
Для отображения хранимых данных основной объект должен обладать соответствующими формами. Различают следующие общие виды форм:
Форма списка – предназначена для отображения списка экземпляров основного объекта.
Форма выбора – предназначена для отображения списка экземпляров основного объекта, приспособленную для выбора из других типов объектов.
Форма элемент (объекта) – предназначена для отображения данных экземпляра объекта.
На рисунке 10 представлены виды форм документа.
Рисунок 10 - Виды форм документа
Для представления данных в печатном виде используются макеты. На рисунке 11 представлен конструктор макета справочника.
Рисунок 11- Конструктор макета справочника
Справочники предназначены для хранения условно-постоянных данных, т.е. данных, которые изменяются сравнительно редко. Каждый справочник представляет собой список, который может быть структурирован линейно или иерархически. В зависимости от структуры, справочник может содержать или одни элементы или группы и элементы. У каждого элемента есть стандартные реквизиты: код (число или строка), наименование, родитель (имя группы или элемента верхнего уровня в иерархических справочниках), владелец (имя элемента владельца в подчиненном справочнике), Это Группа (булевского типа), Пометка Удаления (булевского типа), Предопределенный (булевского типа), Ссылка (уникальное «внутреннее» поле для обращения к конкретному элементу). На рисунке 12 представлены виды стандартных реквизитов.
Рисунок 12 - Виды стандартных реквизитов
Справочники могут иметь предопределенные элементы – создаваемые на этапе разработки и запрещенные для редактирования пользователями. Предопределенные элементы используется при необходимости обратиться к каким-либо элементам из программного кода.
С помощью встроенного языка можно выполнять различные операции над справочниками: создавать, изменять и удалять элементы, искать нужный элемент, перебирать элементы в цикле и т.д.
Работа со справочниками из программы производится с помощь нескольких объектов. Каждый объект имеет свое назначение, собственные свойства и методы.
Справочники Менеджер обеспечивает доступ ко всем справочникам конфигурации. Свойства этого объекта совпадают с именами справочников и содержат объекты типа СправочникиМенеджер, который обеспечивает доступ к операциям над справочником как множеством элементов. Через методы этого объекта можно осуществлять поиск, получать выборку, создавать новые элементы или группы, обращаться к формам и макетам справочника. Например: Справочники.ФизическиеЛица.
СправочникиСсылка. Данный объект однозначно идентифицирует элемент (группу) справочника и позволяет обращаться к нему в режиме «только чтение». Через свойства и методы этого объекта можно прочитать реквизиты элемента (группы), обратиться к его табличным частям. Значение этого типа хранится в реквизитах, ссылающихся на элементы данного справочника, например, в реквизите Сотрудник документа ПриемНаРаботу хранится ссылка на конкретный элемент справочника Сотрудники.
СправочникОбъект. Предоставляет доступ к элементу с возможностью записи. Данный объект содержит методы, влияющие на элемент в базе данных, например, методы Записать и Удалить.
СправочникВыборка. Предоставляет возможность обхода (перебора) элементов справочника. Выборка может быть прямой или иерархической (если справочник многоуровневый).
СправочникСписок. Объект для управления списком элементов в табличном поле. Позволяет управлять колонками, отбором и сортировкой в списке. Из одних объектов с помощью определенных методов или свойств можно получить другие объекты, как показано на рисунке 13.
Рисунок 13 – Взаимосвязь Объектов для работы со Справочниками
На схеме показаны не все возможные взаимосвязи. Например, метод Скопировать существует не только у объекта СправочникСсылка, но и у самого объекта СправочникОбъект.
Кроме того, у объекта СправочникМенеджер есть методы НайтиПоНаименованию и НайтиПоРеквизиту, которые действуют аналогично методу НайтиПоКоду и возвращают ссылку на найденный элемент или пустую ссылку, если элемент не найден.
Пример:
Механизм подчиненных справочников обеспечивает взаимосвязь между элементами двух справочников. При этом используется типовое отношение связанных таблиц БД «один ко многим». Один справочник является главным, один подчиненным.
При создании таких отношений используется специальное поле, присутствующее в таблице любого справочника. Это поле Владелец (тип данных СправочникСсылка) – ссылка на элемент справочника-владельца, который является главным по отношению к этому элементу подчиненного справочника.
Существуют следующие события, обработчики которых располагаются в модуле справочника:
1. ПриКопировании
Событие возникает при создании элемента справочника копированием. В обработчике события ПриКопировании можно вмешаться в этот процесс и более интеллектуально заполнить некоторые реквизиты элемента справочника.
2. ПередЗаписью
Процедура-обработчик вызывается после начала транзакции, но до начала записи элемента справочника. В данном обработчике можно отказаться от записи элемента.
3. ПриЗаписи
Событие возникает после записи элемента справочника в базу данных, но до окончания транзакции записи. В данном обработчике также можно отказаться от записи элемента.
4. ПередУдалением
Событие возникает перед непосредственным удалением элемента или группы справочника из базы данных. В обработчике события это действие можно отменить.
5. ПриУстановкеНовогоКода
Событие возникает в момент, когда выполняется установка нового кода элемента справочника.
6. ОбработкаЗаполнения
Событие возникает при вводе элемента справочника на основании, а также при выполнении метода Заполнить. В процедуре-обработчике этого события должен быть описан алгоритм заполнения реквизитов элемента справочника на основании переданного значения.
Обработчики этих событий должны располагаться в модуле объекта и только там, независимо от наличия у справочника различных форм.
Обработчики событий будут вызываться всегда при наступлении указанных событий, даже если событие инициировано программными вызовами, например, методами Записать и Удалить. Приведем пример использования обработчика события. Допустим, в конфигурации категорически не допускается ввод позиции номенклатуры без указания группы.
Пример 2:
Документы предназначены для хранения первичных данных о хозяйственных операциях. Последовательность документов, привязанных к шкале времени, позволяет восстановить последовательность событий. Поэтому каждый документ обладает двумя стандартными реквизитами – датой и номером документа. Кроме того, стандартными реквизитами документа являются пометка удаления, ссылка, проведен.
Стандартный реквизит Номер имеет уникальное значение в пределах заранее заданного для документа периода, например месяц, квартал, год. В начале следующего периода нумерация возобновляется.
Также возможны ситуации, когда единая нумерация применяется для разнотипных документов. В этом случае используются основные объекты нумераторы, которые представляют собой обычные счетчики значений.
Документы могут выступать регистраторами для регистров. В этом случае при сохранении документов используется специальная процедура проведения, которая обеспечивает изменение состояния связанного регистра. Таким образом, документы обеспечивают сохранение данных в постоянных хранилищах – регистрах.
Для облегчения ввода данных в документах могут использоваться данные справочников. Объект ДокументыМенеджер представляет собой коллекцию документов. Программный доступ осуществляется через экземпляр объекта по имени Документы.
Объект ДокументМенеджер является элементом коллекции и представляет отдельный документ. С помощью этого объекта осуществляется поиск документов, получение выборки документов, создание нового документа, работа с формами и макетами документа. Программный доступ осуществляется так:
Документы.Документ1.
Объект ДокументВыборка обеспечивает доступ к данным документа. Обеспечивает динамическую подгрузку данных. Программный доступ осуществляется так:
Выборка = Документы.Документ1.Выбрать();
Объект ДокументСсылка обеспечивает доступ на чтение к экземпляру документа.
Объект ДокументОбъект обеспечивает доступ на чтение и запись к экземпляру документа.
Из одних объектов с помощью определенных свойств или методов можно получить другие объекты, как показано на рисунке 14.
Рисунок 14 - Взаимосвязь объектов для работы с документами
Каждый документ имеет стандартный реквизит Дата, который имеет тип данных Дата и Время. Но при больших объемах вводимых данных возможны ситуации когда двое или больше пользователей попытаются сохранить документы в течении одной секунды. Для разрешения таких коллизий каждый документ имеет дополнительный реквизит МоментВремени. Он содержит дату и время создания документа и ссылку на сам документ.
Далее платформа самостоятельно определяет последовательность документов в пределах одной секунды, основываясь на анализе изменений в регистрах, которые произвели эти документы. При этом используется ссылка на документы.
Документ может быть связан с одним или несколькими регистрами. В этом случае при сохранении документа вызывается специальная процедура, носящая название ОбработкаПроведения(). Этот метод – обработчик вызывается при возникновении события проведения – когда пользователь проводит документ (нажимает кнопку ОК в стандартном пользовательском интерфейсе конфигурации). Процедура проведения располагается в модуле документа. Ее программный код обеспечивает добавление в связанный регистр или несколько регистров новых записей, поля которых заполняются в соответствии с правилами, описанными в данной процедуре. Вновь создаваемые записи называются движениями (рисунок 15).
Рисунок 15 – Процедура проведения документа
Таким образом, Проведение документа – алгоритм, выполняемый предопределенной процедурой ОбработкаПроведения, формирующий учетные записи в регистрах.
Регистратор – это документ, влияющий на содержимое регистра.
Движение – учетная запись в регистре, как правило (неподчиненные регистры сведений - исключение) привязанная к регистратору.
На рисунке 16 представлен конструктор движения регистров.
Рисунок 16 - Конструктор движения регистров
В учетных записях регистров одним из полей, требующих заполнения является поле регистратор. При выполнении проведения документа, в качестве регистратора в учетной записи регистра указывается ссылка на текущий документ.
Проведение делится на оперативное и неоперативное. Оперативное проведение применяется, когда документ отображает событие хозяйственной деятельности в настоящем. При оперативном проведении разработчик должен предусмотреть все возможные проверки корректности вносимых данных. При оперативном проведении для документа устанавливается текущая дата и время создания. Оперативное проведение документа с датой, отличающейся от текущей, невозможно. Если документ проводится оперативно с датой, меньшей текущей, оперативное проведение невозможно, и пользователю предлагается провести документ не оперативно.
Если документ проводится оперативно с датой больше текущей, то проведение отменяется.
При оперативном проведении используется понятие оперативной отметки времени, которая обеспечивает формирование времени проведения документов как минимум с секундным интервалом.
Неоперативное проведение применяется, когда документ отображает событие хозяйственной деятельности в прошлом. При этом проверки не являются такими строгими, как при оперативном проведении.
Пример оперативного проведения:
…
Для удобства пользователей различные документы могут объединяться в журналы. В журналах определяются общие для документов поля, которые будут отображаться для пользователей.
Также журнал может содержать дополнительные графы, которые содержат данные собственно журнала.
Ввод на основании позволяет пользователю ускорять создание новых объектов, основываясь на значениях реквизитов существующих объектов.
Например, находясь в форме элемента справочника Контрагенты, при помощи механизма ввода на основании можно создать документ Приходная накладная, в котором реквизит Контрагент уже будет заполнен на основании текущего значения справочника Контрагенты.
С точки зрения разработчика механизм представляет собой метод-обработчик ОбработкаЗаполнения(), который вызывается при выборе пользователем пункта меню На основании. В качестве параметра метода передается переменная Основание, которая содержит ссылку на объект, который служит основанием для ввода данных.
Полная синтаксическая диаграмма метода Выбрать такова:
Выбрать (<Дата начала>, <Дата окончания>, <Отбор>, <Порядок>)
Метод Выбрать позволяет ограничить выборку только нужными документами с помощью параметров вызова. Ниже описаны параметры метода Выбрать и их назначение:
Дата начала - Дата и время начала периода выборки документов.
Дата окончания - Дата и время конца периода выборки документов.
Отбор - структура, которая задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры - значение отбора по этому полю.
В качестве полей для отбора могут задаваться только поле Дата и индексированные реквизиты документа. Структура может содержать только один элемент.
Порядок - Строка, задающая реквизит и направление сортировки выборки документов, например, «Контрагент Возр» или «Оклад Убыв». Может быть указано поле Дата или имя индексированного реквизита документа. Если порядок не задан, то выборка упорядочивается по хронологии документов.
Следующий пример выбирает те документы Приходная накладная, в которых указан склад Основной и сортирует их по убыванию дат.
Пример:
Регистры предназначены для хранения и обработки различной информации, отражающей хозяйственную или организационную деятельность предприятия. В них могут храниться сведения о курсах валют, котировках акций, остатках и оборотах товаров, бухгалтерские проводки и т.д. Данные в регистры могут записываться как в ручном режиме, так и при помощи процедуры проведения документов – когда поля регистра заполняются значениями реквизитов соответствующих документов.
Благодаря их использованию конфигурации «1С: Предприятие» обладают существенно лучшей производительностью. Это обеспечивается как правильным использованием регистров для хранения данных, так и наличием у них специального механизма – виртуальных таблиц.
Как основные объекты, регистры входят в состав объектной модели данных. Так же, как и другие основные объекты, регистры имеют связанные программные объекты, обеспечивающие доступ как к самим регистрам, как объектам, так и к данным регистров.
Как таблицы БД, регистры входят в состав табличной модели данных. Каждый регистр представляется отдельной таблицей. Строка таблицы регистра называется записью.
Лучше всего назначение и роль регистров видна в объектной модели данных. Пользователь осуществляет первичный ввод данных при помощи соответствующих документов. Документы могут являться регистраторами по отношению к регистрам – то есть вызывать при своем закрытии специальную процедуру проведения, которая изменяет состояние регистра. Процедура проведения добавляет в регистр новую запись, при этом в поля записи переносятся данные из реквизитов документа. Таким образом, данные попадают в регистры. Один документ может проводить осуществлять движения по нескольким регистрам и один регистр может иметь несколько регистраторов.
Измерения предназначены для идентификации записей регистра и анализа данных. Набор значений измерений для каждой записи представляет собой уникальный идентификатор в пределах регистра. Разработчик может обращаться к регистру и осуществлять отбор данных по заданным измерениям (рисунок 17). При этом каждое измерение выступает как плоскость (разрез) данных регистра, а сам регистр можно представить как n-мерный гиперкуб, где n – число измерений. Часто, например, говорят: «анализ остатков в разрезе поставщиков».
Рисунок 17 - Определение измерений и ресурсов
Ресурсы предназначены для хранения собственно данных. Значения ресурсов есть значимая для пользователя информация. Например, в регистре остатков ресурсы могут содержать количество и сумму.
Реквизиты в регистрах играют такую же роль, как и в других основных объектах.
После ввода данных регистр может использоваться для получения, как первичных данных, так и некоторых результатов вычислений и запросов. При этом существенную роль играют разновидности регистров и их виртуальные таблицы.
Контроль учета и документооборота осуществляется на основе значений показателей трех видов.
Показатели остатков (накопления) используются для контроля переменных данных, анализ которых необходимо проводить как по текущему значению, так и по предыдущим. Пример: количество товаров на складе, сколько денег в кармане и т.д.
Оборотные показатели (накопления) используются для контроля данных, анализ которых нужно проводить за период. При этом данные за различные периоды должны быть независимы. Пример, ВВП, оборот за месяц и т.д.
Показатели состояния используются для контроля данных, имеющих дискретные, независимые состояния. Пример: курс валют, котировки на бирже.
В «1С: Предприятии» существует 4 вида регистров.
Регистры сведений являются просто хранилищами данных – хранят сведения самого различного характера. Это могут быть курсы валют, графики работ, котировки акций, разнообразные расписания и т.д. Это единственный вид регистров, который может изменяться не только регистратором, но и в пользовательском режиме. Например, можно вводить ежедневный курс доллара к рублю документом, а можно вручную.
Регистры сведений могут быть периодическими или непериодическими. В периодических регистрах появляется предопределенное измерение период, в котором содержится дата создания записи. Это измерение должно быть уникальным в пределах периода. Периодом может быть секунда, день, месяц, квартал, год.
Регистры накоплений предназначены для хранения специфической информации об остатках и оборотах; могут изменяться только регистратором.
Регистры бухгалтерии используются для отображения операций в рамках бухгалтерского учета. Это хранилище проводок. С каждым регистром бухгалтерии связан один план счетов, счета которого используются при формировании проводок и заполнении измерений по счетам дебета и кредита.
Регистры расчета предназначены для проведения сложных периодических расчетов. Как плавило, на практике это расчеты заработной платы. С каждым регистром расчетов должен быть связан план видов расчета, предназначенный для хранения видов расчета. Регистры расчета являются периодическими, разновидности периодов: день, месяц, квартал, год.
Механизм виртуальных таблиц обеспечивает быстрый доступ к специфической информации в регистре. Каждый регистр имеет собственный набор виртуальных таблиц. Виртуальные таблицы не хранятся в базе данных, а создаются по мере обращения к ним. Разработчик может использовать виртуальные таблицы в запросах или в программном коде при посредстве специальных методов регистров.
Так как виртуальные таблицы используются для повышения производительности, то их использование в соответствующих запросах является обязательным. Обращение к регистру там, где возможно обращение к виртуальной таблице является ошибкой.
Рассмотрим виртуальные таблицы регистров сведений и накопления.
Таблица СрезПервых возвращает записи регистра сведений, наиболее близкие в прошлом к заданной в параметре таблицы дате.
Таблица СрезПоследних возвращает записи регистра сведений, наиболее близкие в будущем к заданной в параметре таблицы дате.
Таблица Остатки возвращает остатки по регистру накоплений на заданную дату. Используется только в регистре накоплений остатков. В качестве параметров передаются границы временного диапазона.
Таблица Обороты возвращает обороты по регистру накоплений на заданную дату. Используется только в регистре накоплений оборотов. В качестве параметров передаются границы временного диапазона.
Каждому регистру объектной модели данных соответствует набор программных объектов, при помощи которых разработчик может решать прикладные задачи (рис.14). Рассмотрим их. (В описаниях объектов вид регистра, например «РегистрСведений», заменено на «Регистр»).
Объект РегистрыМенеджер представляет собой коллекцию всех регистров конфигурации.
Объект РегистрМенеджер предназначен для управления отдельным регистром. При помощи свойств и методов этого объекта разработчик может работать с формами, обращаться к записям.
Объект РегистрСписок обеспечивает управление списком записей регистра в элементах управления.
Объект РегистрВыборка поддерживает механизм динамического перебора элементов справочника для получения доступа к их реквизитам. Данные доступны только для чтения.
Объект РегистрНаборЗаписей представляет собой коллекцию записей регистра. Позволяет добавлять и удалять записи, изменять их данные.
Объект РегистрЗапись представляет собой отдельную запись регистра, является элементом коллекции объекта РегистрНаборЗаписей.
Объект РегистрКлючЗаписи содержит поля записи, представляющие собой уникальный идентификатор записи.
Контрольные вопросы
1. Назовите объекты для построения платформенно-зависимой модели
2. Что собой представляет Справочник?
3. Что собой представляет Регистр?
4. Что собой представляет Документ?
5. Какие существуют Формы?
6. Для чего используются Ресурсы и измерения?
РАЗДЕЛ 2. ОСНОВЫ СОЗДАНИЯ КОНФИГУРАЦИИ
2.1 Механизм основных форм. Обработчики событий
У всех прикладных объектов конфигурации существует некоторое количество основных форм. Они служат для отображения данных объекта в том или ином виде.
Если разработчик не назначит в качестве основных форм объекта свои собственные, система будет генерировать необходимые формы объекта самостоятельно, в те моменты, когда к ним происходит обращение.
Формы — это основные окна системы, предназначенные для ввода и просмотра какой-либо информации, а также для управления различными процессами. С помощью созданных форм система 1С: Предприятие запрашивает у пользователя ту информацию, которая необходима ей для дальнейшей работы, либо выдает какую-либо информацию пользователю для просмотра и редактирования.
Основное назначение формы — предоставить пользователю удобное средство для ввода и просмотра информации. Как и бумажный документ, форма позволяет быстро ввести необходимую информацию и запомнить ее для последующей обработки, а при необходимости — вновь вернуться к ранее введенным данным для просмотра или корректировки.
Форма состоит из диалога, модуля и реквизитов формы (полей формы).
Диалог формы представляет собой прямоугольную область экрана, которая, в самом общем случае, содержит различные элементы управления; например, поясняющие надписи, поля ввода информации, элементы управления (например, кнопки) и т.д. С его помощью осуществляется взаимодействие пользователя с программой.
Модуль формы — программа на встроенном языке, отвечающая за работу с элементами управления формы, отработку предопределенных процедур и выполняющий различные вспомогательные вычисления. С их помощью производится подготовка и обработка реквизитов формы, передача управления к исполнению, а также обработка действий пользователя.
Реквизиты формы — совокупность объектов различных типов, принадлежащих форме. В списке реквизитов есть основной реквизит (выделен жирным шрифтом), который определяет поведение формы при открытии, редактировании или закрытии формы. При создании форм с помощью конструктора формы выбор типа "Произвольная форма" не приводит к созданию основного реквизита. В этом случае поведение формы определяется только настройками пользователя.
Также список содержит реквизиты, размещенные дополнительно.
Форма создается с помощью конструктора форм. Результатом работы конструктора является окно, содержащее три закладки, располагающихся снизу.
На закладке "Диалог" производится проектирование собственно диалога формы.
Для редактирования диалога используется редактор форм.
На закладке "Модуль" производится редактирование модуля формы. Редактирования модуля выполняется посредством специализированного редактора текстов.
На закладке "Реквизиты" разработчик формы имеет возможность добавить новые реквизиты формы и указать им нужный тип. Эти реквизиты доступны в любом месте модуля формы. Один из реквизитов (выделен жирным шрифтом) является основным реквизитом. Его тип определяется типом объекта и видом формы (список, элемент/документ, выбора и проч.). Этот реквизит создается конструктором. Для вида формы "Произвольная" основной реквизит не создается.
Очень часто программисту требуется переопределить стандартное поведение системы во время записи объектов, а именно:
- отменить запись, в случае каких-то условий;
- запросить дополнительную информацию у пользователя;
- дозаполнить реквизиты;
- что-то ещё записать в базу данных на основании этой записи;
- что-то изменить на форме после записи и т.д. и т.п.
Следует различать два типа событий: события, связанные с формой и ее элементами, и все остальные.
Разница заключается в том, что обработчики событий, связанных с формой и ее элементами, - назначаемые, а обработчики всех остальных событий – фиксированные.
Фиксированный обработчик события должен иметь имя, совпадающие с именем события. Только в этом случае он будет вызываться при возникновении соответствующего события.
Назначаемый обработчик может иметь произвольное имя. Если имя процедуры совпадает с именем события формы или ее элемента этого совсем недостаточно для вызова процедуры обработки события с таким именем. Требуется явное назначение процедуры обработчиком этого события в палитре свойств, в соответствующем событии.
Таким образом, любая процедура, расположенная в модуле формы может быть назначена обработчиком любого события (или сразу нескольких событий) формы или ее элемента, расположенного в форме. Имя процедуры в этом случае не имеет значения. Важно лишь то, что она назначена обрабатывать какое-либо событие.
Назначение обработчика может выполняться интерактивно, при работе с формой в конфигураторе, или программно, используя методы формы и ее элементов - УстановитьДействие().
Контрольные вопросы:
1. Что такое формы?
2. Назначение форм
3. Из чего состоят формы ?
4. Что такое обработчик события ?
2.2 Регистры накопления. Простой отчёт
В системе 1С: Предприятие есть несколько объектов конфигурации, которые позволяют создавать в базе данных структуры, назначенные для накопления информации в удобном для последующего анализа виде. Использование таких «хранилищ» данных дает нам, с одной стороны, накапливать в них данные, поставляемые различными документами (или другими объектами базы данных), а с другой стороны, легко создавать нужные нам отчеты или использовать эти данные в алгоритмах работы конфигурации.
В конфигурации существует несколько объектов, называемых регистрами для описания подобных «хранилищ». Объект конфигурации Регистр накопления предназначен для описания структуры накопления данных. На основе объекта конфигурации Регистр накопления платформа создает в базе данных таблицы, в которых будут накапливаться данные, «поставляемые» различными объектами базы данных.
Эти данные будут храниться в таблицах в виде отдельных записей, каждая из которых имеет одинаковую, заданную в конфигураторе структуру.
На основании таблицы движений регистра накопления система рассчитывает таблицу итогов регистра, которая хранит в базе данных итоги на момент времени последнего движения (актуальные итоги).
Отличительной особенностью регистра накопления является то, что он не предназначен для интерактивного редактирования пользователем.
Разработчик может при необходимости предоставить пользователю возможность редактировать регистр накопления. Но предназначение регистра накопления заключается в том, чтобы его модификация производилась на основе алгоритмов работы других объектов базы данных, а не в результате непосредственных действий пользователя. Основным назначением регистра накопления является накопление числовой информации в разрезе нескольких измерений, которые описываются разработчиком в соответствующем объекте конфигурации Регистр накопления и являются подчиненными объектами конфигурации.
Виды числовой информации, накапливаемой регистром накопления называются ресурсами, также являются подчиненными объектами и описываются в конфигураторе.
Например, регистр накопления может накапливать информацию о количестве и сумме товаров на складах. В этом случае он будет иметь измерения Товар и Склад и ресурсы Количество и Сумма. На рисунке 18 представлен пример регистр накопления.
Рисунок 18 - Регистр накопления
Изменение состояния регистра накопления происходит, как правило, при введении документа и заключается в том, что в регистр добавляется некоторое количество записей. Каждая запись содержит значения измерений, значения приращений ресурсов, ссылку на документ, который вызвал эти изменения (регистратор), и «направление» приращения (приход или расход). Такой набор записей называется движениями регистра накопления. Каждому движению регистра накопления всегда должен соответствовать регистратор – объект информационной базы (как правило, документ), который произвел эти движения.
Кроме этого, регистр накопления может хранить дополнительную информацию, описывающую каждое движение. Набор такой дополнительной информации задается разработчиком при помощи реквизитов объекта конфигурации Регистр накопления.
Движения документа - это записи в регистрах, которые создаются в процессе проведения документа и отражают изменения, производимые документом.
Объект конфигурации Отчет предназначен для описания алгоритмов, при помощи которых пользователь сможет получать необходимые ему выходные данные. Алгоритм формирования выходных данных описывается при помощи визуальных средств или с использованием встроенного языка. Схема компоновки данных с точки зрения конфигурации является макетом, поэтому будет открыт конструктор макета, предлагающий выбрать единственный тип макета - Схема компоновки данных.
Конструктор запроса - инструмент, созданный для помощи разработчику, позволяющий визуально конструировать запрос, пользователь, не знакомый с языком запросов, может с помощью конструктора создать синтаксически правильный запрос. На рисунке 19 представлен пример работы конструктора запросов.
Рисунок 19 – Конструктор запросов
Конструктор настроек компоновки данных облегчает работу с параметрами вывода данных в отчете.
Вызов этого конструктора может привести к потере настроек, установленных вручную, поэтому на экране появится вопрос "Настройки, введенные вручную, будут утеряны. Продолжить?".
При ответе "Да" запустится конструктор настроек компоновки данных.
Выберите необходимый вид расположения данных и нажмите кнопку "Далее>". Если не нужно настраивать остальные параметры или хотите сделать это вручную, нажмите кнопку "OK". Чтобы прекратить конфигурирование настроек отчета нажмите "Отмена".
В открывшемся окне выбора полей, выберите поля, которые должны отображаться в отчете. Для этого можно использовать как кнопки, так и перетаскивание мышью.
Выбранные поля можно сортировать при помощи стрелок "вверх", "вниз".
Нажмите "Далее>" для перехода на следующий шаг настроек.
Для типа отчета "Таблица" можно указать группировки в строках, колонках и таблиц. Для типа отчета "Диаграмма" - в сериях, точках и таблицах.
В открытом окне выберите поля и тип группировки, в качестве которого могут выступать: "Без иерархии", "Иерархия", "Только иерархия".
После нажатия кнопки "Далее>" конструктор настроек переходит к выбору поля упорядочивания.
Поля упорядочивания выбираются аналогично полям группировок. Для каждого поля устанавливается направление сортировки.
Для типов отчета "Список" и "Таблица" на этом конфигурирование параметров в конструкторе настроек заканчивается. Для типа отчета "Диаграмма", после нажатия кнопки "Далее>", выбирается тип диаграммы.
Для сохранения выбранных настроек нажмите "ОК". Для отказа – "Отмена".
По окончании работы с конструктором настроек компоновки данных сохраненные настройки станут доступными для последующих изменений в окне конструктора схемы компоновки данных. На рисунке 20 представлен пример формы отчёта.
Рисунок 20 – Форма отчёта
Контрольные вопросы:
1. Что такое регистры?
2. Для чего предназначен регистр накопления?
3. Что такое регистратор?
4. Что такое движения документа?
5. Предназначение объекта конфигурации Отчет?
6. Что такое конструктор запроса?
2.3 Макеты. Редактирование макетов и форм.
Объект конфигурации Макет предназначен для хранения различных форм представления данных, различных данных, которые могут потребоваться каким-либо объектам конфигурации или всему прикладному решению в целом.
Макет может содержать табличный или текстовый документ, двоичные данные, НТМL-документ или Асtive Document, графическую или географическую схему, схему компоновки данных или макет оформления схемы компоновки данных.
Макеты могут существовать как сами по себе (общие макеты), так и быть подчинены какому-либо объекту конфигурации.
Одно из предназначений макета, подчиненного объекту конфигурации и содержащего табличный документ, - создание печатной формы этого объекта. Создание печатной формы заключается в конструировании ее составных частей - именованных областей, из которых затем «собирается» готовая печатная форма. На рисунке 21 представлен конструктор макета.
Рисунок 21- Конструктор макета
Порядок заполнения областей данными и вывода их в итоговую форму описывается при помощи встроенного языка. Печатная форма может включать в себя различные графические объекты: картинки. ОLЕ-объекты, диаграммы.
Помимо создания макета «вручную» конфигуратор предоставляет разработчику возможность воспользоваться специальным инструментом - конструктором печати, который берет на себя большинство рутинной работы по созданию макета. На рисунке 22 представлен конструктор печати.
Рисунок 22 – Конструктор печати
Контрольные вопросы:
1. Для чего предназначен объект конфигурации Макет?
2. В чём заключается создание печатной формы?
3. Что такое конструктор печати?
2.4. Регистры сведений. Ведущее измерение регистра.
Регистры сведений – это прикладные объекты конфигурации. Они позволяют хранить в прикладном решении произвольные данные в разрезе нескольких измерений. Например, в регистре сведений можно хранить курсы валют в разрезе валют, или цены предприятия в разрезе номенклатуры и типа цен. Информация в регистре сведений хранится в виде записей, каждая из которых содержит значения измерений и соответствующие им значения ресурсов.
Измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию. Например, для регистра сведений Цены товаров
Вместе с каждой записью, находящейся в регистре сведений, можно хранить дополнительную произвольную информацию. Для этого служат реквизиты регистра сведений.
Одной из возможностей регистра сведений является хранение данных не только в разрезе указанных измерений, но и в разрезе времени. Разработчик может указать минимальную периодичность, с которой записи будут заноситься в регистр
В этом случае к каждой записи регистра будет добавляться поле Период, хранящее дату, которой были внесены записи в регистр. Использование периодичности регистра сведений позволяет не просто хранить статические данные, но и отслеживать их изменение во времени. Например, периодический регистр сведений Цены товаров может не только хранить информацию о том, какова цена на определенную номенклатуру сейчас, но и о том, как она изменялась в прошлом (или будет изменяться в будущем):
Внесение изменений в регистр сведений может выполняться как вручную, так и при помощи документов. В случае, когда изменения в регистр сведений вносятся с помощью документов, к каждой записи регистра добавляется специальное поле, в котором хранится информация о регистраторе - документе, с которым связана эта запись. В процессе создания прикладного решения разработчик указывает, какой именно режим записи будет использоваться данным регистром сведений:
Использование режима записи Подчинение регистратору может потребоваться в случае, когда логика работы прикладного решения требует того, чтобы изменения, выполняемые в регистре сведений, были жестко связаны с документами, фиксирующими факты хозяйственной деятельности.
Например, изменение цен компании может производиться только определенным кругом лиц, и каждое такое изменение должно сопровождаться "бумажным" документом. В этом случае можно использовать режим подчинения регистратору, при котором изменение цен может быть выполнено только специальным документом - Изменение цен товаров.
Система обеспечивает контроль уникальности записей, хранящихся в регистре сведений. Таким образом, в регистре сведений не может находиться двух одинаковых записей. Одинаковыми считаются записи, у которых совпадает ключ записи. Ключ записи формируется системой автоматически, на основании значений, содержащихся в полях записи, и зависит от вида регистра сведений.
В общем случае в формировании ключа записи будут участвовать значения регистратора, периода и значения измерений. Таким образом, например, в непериодическом регистре сведений Цены товаров с независимым режимом записи не может существовать двух записей о розничной цене конфет ассорти. Точно так же, как в периодическом регистре сведений Цены товаров, подчиненном регистратору, не может существовать двух записей о розничной цене конфет ассорти, внесенных одной и той же датой, одним и тем же документом Изменение цен товаров.
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в регистре сведений, система поддерживает несколько форм представления регистра. Система может автоматически генерировать все нужные формы регистра. Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию. Для просмотра данных, содержащихся в регистре сведений, используется форма списка. Она позволяет выполнять навигацию по регистру, добавлять, помечать на удаление и удалять записи регистра. Форма списка позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям.
Для просмотра и изменения отдельных записей регистра сведений используется форма записи. Как правило, она представляет данные в удобном для восприятия и редактирования виде.
Основными функциональными возможностями, которые предоставляет регистр сведений разработчику, являются:
- создание, изменение и удаление записей;
- выбор записей в заданном интервале по заданным критериям;
- выбор записей по регистратору;
- получение значений ресурсов записей, соответствующих указанному периоду и значениям измерений;
- получение значений ресурсов наиболее ранних и наиболее поздних записей регистра, соответствующих указанному периоду и значениям измерений. На рисунке 23 представлено окно регистра сведений.
Рисунок 23 – Регистр сведений
Контрольные вопросы:
1. Что такое регистр сведений?
2. Возможности регистра сведений?
3. Какие основные функциональные возможности, которые предоставляет регистр сведений разработчику?
2.5 Объект конфигурации перечисление. Проведение документа по нескольким регистрам.
Перечисления - это прикладные объекты конфигурации. Они позволяют хранить в информационной базе наборы значений, которые не изменяются в процессе работы прикладного решения. На рисунке 24 представлено окно перечислений.
Рисунок 24 – Перечисления
Например, это может быть перечисление возможных ставок НДС (Без НДС, НДС 18 и т.д.), перечисление состояния заказов (Запланировано, В Работе, Выполнено) и пр. В прикладном решении может быть создано произвольное количество перечислений. Регистры накопления могут быть регистрами остатков и регистрами оборотов. При создании отчета в конструкторе запроса для таких регистров система создает три виртуальные таблицы: таблица остатков, оборотов и совокупная таблица остатков и оборотов. Оборотный регистр накопления очень похож на регистр остатков, но для него понятие «остаток» не имеет смысла, оборотный регистр накапливает только обороты, остатки ему безразличны. Поэтому единственной виртуальной таблицей, которую будет создавать система для такого регистра, будет таблица оборотов. В остальном оборотный регистр ничем не отличается от регистра остатков. При создании оборотного регистра накопления нет особой сложности в определении того, какие именно данные должны являться измерениями регистра - мы можем назначить в качестве его измерений любые нужные нам данные.
Выбор измерений для регистра накопления должен выполняться исходя из того, что движения регистра могут быть осуществляться в две стороны: приход и расход. Таким образом, в качестве измерений нужно выбирать те данные, по которым движения точно осуществляться как в одну, так и в другую сторону.
Например, если ведется учет материалов в разрезах номенклатуры и склада, очевидно, что и номенклатура, и склад могут быть измерениями. поскольку как приход, так и расход материалов всегда будут осуществляться с указанием конкретной номенклатуры и конкретного склада. Если же в этой ситуации появляется желание отразить учет материалов еще и в разрезе поставщика, то здесь уже нужно исходить из конкретной схемы учета, принятой на предприятии.
При поступлении материалов поставщик будет указан, а вот при расходовании материалов, это совершенно лишняя информация. Значит, поставщика следует добавить не как измерение, а как реквизит регистра накопления. Если же при расходе материалов поставщик будет указываться наверняка, имеет смысл добавить поставщика в измерения регистра.
Иными словами, по каждому из измерений регистра накопления остатков ресурсы обязательно должны изменяться в обе стороны: приход и расход. Не должно существовать таких измерений, по которым осуществляется только приход или только расход.
Для реквизитов же регистра этот принцип не важен. По реквизитам регистра ресурсы могут только приходоваться или только расходоваться.
Контрольные вопросы:
1. Что такое перечисления?
2. Где применимы перечисления?
2.6 Способы доступа к данным. Работа с запросами.
Система 1С: Предприятие 8 поддерживает два способа доступа к данным, хранящимся в базе данных:
- объектный (для чтения и записи),
- табличный (для чтения).
Объектный способ доступа к данным реализован посредством использования объектов встроенного языка.
Важной особенностью объектного способа доступа к данным является то, что, обращаясь к какому-либо объекту встроенного языка, мы обращаемся к некоторой совокупности данных, находящихся в базе данных, как к единому целому.
Объектная техника обеспечивает сохранение целостности объектов, кеширование объектов, вызов соответствующих обработчиков событий и т. д.
Табличный доступ к данным в 1С: Предприятии 8 реализован с помощью запросов к базе данных, которые составляются на языке запросов.
В этой технике разработчик получает возможность оперировать отдельными полями таблиц базы данных, в которых хранятся те или иные данные.
Табличная техника предназначена для получения информации из базы данных по некоторым условиям (отбор, группировка, сортировка, объединение нескольких выборок, расчет итогов и т.д.). Табличная техника оптимизирована для обработки больших объемов информации, расположенной в базе данных, и получения данных, отвечающих заданным критериям.
Система компоновки данных предназначена для создания отчетов 1С: Предприятия 8 на основе их декларативного описания. Использование декларативного описания отчетов позволяет реализовать следующие возможности:
- создание отчета без программирования;
- использование автоматически генерируемых форм просмотра и настройки отчета;
- разбиение исполнения отчета на этапы;
- исполнение отдельных этапов построения отчета на различных компьютерах;
- независимое использование отдельных частей системы компоновки данных;
- программное влияние на процесс выполнения отчета;
- настройки структуры отчета;
- совмещение в отчете нескольких таблиц;
- создание вложенных отчетов.
Система компоновки данных представляет собой совокупность элементов, каждый из которых соответствует определенному этапу выполнения отчета. Таким образом, весь процесс выполнения отчета в системе компоновки данных сводится к последовательному переходу от одного элемента к другому, доходя, в итоге, до готового отчета.
Контрольные вопросы:
1. Способы доступа к данным, хранящимся в базе данных?
2. Какие возможности позволяет реализовать использование декларативного описания отчетов?
ВОПРОСЫ ДЛЯ КОНТРОЛЯ ЗНАНИЙ ОБУЧАЮЩИХСЯ
1. Объекты конфигурации.
2. Параметры и ресурсы в системе компоновки данных. Состав пользовательских настроек отчета.
3. Реальные и виртуальные таблицы. Источник данных запроса. Параметры запроса и виртуальной таблицы.
4. Объект конфигурации Отчет. Параметры и настройки отчета. Создание отчета. Пользовательские настройки отчета. Вычисляемые поля.
5. Объект конфигурации Перечисление.
6. Проведение документа по нескольким регистрам.
7. Оборотные регистры накопления.
8. Регистры накопления остатков.
9. Способы доступа к данным. Работа с запросами.
10. Система компоновки данных. Ресурсы в системе компоновки данных.
11. Объект конфигурации Отчѐт. Конструктор запроса. Порядок создания отчета.
12. Объект конфигурации Макет. Конструктор печати. Макет печатной формы. Редактирование макета.
13. Модули. Виды модулей. Контекст модуля формы.
14. Форма как программный объект.
15. Регистр накопления. Измерения регистра, ресурсы и реквизиты. Движения регистра накопления.
16. Механизм основных форм. Обработчики событий.
17. Объекты конфигурации и объекты базы данных.
18. Подчиненные объекты конфигурации.
19. Документы. Формы документа.
20. Типы данных. Типообразующие объекты конфигурации.
21. Модули. Виды модулей. Контекст модуля формы.
22. Справочники. Справочник с табличной частью. Формы справочника.
23. Иерархический справочник.
24. Справочник с предопределенными элементами.
25. Проверка заполнения реквизита справочника.
26. Ключевые составляющие системы 1С: Предприятие. Общие сведения о системе. Конфигурация и прикладное решение. Режимы работы системы.
27. Дерево объектов конфигурации.
28. Конфигурация. Объекты конфигурации. Палитра свойств.
29. Характерные особенности документа. Реквизиты и табличные части документа. Основные формы документа. Проведение документа.
30. Объект конфигурации Роль. Ограничение доступа к данным на уровне записей и полей базы данных.
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
Задание 1. Добавьте пустую информационную базу с названием.
Запустите версию 1С:Предприятия. Перед вами появится окно запуска. Добавим новую информационную базу. Для этого нужно нажать на кнопку «Добавить». Откроется окно добавления информационной базы/группы. Выберите вариант создания новой информационной базы и нажмите на кнопку «Далее». На следующем этапе можно создать новую информационную базу из заготовки (шаблона) или совершенно пустую. Для выполнения практической работы нам понадобятся только пустые информационные базы. Выберите нужный пункт и нажмите на кнопку «Далее». При необходимости можно изменить каталог для установки информационной базы. Нажмите на кнопку «Далее». В списке информационных баз появится созданная вами информационная база списке информационных баз появится созданная вами информационная база. Любая информационная база может быть запущена в двух режимах: «1С: Предприятие» и «Конфигуратор». Режим «1С: Предприятие» — это пользовательский режим. В этом режиме пользователи добавляют, изменяют, удаляют данные, формируют отчеты и выполняют другие прикладные задачи.
Режим «Конфигуратор» — это режим для разработчика. В этом режиме разрабатываются прикладные решения и выполняется администрирование информационных баз. Для начала запустим созданную информационную базу в режиме «1С: Предприятие». Для этого выберите свою базу в списке баз и нажмите на кнопку «1С: Предприятие». Закроем пользовательский режим с помощью «крестика» в правом верхнем углу. Откроем систему «1С: Предприятие» заново. На этот раз запустим информационную базу в режиме «Конфигуратор». Откроется режим для разработчика. Здесь и будет производиться конфигурация (настройка) информационных баз.
Для разработки информационных баз нам понадобятся специальные объекты. Чтобы их включить, необходимо выбрать пункт меню «Конфигурация» «Открыть конфигурацию». В окне конфигурации находится дерево конфигурации, состоящее из объектов конфигурации. Каждый объект выполняет определенную функцию.
Задание 2. Создайте информационную базу «Мастерская по ремонту бытовой техники». Выполнение задания визуализируйте скриншотом.
1.Нажмите кнопку Добавить в окне запуска 1С Предприятие. Выберите режим Создание новой ИБ, затем выберите режим Создание ИБ без конфигурации для разработки новой конфигурации, введите название базы «Мастерская по ремонту бытовой техники», нажмите кнопку Далее. Укажите маршрут сохранения базы - Е:\Программирование в 1С\ Мастерская по ремонту бытовой техники, нажмите кнопку Готово.
2. Загрузите информационную базу в режиме Конфигуратор
Выделите информационную базу Мастерская по ремонту бытовой техники и нажмите кнопку Конфигуратор.
3. Переименуйте конфигурацию.
Откройте конфигурацию (пункт Конфигурация/ Открыть конфигурацию). Выделите в дереве объектов конфигурации корневой элемент Конфигурация и двойным щелчком мыши откройте его палитру свойств. Введите имя- МастерскаяПоРемонтуБытовойТехники
Задание 3. Добавить подсистемы. Выполнение задания визуализируйте скриншотом.
Подсистемы – это основные элементы для построения интерфейса
1С: Предприятие, которые позволяют выделить в конфигурации функциональные части, на которые логически разбиваются создаваемое прикладное решение.
1. Раскройте ветвь Общие, выделите ветвь Подсистемы
2. Из контекстного меню выберите пункт Добавить
3. Введите имя подсистемы - УчетМатериалов, затем добавьте подсистему ОказаниеУслуг, Бухгалтерия
4. Запустите в режиме отладки.
Задание 4. Создайте справочник Клиенты. Выполнение задания визуализируйте скриншотом.
1. Установите курсор на объекте конфигурации Справочники, из контекстного меню выберите команду Добавить. В окне редактирования объекта на вкладке введите имя справочника Клиенты.
2. На вкладке :
- установите длину кода - 5 символов
- установите длину наименования – 50
3. На вкладке Подсистемы выберите все подсистемы, в которых будет располагаться справочник
4. Сохраните конфигурацию, выбрав пункт меню Конфигурация/ Сохранить конфигурацию
5. Выберите пункт меню Отладка/ Начать отладку. Подтвердите, нажав кнопку Принять.
6. В режиме 1 С: Предприятие выберите справочник и введите 4 наименования клиентов.
Задание 5. Создайте справочник Компьютерная техника введите 4 наименования компьютерной техники. Выполнение задания визуализируйте скриншотом.
Задание 6. Создайте информационную базу «Мастерская по ремонту бытовой техники» ( визуализируя скриншотом созданную ИБ ) и выполните следующие действия:
- добавьте подсистемы: Учет материалов, Оказание услуг, Бухгалтерия;
- создайте справочник Клиенты;
- создайте справочник Компьютерная техника;
- создайте справочник Склады. На вкладке нажмите кнопку Предопределенные, нажмите кнопку Действие/Добавить, введите имя элемента- Основной. На вкладке Подсистемы выберите УчетМатериалов. В режиме 1 С: Предприятие выберите из раздела Учет материалов справочник и введите два элемента: Розничный и Оптовый;
- создайте справочник Сотрудники. Добавьте новую Табличную часть с именем ТрудоваяДеятельность с реквизитами:
1) Организация – тип Строка, длина 100
2) НачалоРаботы – тип Дата, Состав даты- Дата
3) Окончание Работы -тип Дата, Состав даты-Дата
4) Должность - тип Строка, длина 100.
На вкладке Формы добавьте новую форму, выберите вариант справочника – Форма элемента. На вкладке Подсистемы выберите все подсистемы;
- создайте иерархический справочник Номенклатура. Создайте 2 группы в справочнике: «Материалы», «Услуги». В группе «Материалы» создайте 2 группы: Детали и Прочие элементы. Введите в группу «Детали» наименование одной детали, в группу Прочие элементы введите: Видеокарта, Мышь.
В группе «Услуги» создайте 2 группы: Компьютеры и Принтеры. Введите в группу «Компьютеры» элементы:
- ремонт компьютеров;
- приобретение компьютеров.
Введите в группу «Принтеры» элементы:
- лазерный;
- струйный;
создать макет печатной формы документа ОказаниеУслуги.
Задание 7. Создать документ Оказание Услуги. Выполнение задания визуализируйте скриншотом.
В режиме Конфигуратор необходимо выполнить следующие действия:
1. Создайте документ ОказаниеУслуги с реквизитами:
- Склад , тип СправочникСсылка.Склады
- Клиент, тип СправочникСсылка.Клиенты
- Мастер, тип СправочникСсылка.Сотрудники
2. Создайте табличную часть этого документа с реквизитами:
- Номенклатура – тип СправочникСсылка.Номенклатура
- Количество – с типом Число, длиной 15, точность 2, неотрицательное
- Цена - с типом Число, длиной 15, точность 2, неотрицательное
- Сумма - с типом Число, длиной 15, точность 2, неотрицательное
3. Создайте основную форму документа
4. Создайте процедуру обработки события в модуле формы
1. Щелкните правой кнопкой мыши на поле ввода в колонке Количество (тоже и с Ценой) и откройте Свойства. В разделе События, в поле При изменении, система создаст заготовку процедуры обработчика этого события в модуле формы. В модуль формы добавить соответствующий текст на клиенте.
5. Укажите подсистемы, в которых будет отображаться документ.
ТЕСТОВОЕ ЗАДАНИЕ
1. Структура метаданных и интерпретируемый код на языке «1С: Предприятия», исполняемые на платформе «1С: Предприятие» и реализующие некоторый специализированный функционал:
а) конфигурация (прикладное решение)
б) конфигурация базы данных
в) платформа 1С
2. Варианты работы системы «1С: Предприятие»:
а) файловый и клиент-серверный.
б) серверный
в) конфигурационный
3. Подчиненные объекты, отражающие структуру и формирующие поведение основных объектов
а) реквизиты
б) табличные части
в) макеты
г) формы
д) документы
4. Совокупность данных и метаданных, хранящихся в локальной или серверной базе данных и доступных для пользователей и разработчиков:
а) конфигурация БД
б) табличные части
в) информационная база
5. Объект, предназначенный для представления первичной информации о совершенных хозяйственных операциях
а) документ
б) макет
в) отчёт
г) таблица
6. Объект, предназначенный для представления алгоритмов и инструментов получения выходных данных, который обобщает, формирует и выводит в заранее заданной форме учетную информацию
а) документ
б) макет
в) отчёт
7. Метаданные, содержащие структуру конфигурации, хранящиеся в локальной или серверной БД, недоступные для интерактивного изменения:
а) конфигурация БД
б) конфигурация (прикладное решение)
в) конфигурация базы данных
8. Объект, предназначенный для описания однородных данных, представленных в виде списков
а) регистр
б) реквизит
в) справочник
регистр
ЗАДАНИЯ ДЛЯ ПРАКТИЧЕСКИХ РАБОТ
Задание 1: Заказчик просит создать небольшую информационную систему для регистрации продаж в киоске.
1. В киоске продают канцелярские принадлежности, литературу и булочки. Нужно отобразить только факт продажи товаров в киоске.
2. В результате выполнения работы должен получиться отчет.
Задание 2: Заказчик просит разработать конфигурацию для организации хранения информации о студентах и изучаемых ими предметах. Студенты должны быть разделены по группам. 1. Необходимо хранить следующую информацию о каждом студенте: – ФИО; – номер телефона в формате +7(999)999-99-99; – перечень изучаемых предметов. 2. Нужно построить отчет, формирующий список студентов по предметам. А также разработать возможность устанавливать отбор по конкретному предмету.
Задание 3: Заказчик просит разработать информационную систему, регистрирующую изменение курсов валют. В результате выполнения лабораторной работы должен получиться график курса валют.
Задание 4: Заказчик просит разработать информационную систему, регистрирующую изменение цен купли и продажи валют. Нужно составить отчет, в котором будет формироваться график изменения цен купли-продажи различных валют.
Задание 5. Заказчик просит разработать конфигурацию для учета посещений клиентами экскурсий.
1. В системе необходимо регистрировать посещения экскурсий на основании оформленной брони.
Пользователь системы по телефону с клиентом оформляет бронь выбранной экскурсии. Затем при посещении клиент оплачивает забронированную экскурсию наличными деньгами или банковской картой.
2. Нужно построить отчет о доходах экскурсий. Отчет группирует информацию по способу оплаты экскурсии, а также подводит общий итог.
Задание 6. Заказчик просит разработать учетную систему для ведения информации о кассовых операциях. Кассовые операции включают в себя приход и расход денежных средств с обязательным указанием контрагента и суммы. Необходимо предусмотреть возможность выбирать из списка только те документы, в которых фигурирует выбранный пользователем контрагент. Кроме того, нужно реализовать возможность просматривать остаток денежных средств в кассе.
Задание 7. Заказчик просит разработать конфигурацию для учета работы студентов на занятиях. Учет ведется в разрезе дисциплин.
1. В системе необходимо регистрировать Занятия студентов. В конце занятия пользователь в шапке документа указывает название дисциплины, а в табличной части – какие студенты какой балл получили.
2. Нужно построить Отчет по текущей успеваемости студентов.
Задание 8. Разработать управляемую форму с картинкой, выполнить отладку приложения
Задание 9. Выполнить авторизацию пользователей
ВОПРОСЫ К ЭКЗАМЕНУ
по дисциплине «Программирование 1 С»
- Платформа «1С: Предприятие», её возможности
- Типовые конфигурации, их виды
- Схема типовой конфигурации
- Информационная база «1С: Предприятие». Конфигурация базы данных
- Конфигурация «1С: Предприятие», её состав
- Варианты работы системы «1С: Предприятие»
- Трёхуровневая архитектура «1С: Предприятие»
- Платформенно-зависимая модель «1С: Предприятие»
- Объекты для построения платформенно-зависимой модели «1С: Предприятие»
- Справочники, их виды и предназначение
- Документы, их виды и предназначение. Процедура проведения документа
- Регистры, их виды и предназначение
- Формы, их назначение и составляющие
- Регистры накопления. Простой отчёт. Конструктор запроса
- Макеты. Редактирование макетов и форм
- Регистры сведений и их функциональные возможности
- Объект конфигурации «Перечисления»
- Объект конфигурации «Отчёт»
- Преимущества системы «1С: Предприятие 8.3»
- Конфигурация, её составляющие
- Бизнес-процессы в системе «1С: Предприятие 8.3»
- Подсистемы, их редактирование
- Возможности и преимущества системы «1С: Предприятие 8.3»
- Справочники. Регистры. Формы
- Составляющие конфигурации «1С: Предприятие»
СПИСОК РЕКОМЕНДУЕМЫХ ИСТОЧНИКОВ
1. М. Г. Радченко, Е. Ю. Хрусталёва. 1С: Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы. Издание 3-е
2. Чистов П.А, Мальгинова А.А. Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1С:Предприятие (1С: Enterprise 8)
3. Хрусталёва Е.Ю «Язык запросов «1С: Предприятие 8, 2021
4. 1С: Предприятие 8.3 Практические пособия разработчика (комплект из 3-х книг), Радченко М. Г, Хрусталева Е. Ю, 1С-Паблишинг
5. Профессиональная разработка в системе «1С: Предприятие 8» Том 1, Москва «1С: Паблишинг», 2012
6. Профессиональная разработка в системе «1С: Предприятие 8» Том 1, Москва «1С: Паблишинг», 2012
ПРИЛОЖЕНИЯ
Листинг кода авторизации
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Запрос = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
| Пользователи.Логин КАК Логин,
| Пользователи.УникальныйИдентификатор КАК УникальныйИдентификатор
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Логин = &Логин";
Запрос.УстановитьПараметр("Логин", Объект.Логин);
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда
Если Результат.Количество() = 0 ИЛИ ТекущийОбъект.УникальныйИдентификатор = Результат.УникальныйИдентификатор Тогда
ПользовательСсылка = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ТекущийОбъект.УникальныйИдентификатор);
Если ПользовательСсылка = Неопределено Тогда
НовыйПользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
НовыйПользователь.Имя = Объект.Логин;
НовыйПользователь.Пароль = Объект.Пароль;
НовыйПользователь.ПолноеИмя = Объект.Наименование;
Если Объект.Роль = Перечисления.Роли.Администратор Тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Администратор);
ИначеЕсли Объект.Роль = Перечисления.Роли.Менеджер Тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Менеджер);
ИначеЕсли Объект.Роль = Перечисления.Роли.Замерщик Тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Замерщик);
ИначеЕсли Объект.Роль = Перечисления.Роли.Мастер Тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Мастер);
ИначеЕсли Объект.Роль = Перечисления.Роли.Директор Тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Директор);
КонецЕсли;
НовыйПользователь.ПоказыватьВСпискеВыбора = Ложь;
НовыйПользователь.Записать();
ТекущийОбъект.УникальныйИдентификатор = НовыйПользователь.УникальныйИдентификатор;
Иначе
ПользовательСсылка.Пароль = Объект.Пароль;
ПользовательСсылка.ПолноеИмя = Объект.Наименование;
ПользовательСсылка.Роли.Очистить();
Если Объект.Роль = Перечисления.Роли.Администратор Тогда
ПользовательСсылка.Роли.Добавить(Метаданные.Роли.Администратор);
ИначеЕсли Объект.Роль = Перечисления.Роли.Менеджер Тогда
ПользовательСсылка.Роли.Добавить(Метаданные.Роли.Менеджер);
ИначеЕсли Объект.Роль = Перечисления.Роли.Замерщик Тогда
ПользовательСсылка.Роли.Добавить(Метаданные.Роли.Замерщик);
ИначеЕсли Объект.Роль = Перечисления.Роли.Мастер Тогда
ПользовательСсылка.Роли.Добавить(Метаданные.Роли.Мастер);
ИначеЕсли Объект.Роль = Перечисления.Роли.Директор Тогда
ПользовательСсылка.Роли.Добавить(Метаданные.Роли.Директор);
КонецЕсли;
ПользовательСсылка.Записать();
КонецЕсли
Иначе
Сообщ = Новый СообщениеПользователю;
Сообщ.Текст = "Пользователь с таким логиным уже существует";
Сообщ.Сообщить();
Отказ = Истина;
КонецЕсли
Иначе
НовыйПользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
НовыйПользователь.Имя = Объект.Логин;
НовыйПользователь.Пароль = Объект.Пароль;
НовыйПользователь.ПолноеИмя = Объект.Наименование;
Если Объект.Роль = Перечисления.Роли.Администратор Тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Администратор);
ИначеЕсли Объект.Роль = Перечисления.Роли.Менеджер Тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Менеджер);
ИначеЕсли Объект.Роль = Перечисления.Роли.Замерщик Тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Замерщик);
ИначеЕсли Объект.Роль = Перечисления.Роли.Мастер Тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Мастер);
ИначеЕсли Объект.Роль = Перечисления.Роли.Директор Тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Директор);
КонецЕсли;
НовыйПользователь.ПоказыватьВСпискеВыбора = Ложь;
НовыйПользователь.Записать();
ТекущийОбъект.УникальныйИдентификатор = НовыйПользователь.УникальныйИдентификатор;
КонецЕсли
КонецПроцедуры
Листинг кода для реализации картинки
&НаКлиенте
Процедура СсылкаНаКартинкуНажатие(Элемент, СтандартнаяОбработка)
// Вставить содержимое обработчика.
СтандартнаяОбработка = Ложь;
Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытия.ПолноеИмяФайла = "";
Фильтр = "Файл Jpg (*.jpg)|*.jpg";
ДиалогОткрытия.Фильтр = Фильтр;
ДиалогОткрытия.МножественныйВыбор = Ложь;
ДиалогОткрытия.Заголовок = "Выберете файл для загрузки";
ОписаниеОповещения = Новый ОписаниеОповещения("ПослеЗагрузкиФайла",ЭтаФорма);
ДиалогОткрытия.Показать(ОписаниеОповещения);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗагрузкиФайла(ВыбранныйФайл,ДопПараметр) Экспорт
Если ВыбранныйФайл = Неопределено Тогда
Возврат;
КонецЕсли;
ОписаниеОповещения = Новый ОписаниеОповещения("ПослеПомещенияФайла", ЭтаФорма);
НачатьПомещениеФайла(ОписаниеОповещения,, ВыбранныйФайл[0], Ложь, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПослеПомещенияФайла(Результат, Адрес, ВыбранноеИмяФайла,ДопПараметры) Экспорт
Если Не Результат Тогда
Возврат;
КонецЕсли;
СсылкаНаКартинку = Адрес;
Модифицированность = Истина;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
// Вставить содержимое обработчика.
Если ЭтоАдресВременногоХранилища(СсылкаНаКартинку) Тогда
ФайлКартинки = ПолучитьИзВременногоХранилища(СсылкаНаКартинку);
ТекущийОбъект.Картинка = Новый ХранилищеЗначения(ФайлКартинки);
УдалитьИзВременногоХранилища(СсылкаНаКартинку);
СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Объект.Ссылка,"Картинка");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Вставить содержимое обработчика.
СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Объект.Ссылка,"Картинка");
КонецПроцедуры
По теме: методические разработки, презентации и конспекты
Вставка в документ формул (учебное + практическое задание)
Цели урока:Приобрести навык работы в MS Word.Научиться оформлять математические формулы с помощью редактора формул.Совершенствовать культуру оформления документов.Для учащихся:Ученикам все чаще приход...
«Студенческая учебно-практическая конференция «Моя профессия – ветеринар»»
Методическая разработка внеурочного занятия...
Учебно-практическое пособие "Камбоджа"
Настоящее издание включает в себя основные сведения по истории, географии, государственному устройству Камбоджи. Отдельные главы посвя...
Методические рекомендации по организации и проведению учебного практического занятия клинических дисциплин
Методические рекомендации по организации и проведению учебного практического занятия клинических дисциплин (для преподавателей-совместителей очно-заочной формы обучения)Специальность 060501 Сестринско...
ПРАКТИКУМ (методическое учебно-практическое издание) по проведению учебно-практического занятия по междисциплинарному курсу МДК 01 Проектирование зданий и сооружений Тема 2.1 Основы проектирования строительных конструкций т.4 Основы расчета строит
ПРАКТИКУМ адресован будущим техникам строителям. В издании приведена методика расчета стальных колонн. Приведены необходимые извлечения из нормативной документации, требуемые к расчету таблицы. Привед...
ТЕМАТИЧЕСКИЙ ПЛАН (УЧЕБНО-ПРАКТИЧЕСКОЕ ОБУЧЕНИЕ) ПРОФЕССИОНАЛЬНЫЙ МОДУЛЬ 03 «ВЫПОЛНЕНИЕ ОКРАШИВАНИЯ ВОЛОС»
Рабочая программа учебной практики профессионального модуля разработана на основе Федеральных государственных образовательных стандартов (далее – ФГОС) по профессии 43.01.02 «Парикмахер&ra...
Учебно – практическое пособие для самостоятельной работы студентов по физике по разделу «Электродинамика»
Пособие состоит из тестовых заданий для самостоятельной работы студентов по физике по разделу «Электродинамика» для всех специальностей.Задания содержат перечень вопросов программы, ...