Министерство
образования, науки и молодежной политики Нижегородской области
Государственное бюджетное профессиональное образование
«Нижегородский радиотехнический колледж»
ПМ.01 Разработка программных модулей программного
обеспечения для компьютерных систем
МДК 01.02 Прикладное
программирование
МЕТОДИЧЕСКИЕ
УКАЗАНИЯ
К ЛАБОРАТОРНЫМ РАБОТАМ
ПО СПЕЦИАЛЬНОСТИ
09.02.03 Программирование в компьютерных системах
(базовой подготовки)
г. Нижний Новгород
2020 г.
РАССМОТРЕНО
на заседании
ПЦК специальности
Информационные
технологии
Протокол
№____от______2020г.
Председатель ПЦК______/Е.В. Калентьева
|
СОГЛАСОВАНО
Заместитель руководителя по УМР
____________/ Шалыминова Л.Ю.
|
Автор:
Чепыжова Наталья Рэммовна, преподаватель ГБПОУ «НРТК»
Оглавление
Введение.............................................................................................................................................. 4
Правила внутреннего распорядка..................................................................................................... 4
Порядок выполнения лабораторных работ...................................................................................... 4
Рекомендации по выполнению заданий на ПК............................................................................... 5
Требования к оформлению отчета.................................................................................................... 5
Перечень литературы и средств обучения....................................................................................... 6
Лабораторная работа №1................................................................................................................... 7
Тема: Создание простейших обработок в
«1С:Предприятие 8.3»................................................. 7
Лабораторная работа № 2................................................................................................................ 10
Тема: «Создание подсистем, констант и
перечислений информационной системы»............... 10
Лабораторная работа № 3................................................................................................................ 13
Тема: «Разработка спецификаций справочников
программного продукта. Разработка справочников на основании готовой
спецификации»................................................................................................ 13
Лабораторная работа №4................................................................................................................. 15
Тема: «Оптимизация программного кода модуля
справочника»................................................. 15
Лабораторная работа №5................................................................................................................. 17
Тема: «Формирование запросов».................................................................................................... 17
Лабораторная работа №6................................................................................................................. 19
Тема: «Формирование печатных форм для объектов
программного продукта»........................ 19
Лабораторные работы №7-8............................................................................................................ 22
Тема: «Разработка спецификаций документов.
Разработка документов на основании спецификаций. Отладка кода модуля
документа»................................................................................................... 22
Лабораторная работа №9................................................................................................................. 25
Тема: «Создание регистров сведений. Доработка
документов с целью подстановки данных»
Лабораторная работа №10............................................................................................................... 26
Тема: «Создание регистров накопления
конфигурации и проверка механизма накопления информации в системе»......................................................................................................................................... 26
Лабораторная работа N11................................................................................................................ 28
Тема: «Тестирование модулей программного
продукта»............................................................. 28
Лабораторная работа №12............................................................................................................... 30
Тема: «Формирование запросов программного
продукта. Отладка кода модуля запроса с использованием встроенной
программы-отладчик»....................................................................................... 30
Лабораторная работа N13................................................................................................................ 33
Тема: «Формирование отчетов информационной
системы»....................................................... 33
Лабораторная работа №14............................................................................................................... 37
Тема: «Графическое представление информации в
документах и отчетах».............................. 37
Введение
Настоящие
методические указания являются руководством для выполнения лабораторных работ
по ПМ.01 Разработка программных
модулей программного обеспечения для компьютерных систем МДК.01.02 Прикладное программирование. Методические указания разработаны в соответствии с требованиями
Федерального государственного образовательного стандарта по специальности
09.02.03 Программирование в компьютерных системах и предназначены для овладения
обучающимися профессиональных (ПК) и общих (ОК) компетенций, указанных в программе
профессионального модуля.
Руководство к
выполнению лабораторной работы включает в себя описание краткой теории по теме,
задания и указания по технологии их выполнения, контрольные вопросы, требования
к оформлению отчета.
Правила внутреннего распорядка
Руководителем при
выполнении лабораторных работ является преподаватель МДК01.02 Прикладное программирование.
Без преподавателя
вход обучающихся в компьютерный класс запрещается.
В компьютерном классе
может заниматься не более 15 человек.
При нахождении в
компьютерном классе обучающиеся должны соблюдать правила техники безопасности.
В случае
неисправности оборудования необходимо поставить в известность руководителя.
После окончания
лабораторных работ рабочее место должно быть приведено в порядок: необходимо
корректно выйти из системы и выключить компьютер, расписаться в журнале учета
работы на ПК, поставить на место стулья. Дежурные проводят уборку в классе:
выносят мусор, моют доску.
Выполнение
пропущенных лабораторных работ производится в дни и часы, установленные
преподавателем.
Порядок выполнения лабораторных работ
На первом
лабораторном занятии руководитель работ знакомит обучающихся с правилами
техники безопасности, с правилами внутреннего распорядка в компьютерном классе,
с оснащением класса, с особенностями работы в сети в качестве клиента файлового
сервера, с платформой «1С: Предприятие 8.3».
О предстоящей
лабораторной работе обучающиеся уведомляются заранее.
Для выполнения каждой
последующей работы, обучающиеся дома по настоящему руководству знакомятся с
содержанием лабораторной работы, усваивают ее цели, теоретические сведения,
продумывают ответы на поставленные вопросы.
Руководитель работ
проверяет подготовленность обучающихся с помощью экспресс опроса.
Неподготовленные обучающиеся к выполнению работы не допускаются.
Обучающиеся,
допущенные к лабораторной работе, выполняют ее на закрепленных за ними рабочих
местах.
После выполнения
обучающимся заданий лабораторной работы, преподаватель проверяет правильность
выполнения, указывает недостатки, ошибки, допущенные обучающимся.
Обучающийся оформляет
отчет о проделанной работе, если позволяет время. Если времени для оформления
отчета на лабораторной работе не хватает, студент оформляет его дома.
Лабораторные работы оформляются в электронном виде и отсылаются на проверку
преподавателю в систему «MOODLE». Для защиты отчета обучающийся должен
продемонстрировать выполненное задание на компьютере и ответить на вопросы
преподавателя. Отчет о выполненной работе сдается в срок, указанный
преподавателем.
Рекомендации по выполнению заданий на ПК
1. На первом
занятии обучающийся должен подготовить свое АРМ (автоматизированное рабочее
место). Для этого в личной папке необходимо создать новую конфигурацию
платформы «1С:Предприятие 8.3».
2. Поскольку все
лабораторные работы связаны между собой, в конце лабораторной работы
рекомендуется архивировать базу данных и копировать ее на флэшку.
3. В том случае,
если вашей информационной базы не окажется на рабочем диске, выполнение
лабораторной работы начинайте с ее восстановления.
4. При выполнении
лабораторной работы следуйте указаниям выполнения заданий методического
пособия.
Требования к оформлению отчета
Отчет является
документом о проделанной лабораторной работе. Он составляется каждым студентом
индивидуально в электронном виде с использованием редактора OpenOffice.org Writer и
отсылается в систему дистанционного обучения MOODLE.
Отчет должен
содержать:
1.
Титульный лист;
2.
Наименование лабораторной
работы;
3.
Формулировку заданий к лабораторной
работе;
4.
Описание
последовательности действий для выполнения каждого задания лабораторной работы,
экранные формы для демонстрации результатов, описание процедур и функций;
5.
Ответы на контрольные
вопросы.
6.
Выводы.
Перечень литературы и средств обучения
1. Радченко М., Хрусталева Е. «1С: Предприятие 8.3». Практическое пособие
разработчика.- М.: 1С- Паблишинг, 2016.- 928 с.
2. Федорова Г.Н.
Осуществление интеграции программных модулей: учебник для студентов учреждений
среднего профессионального образования.- М.: Издательский центр «Академия», 2017. –
288 с.
3. Федорова Г.Н.
Разработка модулей программного обеспечения для компьютерных систем: учебник
для студентов учреждений среднего профессионального образования.- М.: Издательский центр
«Академия», 2017. – 384 с.
4. Система 1С: Предприятие 8.3
Лабораторная работа №1
Тема: Создание простейших обработок в
«1С:Предприятие 8.3»
Цель работы: Дать обучающимся простейшие навыки работы
в режиме конфигуратор системы «1С:Предприятие 8.3»
Краткие теоретические сведения
Для создания программы-обработки в среде
конфигурации необходимо:
•
На дереве «Конфигурации»
выбрать вид объекта «Обработки» и в контекстном меню выбрать команду добавить.
•
В появившемся окне свойств
на закладке «Основные» указать название обработки
•
Перейти на закладку
«Формы» и добавить форму обработки.
•
В окне создания формы
указать режимы- «назначить форму основной» и тип формы- «обработка»
•
В открывшемся окне формы
на закладке реквизиты добавить необходимые для работы формы реквизиты
•
На закладке Команды
добавить необходимые для работы формы команды.
•
Перейти на закладку
«модуль» и прописать командные процедуры. Далее проверить работу обработки в
пользовательском режиме.
ЗАДАНИЯ
1. Запустить
систему «1С: Предприятие 8.3» в режиме Конфигуратор.
2. Создать новую обработку с именем «Калькулятор»
на дереве конфигурации. Перейти на закладку «Формы» и создать форму обработки.
3. В открывшимся окне (Форма) создать реквизиты
формы: Опер (операция, тип-число), Пер (переменная, тип-число, точность- 2),
Поле (поле ввода, тип-число, точность-2). Перетащить реквизит формы «Поле» в
область «элементы» формы.
4.
Перейти на закладку команды.
5. Создать команды: Сложение, Вычитаение,
Умножение, Деление, Корень, Степень, Косинус, Синус, Тангенс, Равно.
6. В свойствах команд найти свойство «действие»,
нажать на значок «лупа»,
в модуле формы при этом сформируется заголовок
процедуры с именем команды. Записать действия соответствующей команды.
Например, для команды «Сложение» процедура будет иметь вид:
&НаКлиенте
Процедура
Сложение(Команда)
Опер
= 1; //операция сложения
Пер
= Поле;
КонецПроцедуры
7. Добавить элемент формы группа1
(группа-обычная) . В свойствах группы указать вертикальную группировку. Затем
перетащить команды в область формы «элементы» в группу1 так, чтобы структура
совпадала с рисунком, приведенным ниже.
8. Для каждого элемента формы типа «Кнопка» в
свойствах написать заголовок: для кнопки сложение «+», вычитание «-», и
т. д.
9.
Для элемента формы «Поле» в свойстве
«Растягивать по горизонтали» установить — ДА. После
этого форма должна принять следующий вид:


10. Модуль формы
обработки должен иметь следующее содержание:
&НаКлиенте
Процедура
Сложение(Команда)
Опер
= 1;
Пер
= Поле;
КонецПроцедуры
&НаКлиенте
Процедура
Вычитание(Команда)
Опер
= 2;
Пер
= Поле;
КонецПроцедуры
&НаКлиенте
Процедура
Умножение(Команда)
Опер
= 3;
Пер
= Поле;
КонецПроцедуры
&НаКлиенте
Процедура
Деление(Команда)
Опер
= 4;
Пер
= Поле;
КонецПроцедуры
&НаКлиенте
Процедура
Равно(Команда)
Если Опер=1 тогда
Поле=Пер+Поле;
иначеЕсли
Опер=2 тогда Поле1=Пер-Поле;
ИначеЕсли
Опер=3 тогда Поле=Пер*Поле;
иначеЕсли
Опер=4 тогда Поле=Пер/Поле;
КонецЕсли;
КонецПроцедуры
11.
Перейти в режим пользователя и проверить работу обработки.
12. Сформировать обработку-накладную для
автоматизации операций по учету товара.

Указания к
выполнению:
·
На форме разместить
реквизит табполе, который имеет тип-таблица значений; добавить его колонки;
·
Путь к данным элемента
Таблица1-табполе;
·
Создать команду ИТОГ для
расчета суммы в каждой строке и итоговых сумм.

&НаКлиенте
Процедура
ИТОГ(Команда)
ИтогСумма=0;
ИтогКоличество=0;
Для Каждого
Стр Из ТабПоле Цикл
Стр.Сумма =
Стр.Цена*Стр.Количество;
ИтогСумма=ИтогСумма+Стр.Сумма;
ИтогКоличество=ИтогКоличество+Стр.Количество
КонецЦикла;
Элементы.Таблица1.Подвал=Истина;
Элементы.Таблица1Сумма.ТекстПодвала
= "Итого: "+ ИтогСумма;
Элементы.Таблица1Количество.ТекстПодвала
= "Итого: "+ ИтогКоличество;
КонецПроцедуры
·
Разместить на форме кнопку
Итог и связать ее с командой ИТОГ.
·
Проверить
работу обработки.
Контрольные вопросы
1.
Перечислите
основные элементы управления формы объекта и их свойства.
2.
Как сделать конкретную
форму обработки главной?
3.
Для чего
используется свойство таблицы «Подвал»?
Лабораторная работа № 2
Тема: «Создание подсистем, констант и
перечислений информационной системы»
Цель pаботы: Научить обучающихся создавать подсистемы,
константы и перечисления системы.
Краткие теоретические сведения
Константы в системе
1С:Предприятие, как правило, служат для хранения информации, которая либо
совсем не изменяется в процессе функционирования системы, либо изменяется
достаточно редко. В константах хранится информация, характеризующая прикладную
задачу в целом. Наиболее простой пример подобной информации - название
организации, которое, как правило, не меняется. В программных модулях для общих
действий над заданными в конфигураторе константами (получение формы для
управления константами, создание набора констант) служит объект КонстантыМенеджер. Для одновременного изменения значений
определенной группы констант следует пользоваться объектом КонстантыНабор. Для чтения и записи значения определенной
константы можно обращаться к объекту КонстантаМенеджер.
Пример
получения значения константы:
Директор=Константы.Директор.Получить()
Пример записи значения
константы:
Константы.Директор.Установить("Иванов Петр Васильевич ")
Подсистемы — основной инструмент построения командного
интерфейса пользователя. Объекты метаданных «Подсистемы» имеют иерархическую
структуру.
Постоянный объект
закреплённых в конфигурации метаданных, сформированный списком, называется перечислением.
Примерами
общеизвестных перечислений, остающихся неизменными, являются: пол (мужской,
женский), число (единственное, множественное), месяцы, года.
Задания
1.
Создать подсистемы: Бухгалтерия и Торговля. Синонимы подсистем совпадают с их
именами. Подобрать картинки для подсистем. В состав одной из подсистем включить
разработанные вами обработки. Просмотреть как изменился интерфейс системы в
режиме пользователя.
В
режиме конфигуратора создать новые константы: Наименование Организации,
ЮридическийАдрес, ОсновнойПокупатель, ОсновнойПоставщик, ОсновнойСклад. (Тип —
строка, Длина — 30).

2.
Перейти в режим пользователя и заполнить константы по усмотрению.
3. В дереве конфигурации создать перечисления
СтавкиНДС , КласификаторЕдиницИзмерения и КласификаторТипЦен. Добавить значения
для СтавкиНДС: НДС20, НДС18, НДС10, БезНДС. Для КласификаторЕдиницИзмерения:
Шт, Ящик, Литр, Метр, Кг. Для КласификаторТипЦен: Розница и Оптовый.
4. Создать обработку для проверки выбора
констант и перечислений. Для этого на дереве конфигураци создадим обработку
«КонстантыПеречисления» и создадим для неё форму обработки. Затем добавим
реквизит формы Реквизит1 (в правом верхней части окна) и определим тип
«КонстантыНабор». После выбора типа реквизита перенесем из области реквизитов в
элементы формы константы: ОсновнойПокупатель, ОсновнойПоставщик, ОсновнойСклад.
Изменим у этих элементов названия на Покупатель, Поставщик и Склад
соответственно, для этого выделим элемент на форме и в свойстве Заголовок
напишем нужное имя.
5. Дополнить форму обработки реквизитами для
подсчета суммы полученного товара: Наименование (Тип-строка), Цена (Тип-Число,
Длина-10, точность-2) и Количество (Тип-Число). Перенести их в элементы формы.
6. Добавить реквизиты: ЕденицаИзмерения (Тип —
ПеречислениеСсылка.КласификаторЕдиницИзмерения) СтавкаНДС
(Тип-ПеречисленияСсылка.СтавкиНДС) и СуммаСНДС (Синоним-Сумма с НДС, Тип-Число,
Точность -2).
Переносим эти реквизиты в элементы формы.
7. Создать команду «ПодсчетСуммыСНДС» и
связать ее с кнопкой «Подсчет»
&НаКлиенте
Процедура ПодсчетСуммыСНДС(Команда)
ПолучениеСтавокНДС();
КонецПроцедуры
&НаСервере
Процедура
ПолучениеСтавокНДС()
Если СтавкаНДС =
Перечисления.СтавкиНДС.БезНДС Тогда
СуммаСНДС
= Цена*Количество;
ИначеЕсли
СтавкаНДС = Перечисления.СтавкиНДС.НДС10 Тогда
СуммаСНДС
= Цена*Количество*1.1;
ИначеЕсли
СтавкаНДС=Перечисления.СтавкиНДС.НДС18 Тогда
СуммаСНДС
= Цена*Количество*1.18;
ИначеЕсли
СтавкаНДС = Перечисления.СтавкиНДС.НДС20 Тогда
СуммаСНДС
= Цена*Количество*1.2;
КонецЕсли;
КонецПроцедуры
8. Для получения
значений констант конфигурации создать команду Получить и связать ее с кнопкой.
&НаКлиенте
Процедура
Получить(Команда)
ПолучитьКонст();
КонецПроцедуры
&НаСервере
Процедура
ПолучитьКонст()
Реквизит1.НазваниеОрганизации=Константы.НазваниеОрганизации.Получить();
Реквизит1.ОсновнойПоставщик=Константы.ОсновнойПоставщик.Получить();
Реквизит1.ОсновнойСклад=Константы.ОсновнойСклад.Получить();
конецпроцедуры
9. В режиме пользователя проверить работоспособность
полученной формы.

Контрольные вопросы:
1. Для чего используется объект конфигурации
«Подсистемы».
2. Имеет ли константа историю изменения
значений. Почему в программах чаще используют не константы, а регистры
сведений.
3. Как получить значение константы из базы
данных программным способом, как ее записать.
4.
Что такое объект «Перечисление», где вводятся значения перечислений, для чего
они используется.
Лабораторная работа № 3
Тема: «Разработка спецификаций справочников программного
продукта. Разработка справочников на основании готовой спецификации».
Цель pаботы: Научить обучающихся создавать справочники,
устанавливать их свойства, программировать обработчики событий.
Краткие теоретические сведения
У любого справочника, после создания имеется два
обязательных реквизита: «Наименование» и «Код». Они являются неотъемлемой
частью любого объекта метаданных типа «Справочник». Они создаются по
умолчанию, для них устанавливаем свойства «Длина наименование» и «Длина
кода». В большинстве случаев требуется указать для справочника дополнительные
реквизиты. Кроме обычных реквизитов, любой справочник может иметь табличные
части.
На
вкладке "Нумерация" определяется способ нумерации и контроля
уникальности элементов. По умолчанию устанавливается режим автонумерации и
контроля уникальности. Справочники
могут поддерживать иерархическое расположение элементов. Например, в
справочнике Номенклатура могут быть созданы группы: Бытовая
техника, Обувь, Продукты
и т.д., в
которых располагаются элементы, относящиеся к этим группам. Кроме того группы
справочника могут включать в себя и другие группы, создавая тем самым
многоуровневую иерархическую структуру. Разные справочники могут находиться в
состоянии подчинения, т.е. элементы одного справочника могут быть подчинены
элементам или группам другого справочника. Например, справочник Кассы может быть подчинен справочнику Организации. Тогда при оформлении кассовых
документов для некоторой организации можно будет выбрать кассу не среди всех
имеющихся в программе касс, а среди касс, существующих только в этой
организации.
Справочники допускают также создание предопределенных элементов,
которые существуют в справочнике всегда, вне зависимости от действий
пользователя. Такие элементы справочника создаются разработчиком при разработке
прикладного решения и не могут быть удалены или перемещены пользователем.
ЗАДАНИЯ
1. Открыть 1С в
режиме конфигурации и создать перечисление ЛьготыСотрудников. Добавить
значения: УчастникВоенныхДействий и Инвалид.
2. Разработать
спецификацию для создания справочника Физические Лица. Создать справочник
согласно созданной спецификации. Проверить наличие в созданном справочнике
реквизитов, приведенных на рисунке. Настроить тип и длину реквизитов
самостоятельно. Изменить длину наименования можно в окне настройки формы на
вкладке «Данные» в графе длина наименования.
3. Справочник
сделать не иерархическим.
4. Создать форму
элемента справочника.
Для этого на дереве
конфигурации выделить формы и в контекстном меню выбрать добавить.
Выбрать тип формы —
форма элемента и нажать готово.
5. Создать страницы
и распределить реквизиты на разные страницы для удобства заполнения.
·
В списке элементов формы
нажать кнопку добавить и выбрать команду «Группа — Страницы». Получим Группу1.
Затем выделить Группу1 и в контекстном меню выбрать добавить- «Группа —
Страница» дать ей имя и заголовок-Общее.
·
Выделить элемент Группа1
и в контекстном меню выбрать добавить- «Группа-Страница», определить для неё
имя и заголовок «Трудовая деятельность».
·
Аналогично повторить
операцию для страницы «НДФЛ».
·
На странице Общие создать
Группу2-Обычная группа.
·
После создания
страниц следует в списке элементов расположить элементы формы как показано на
рисунке.
6. Редактирование формы.
·
Для полей Фамилия, Имя,
Отчество в свойствах поставить флажок ТолькоПросмотр.
·
Через свойства элемента
изменить заголовок элемента Наименование на ФИО.
7. Создать форму списка справочника.
·
Расположть на ней
следующие колонки: Код, Фамилия, Имя, Отчество, Дата рождения.
8. Самостоятельно создать спецификацию справочника Номенклатура.
Создать справочник Номенклатура. (справочник должен быть иерархический,
проверить наличие реквизитов справочника: ЕдИзм, Цена).
9. Перейти в режим
пользователя. Создать две группы Материалы и Продукция.
Добавить в справочник
элементы из таблицы:
Материалы:
|
Продукция:
|
Гвозди
|
Кухонные Столы
|
Доски
|
Письменный Стол
|
ДСП
|
Стулья
|
Краска
|
Табуретки
|
Лак
|
|
Шурупы
|
|
Самостоятельно
заполнить реквизиты справочника, предусмотренные по спецификации.
Контрольные вопросы
1. Укажите свойства и события реквизитов
справочника.
2. Объяснить назначение команд созданных процедур.
Требования к отчету:
·
Указать название и цель
работы.
·
Ответить письменно на
контрольные вопросы.
·
Скопировать экранные
фрагменты работы программы.
·
Сделать выводы.
Лабораторная работа №4
Тема: «Оптимизация программного кода модуля справочника».
Цель pаботы: Научить обучающихся разрабатывать программный код модуля справочника,
оптимизировать программный код.
ЗАДАНИЯ
1.
Для увеличения скорости заполнения справочника создать код, позволяющий при
вводе в реквизит «Наименование» фамилии, имени и отчества физического лица
автоматически переносить данные в реквизиты «Фамилия», «Имя», «Отчество».
Указания:
Создать
обработчик события при изменении. В процедуре написать следующий код:
К=Найти(Объект.Наименование,"
");
Объект.Фамилия=Лев(Объект.Наименование,К);
Л=СтрДлина(Объект.Наименование);
ИО=Сред(Объект.Наименование,К+1);
ИО=СокрЛП(ИО);
М=Найти(ИО,"
");
Объект.Имя=Лев(ИО,М);
Объект.Отчество=СокрЛП(Прав(ИО,СтрДлина(ИО)-М));
2.
Самостоятельно создать код, позволяющий при заполнении реквизитов «Фамилия»,
«Имя», «Отчество» справочника автоматически формировать и заполнять реквизит
«Наименование» (пример: Иванов И.В.), то-есть, в реквизит «Наименование» должны
записаться — фамилия и инициалы физического лица.
3. Создать собственную команду добавления данных в справочник.
Указания:
Открыть форму списка справочника.
В правой верхней части окна перейти на
закладку команды и добавить команду «Добавить» после чего создать для неё
обработчик события. В модуле написать следующий код:
&НаСервере
Процедура ДобавитьСервер()
СпрФизЛица=Справочники.ФизическиеЛица;
НовыйОбъектСпрФизЛица =
СпрФизЛица.СоздатьЭлемент();
НовыйОбъектСпрФизЛица.Наименование
= "Самсонова Ирина Константиновна";
НовыйОбъектСпрФизЛица.Фамилия =
"Самсонова";
НовыйОбъектСпрФизЛица.Имя =
"Ирина";
НовыйОбъектСпрФизЛица.Отчество=
"Константиновна";
НовыйОбъектСпрФизЛица.ДатаРождения
='19800117';
НовыйОбъектСпрФизЛица.Записать();
КонецПроцедуры
&НаКлиенте
Процедура Добавить(Команда)
ДобавитьСервер();
КонецПроцедуры
Добавить на форму новый элемент Кнопка определить имя и заголовок
«Добавить», в свойствах элемента указать имя команды Добавить. Затем перенести
её в группу «Командная панель».
На командной панели
создать новую кнопку и дать ей имя стандартной команды ЗАКРЫТЬ. Кнопка нужна для
закрытия формы.
Перейти
в режим пользователя и добавить 5 записей в справочник. Проверить работу форм
и обработок.
Требования к отчету:
·
Указать название и цель
работы.
·
Скопировать экранные
фрагменты работы программы.
Лабораторная работа №5
Тема: «Формирование запросов к справочникам
программного продукта»
Цель pаботы: Научить студентов применять язык системы
«1С:Предприятие 8» для создания запросов к базе данных ИС.
Краткие теоретические сведения
Для работы с запросами используется объект встроенного языка ЗАПРОС. Он
позволяет получить информацию, хранящуюся в полях базы данных в виде выборки,
сформированной по заданным правилам. Исходную информацию запрос получает из
набора таблиц. Все таблицы, которыми оперирует язык запросов можно разделить на
реальные и виртуальные. Пример виртуальной таблицы-
ЦеныНоменклатуры.СрезПоследних, которая формируется на основе таблицы регистра
сведений ЦеныНоменклатуры.
Текст запроса:
ВЫБРАТЬ
<список полей выборки>
ИЗ <список
таблиц с указанием условий объединения>
| ГДЕ <задание
условий отбора>
| УПОРЯДОЧИТЬ По
<поля сортировки>
| СГРУППИРОВАТЬ
ПО <поля группировки.
…….
Для примера подведём
запрос итогов калорийности продуктов в разрезе цвета.
Запрос = Новый Запрос(
"ВЫБРАТЬ
| Цвет,
| Наименование,
| Калорийность
|ИЗ
| Справочник.Номенклатура
|ГДЕ
| ЭтоГруппа = Ложь
|ИТОГИ
| СУММА(Калорийность)
|ПО Цвет");
Узнаем
среднюю калорийность продуктов в целом по всей таблице справочника.
Запрос = Новый Запрос(
"ВЫБРАТЬ
| Наименование,
| Калорийность
|ИЗ
| Справочник.Номенклатура
|ГДЕ
| ЭтоГруппа = Ложь
|ИТОГИ
| СРЕДНЕЕ(Калорийность)
|ПО
| ОБЩИЕ" );
Итоги подводятся
одних полей в разрезе других.
Для вычисления итогов используются агрегатные функции:
// СУММА
// МАКСИМУМ
// МИНИМУМ
// СРЕДНЕЕ
// КОЛИЧЕСТВО
ЗАДАНИЯ
1. Создать запрос,
выводящий сведения о фамилии, имени, отчестве и дате рождения физических лиц.
2. Создать запрос,
выводящий сведения о физических лицах, родившихся на конкретную дату. Дата
вводится в поле формы обработки.
3. Вывести фамилии
многодетных физических лиц.
4. Вывести сведения
о физических лицах, родившихся в понедельник.
5. К справочнику
физические лица добавить реквизиты: Адрес, номер отдела, заработная плата.
6. Вывести сведения
о минимальной и максимальной зарплатах в подразделениях. (группировка по
подразделениям).
7. Вывести сведения
о сотрудниках, имеющих максимальную зарплату.
8. Вывести сведения
о сотрудниках с фамилией на букву П.
9. Вывести сведения
об итоговой заработной плате в разрезе подразделений.
10. Вывести
сведения об общей заработной плате.
11. Вывести
сведения о конкретном физическом лице. ФИО вводится в поле формы обработки.
12. Вывести среднюю
заработную плату физических лиц.
13. Вывести сведения
о продукции для справочника номенклатура.
Контрольные вопросы:
1. Что является источником данных в запросе?
2. Что такое левое соединение?
3.
В чем отличие реальных и
виртуальных таблиц. Приведите примеры.
4.
Что такое псевдонимы в
языке запросов?
Требования к отчету:
·
Указать название и цель
работы
·
Ответить на контрольные
вопросы
·
Скопировать модули форм
обработок.
·
Скопировать результаты
работы запросов.
·
Сделать выводы.
Лабораторная работа №6
Тема: «Формирование печатных форм для объектов программного продукта».
Цель pаботы: Научить обучающихся разрабатывать код для
формирования печатных форм справочника.
Краткие теоретические сведения
Для
создания печатной формы объекта необходимо создать макет. Макет предназначен
для хранения данных, которые могут потребоваться объектам конфигурации при
формировании печатной формы. При этом макет печатной формы должен быть подчинен
объекту конфигурации. Создание макета заключается в конструировании его
составных частей - именованных областей, из которых затем собирается готовая
печатная форма. Макет можно создать вручную и с использованием конструктора
печати. На основе макета формируется готовая печатная форма с использованием
встроенного языка системы «1С: Предприятие 8».
Задания
1. В учебной
конфигурации создать иерархический справочник Сотрудники (Иерархия групп и
элементов), с приведенными реквизитами. Для реквизитов ДатаПриема и
ДатаУвольнения выбрать тип Дата. А для реквизита ФизическоеЛицо выбрать тип
СправочникСсылка.ФизическиеЛица.
2. Создать справочник Договора.
Указать в справочнике
Договора владельца, для этого перейти на вкладку Владельцы, нажать на кнопку
добавить (справа сверху) и выбрать справочник Сотрудники.
3. Перейти в режим
пользователя и ввести нескольких сотрудников, указав им договор.
4. Создать макет для
справочника сотрудники.
Указания:
-В
режиме конфигуратора открыть свойства справочника Сотрудники. На закладке
макеты нажать кнопку создать. Выбрать тип макета — табличный документ и
нажать ОК. Оформить макет, как показано ниже.
- Для создании области нужно нажать Ctrl+Shift+N или кнопку создать область на верхней панели
инструментов. Для областей Строка и ПодвалСтрока в свойствах указать
Заполнение — Параметр.

Создать форму элемента справочника. На форму в группу Командная Панель
добавить кнопку Печать и создать для неё команду Печать.
Далее приведен код процедур модуля формы справочника.
&НаКлиенте
Процедура Печать(Команда)
ПечатьСервер().Показать();
КонецПроцедуры
&НаСервере
Функция ПечатьСервер()
ТабДок = Новый ТабличныйДокумент;
Макет =
Справочники.Сотрудники.ПолучитьМакет("Макет");
Область =
Макет.ПолучитьОбласть("Заголовок");
ТабДок.Вывести(Область);
Область =
Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(Область);
ФизЛицо =
Справочники.ФизическиеЛица.НайтиПоНаименованию(Объект.ФизическоеЛицо);
Макет =
Справочники.Сотрудники.ПолучитьМакет("Макет");
Область =
Макет.ПолучитьОбласть("Строка");
Область.Параметры.Фамилия = ФизЛицо.Фамилия;
Область.Параметры.Имя = ФизЛицо.Имя;
Область.Параметры.Отчество = ФизЛицо.Отчество;
Область.Параметры.ДатаПриема =
Объект.ДатаПриема;
Область.Параметры.ДатаУвольнения
=Объект.ДатаУвольнения;
ТабДок.Вывести(Область);
Область =
Макет.ПолучитьОбласть("Подвал");
ТабДок.Вывести(Область);
Запрос=Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ
| Договора.Наименование
КАК НаименованиеДоговора
|ИЗ
| Справочник.Договора КАК
Договора
|ГДЕ
| Договора.Владелец.Наименование
= &Наименование";
Запрос.УстановитьПараметр("Наименование",Объект.Наименование);
Результат =Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока
выборка.Следующий() Цикл
Область = Макет.ПолучитьОбласть("ПодвалСтрока");
Область.Параметры.Договор
= Выборка.НаименованиеДоговора;
ТабДок.Вывести(Область);
КонецЦикла;
Возврат Табдок;
КонецФункции
5. В свойствах элемента кнопки Печать указать
Имя команды — Печать.
Проверить работу кнопки в режиме пользователя.
6. Создать печатную форму с использованием
конструктора. Для этого:
- В Конфигураторе
открыть свойства справочника ФизическиеЛица.
- Перейти на закладку
макеты, нажать на кнопку конструктор и выбрать конструктор печати.
- Нажать на кнопку
далее и выбрать поля, которые будут находиться в шапке (произвольные,
самостоятельно), затем нажать кнопку далее и выбрать поля, которые будут
находиться в табличной части (произвольные). Затем нажать ОК и проверить
работу кнопки в режиме пользователя.
Контрольные вопросы
1.
Каково назначение объекта
макет?
2.
Опишите структуру макета
для формирования печатной формы.
Требования к отчету
1. Скопируйте скрин-шот макета справочника.
2. Объясните назначение команд созданных процедур.
3.
Приведите результат работы разработанного кода.
Лабораторные работы №7-8
Тема: «Разработка спецификаций документов. Разработка документов на основании спецификаций. Отладка кода модуля
документа».
Цель pаботы: Научить обучающихся разрабатывать документы
программного продукта, использовать программу - отладчик при отладке кода
модуля документа.
Краткие теоретические сведения
Объект конфигурации
документ предназначен для описания информации о совершенных хозяйственных
операциях организации. Документ обладает способностью проведения. Факт
проведения документа означает, что событие, которое он отражает, повлияло на
состояние учета. У любого документа существуют обязательные реквизиты: дата и
номер документа. Документ может содержать дополнительные реквизиты и табличные
части.
Для визуализации
документа существует несколько форм: форма документа, форма списка документов,
форма выбора документов.
ЗАДАНИЯ
1. Создать Справочники контрагенты и склады.
Справочники не иерархические. Для справочника Контрагенты добавить реквизит
ЮридическийАдрес.
2. В режиме Пользователя заполнить справочники.
3. Создать перечисление ТипыЦен. Значения
перечисления: СНДС и БезНДС. Создать перечисление СтавкиНДС со значениями:
НДС10, НДС20, НДС18, БезНДС.
4. Создать спецификацию для документа Приходная
Накладная на основе анализа предметной области. На основе спецификации создать
документ Приходная Накладная. Проверить наличие в документе реквизитов:
Контрагент, Склад, Ответственный, Цена. Указать типы реквизитов: Ответственный
— Справочник ФизическиеЛица, Цена — Перечисления ТипыЦен.
5. Проверить наличие в табличной части документа
реквизитов: Наименование, Количество, Цена, Сумма, СтавкаНДС, СуммаНДС,
СуммаСНДС. Указать типы реквизитов: Наименование — Справочник Номенклатура.
СтавкаНДС — Перечисление СтавкиНДС.
6. Создать форму документа. У полей Контрагент,
Склад, Ответственный, Цена в свойствах найти графу РастягиватьПоГоризантали и
выбрать Нет. У колонок табличной части СуммаНДС и суммаСНДС в свойствах найти
Текст подвала и написать «Итого:». Затем у полей (Наименование, Количество,
цена и СтавкаНДС) в свойствах найти ОтметкаНезаполненого и выбрать Да.
7. Для колонки Цена добавить событие при
изменении и в модуле формы написать обработчик события:
&НаКлиенте
Процедура
ТабличнаяЧасть1ЦенаПриИзменении(Элемент)
Стр =
Элементы.ТабличнаяЧасть1.ТекущиеДанные;
Если
Стр.Наименование.Пустая() Тогда
Сообщить("Сначала
выберите Наименование!");
Стр.Цена
= 0;
ИначеЕсли
Стр.Количество = 0 Тогда
Сообщить("Сначала
введите Количество");
Стр.Цена
= 0;
Иначе
Стр.Сумма
= Стр.Количество*Стр.Цена;
КонецЕсли;
КонецПроцедуры
8. В правой верхней
часть окна перейти на закладку команды, добавить команду Пересчитать и создать
для неё в модуле формы процедуры:
&НаКлиенте
Процедура
Пересчитать(Команда)
РасчетСуммыНДС();
Элементы.ТабличнаяЧасть1.Подвал=Истина;
КонецПроцедуры
&НаСервере
Процедура
РасчетСуммыНДС ()
НДС=
Перечисления.СтавкиНДС;
ТипЦены =
Перечисления.ТипЦены;
Для Каждого
Стр Из Объект.ТабличнаяЧасть1 Цикл
Если
Объект.Цена = ТипЦены.СНДС Тогда
Стр.СуммаСНДС
= Стр.Сумма;
Если Стр.СтавкаНДС =
НДС.БезНДС Тогда
Стр.СуммаНДС
= 0;
ИначеЕсли
Стр.СтавкаНДС = НДС.НДС10 Тогда
Стр.СуммаНДС
= Стр.Сумма*1/11;
Стр.СуммаНДС
= Окр(Стр.СуммаНДС,2);
ИначеЕсли
Стр.СтавкаНДС = НДС.НДС18 Тогда
Стр.СуммаНДС
= Стр.Сумма*18/118;
Стр.СуммаНДС
= Окр(Стр.СуммаНДС,2)
ИначеЕсли
Стр.СтавкаНДС = НДС.НДС20 Тогда
Стр.СуммаНДС
= Стр.Сумма*2/12;
Стр.СуммаНДС
= Окр(Стр.СуммаНДС,2)
КонецЕсли;
ИначеЕсли
Объект.Цена = ТипЦены.БезНДС Тогда
Если
Стр.СтавкаНДС = НДС.БезНДС Тогда
Стр.СуммаНДС
= 0;
Стр.СуммаСНДС
= Стр.Сумма;
ИначеЕсли
Стр.СтавкаНДС = НДС.НДС10 Тогда
Стр.СуммаНДС
= Стр.Сумма*0.1;
Стр.СуммаСНДС
= Стр.Сумма+Стр.СуммаНДС;
Стр.СуммаНДС
= Окр(Стр.СуммаНДС,2);
ИначеЕсли
Стр.СтавкаНДС = НДС.НДС18 Тогда
Стр.СуммаНДС
= Стр.Сумма*0.18;
Стр.СуммаСНДС
= Стр.Сумма+Стр.СуммаНДС;
Стр.СуммаНДС
= Окр(Стр.СуммаНДС,2)
ИначеЕсли
Стр.СтавкаНДС = НДС.НДС20 Тогда
Стр.СуммаНДС
= Стр.Сумма*0.2;
Стр.СуммаСНДС
= Стр.Сумма+Стр.СуммаНДС;
Стр.СуммаНДС
= Окр(Стр.СуммаНДС,2)
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
9.
При отладке кода использовать
встроенную программу «Отладчик».
10. В списке элементов
формы создать кнопку Пересчитать и выбрать для неё команду Пересчитать.
11. В итоге
получаем форму:
12. Скопировать полученный документ. Получим
два документа: ПриходнаяНакладная и ПриходнаяНакладная1. В свойствах
ПриходнаяНакадная1 изменить имя и заголовок на РасходнаяНакладная.
13. Проверить работу документов и добавить
несколько записей в каждый документ.
Контрольные вопросы.
•
Каково назначение объекта
Документ. Описать его структуру.
•
Что означает проведение
документа.
•
Назовите события для
реквизитов табличной части документа.
•
Объясните принцип работы
процедур модуля формы документа.
Лабораторная работа №9
Тема: «Создание регистров сведений. Доработка документов с целью
подстановки данных из регистра в поля документа»
Цель pаботы: Научить обучающихся применять язык системы
«1С:Предприятие 8.3» для создания регистров сведений.
Краткие теоретические сведения
Объект конфигурации
регистр сведений предназначен для хранения данных в разрезе нескольких
измерений. В базе на его основе создается таблица. Одной
из возможностей регистра сведений является хранение данных не только в разрезе
указанных измерений, но и в разрезе времени. Разработчик может указать
минимальную периодичность, с которой записи будут заноситься в регистр: день,
месяц, квартал, год, Регистр сведений может быть подчинен
документу-регистратору, а также использоваться в независимом режиме, когда
данные вносятся вручную.
ЗАДАНИЯ
1. Создать
Документ УстановкаЦенНоменклатуры. На закладке данные добавить реквизиты: Наименование (Тип – СправочникСсылка.Номенклатура, Длина - 30), Цена (Тип
– Число).
2. Создать
Регистр Сведений ЦеныНоменклатуры, для этого в дереве конфигурации выделить РегистрыСведений и в контекстном меню выбрать Добавить. На закладке Основные укакзать: Переодичность – В пределах дня, Режим записи – Подчинение регистратору. Далее на
закладке Регистраторы выбрать документ УстановкаЦенНоменклатуры. На закладке Данные Добавить измерение - Номенклатура (Тип – СправочникСсылка.Номенклатура), добавить Ресурс - Цена (Тип – Число).
3. Установить соответствие движений регистра и записей
документа. Для этого:
- Открыть свойства документа УстановкаЦенНоменклатуры
и на закладке Движения выбрать регистр сведений - ЦеныНоменклатуры.
-Нажать кнопку Конструктор движений.
- В конструкторе движений выбрать регистр
ЦеныНоменклатры и нажать ОК. - В левом списке выделить регистр
ЦеныНоменклатуры, потом выделить снизу измерение Номенклатрура и в правом
списке выбрать Наименование двойным щелчком мыши.
- Аналогично действие выполнить для ресурса цена,
только для него выбрать в списке справа реквизит Цена.
4. В режиме пользователя в документ
УстановкаЦенНоменклатуры добавить товары из справочника Номенклатура. Цены
товарам установить произвольные.

Перейти в регистр сведений ЦеныНоменклатуры. Убедиться
в появлении соответствующих записей в регистре.
5. Создать
регистр сведений КурсыВалют.
Установить следующие параметры для регистра:
- Периодичность – в
пределах дня.
- Режим записи – независимый.
Добавить:
-Измерение- Валюта (Тип – ПеречислениеСсылка.Валюты).
-Ресурс – Курс (тип – число).
В режиме пользователя добавить в регистр
несколько записей.
6. Создать процедуру, позволяющую подставлять цену
номенклатуры в документ ПриходнаяНакладная. Для элемента табличной части
Наименование создать обработчик события ПриИзменении и написать в модуле формы
следующий код:
&НаКлиенте
Процедура
ТабличнаяЧасть1НаименованиеПриИзменении(Элемент)
Стр = Элементы.ТабличнаяЧасть1.ТекущиеДанные;
Дата = Объект.Дата;
Номенклатура = Стр.Наименование;
ТекЦена =
ПолучитьЦенуНоменклатуры(Номенклатура,Дата);
Стр.Цена = ТекЦена;
КонецПроцедуры
&НаСервере
Функция ПолучитьЦенуНоменклатуры(Номенклатура,Дата)
Отбор = Новый Структура;
Отбор.Вставить("Номенклатура",Номенклатура);
ресурсы=
РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(Дата,Отбор);
Возврат ресурсы.Цена;
КонецФункции
7. При отладке кода использовать встроенную программу
«Отладчик».
8. Перейти в режим пользователя и добавить новую
Приходную накладную. Убедиться в правильности работы документа.
Контрольные вопросы:
1. Какие значения может иметь свойство Режим
записи регистра сведений и как влияет выбор этого свойства на работу с
регистром?
2. Что такое ведущее
измерение регистра?
3. Как получить
значения ресурсов наиболее поздних записей регистра средствами встроенного
языка?
Лабораторная работа №10
Тема: «Создание регистров накопления
конфигурации и проверка механизма накопления информации в системе».
Цель pаботы: Научить
обучающихся создавать регистры накопления и связывать их с движением
документов.
Краткие теоретические сведения
Объект конфигурации
Регистр накопления описывает структуру накопления данных. На его основе
платформа создает в базе данных таблицу, в которую записываются данные,
поставляемые другими объектами. Основное назначение регистра накопления —
накопление информации в разрезе нескольких измерений, которые указываются при
создании регистра. Виды числовой информации, которые накапливаются называются
ресурсами. Изменение регистра накопления происходит при проведении документа -
регистратора и заключается в том, что в регистр добавляется некоторое
количество записей. Каждая запись содержит значения измерений, значения
приращений ресурсов, ссылку на документ. На основании таблицы движений регистра
накопления система рассчитывает таблицы оборотов и итогов регистра, которые
хранят данные на момент времени последнего движения. Поскольку
регистр накопления служит для накопления числовых значений, каждая запись
выполняет изменение хранимых ресурсов - движение. Движения могут либо добавлять
некоторые приращения к хранимым ресурсам, либо отнимать их. Если должно
выполняться увеличение хранимых ресурсов, - такое движение называется движением
прихода ("+"), если уменьшение хранимых ресурсов - движением расхода
("-").
ЗАДАНИЯ
1. Создать регистр накопления НакопленияНоменклатуры. Для этого:
- В дереве конфигурации выделить регистры накопления и в контекстном меню выбрать Добавить.
- Перейти на закладку данные и добавить измерения: Номенклатура (Тип – СправочникСсылка.Номенклатура) и Склад (Тип – СправочникСсылка.Склады).
- Добавить Ресурсы: КолВо и Стоимость (Тип- Число).
-
Перейти на закладку регистраторы, выбрать документы ПриходнаяНакладная
и РасходнаяНакладная.
2. Установить связь документа ПриходнаяНакладная
с регистром накопления. Для этого:
-
Перейти на закладку Движения документа и выбрать регистр накопления НакопленияНоменклатуры.
-
Нажать кнопку конструктор движений. В окне конструктора движения установить тип движения – Приход.
- В
нижней таблице
установить соответствия:
·
Номенклатура - ТекСтрокаТабличнаяЧасть1.Наименование.
·
Склад – Склад,
·
КолВо - ТекСтрокаТабличнаяЧасть1.Количество.
·
Стоимость — ТекСтрокаТабличнаяЧасть1.СуммаСНДС.

3. Аналогичные действия
выполнить для документа РасходнаяНакладная.
4. В режиме пользователя добавить Приходную и
Расходную накладную и перепровести ранее созданные документы.
5. Проанализировать состояние регистра накопления
Контрольные вопросы:
1. Для чего предназначен объект конфигурации
Регистр накопления.
2. Для чего нужны
измерения, ресурсы и реквизиты регистра накопления.
3. Что такое движение
регистра и что такое регистратор.
4. Объяснить
назначение команд процедуры «ОбработкаПроведения»
Лабораторная работа N11
Тема: «Тестирование модулей программного продукта»
Цель pаботы: Научить
студентов выполнять тестирование системы.
Краткие теоретические
сведения
Тестирование– ряд мероприятий, связанных с
различного рода испытаниями объекта тестирования с целью установления
соответствия или несоответствия его характеристик определенным требованиям и
выявления дефектов. Дефектами, в свою очередь, могут быть как ошибки в работе,
так и неприемлемое качество функционирования в определенных условиях
эксплуатации.
Результаты
тестирования-
это список выявленных несоответствий и дефектов, но, как правило, без указания
их причин.
Тестирование программного
продукта проводят как на этапах его создания, так и на этапах технического
сопровождения и дальнейшего развития программного продукта.
ЗАДАНИЯ
1. Создать обработку, выполняющую переоценку
номенклатуры на заданный процент. Цена должна измениться в документах Установка
цен номенклатуры.
2. В режиме конфигуратора создать обработку
«ИзменениеЦеныНоменклатуры». Затем создать для неё форму обработки. Добавить
реквизит формы: Процент (тип — Число). Добавить элемент формы Процент (путь к
данным — Процент)
3. Создать команду и кнопку «Переоценить»
&НаКлиенте
Процедура
Переоценка(Команда)
ПереоценкаСервер();
КонецПроцедуры
&НаСервере
Процедура
ПереоценкаСервер()
Выборка
= Документы.УстановкаЦенНоменклатуры.Выбрать();
Пока
Выборка.Следующий() Цикл
Документ
=Выборка.ПолучитьОбъект();
Документ.Проведен
= Ложь;
Документ.Цена
= Документ.Цена*(Процент/100);
Документ.Записать();
КонецЦикла;
4. Выполнить
тестирование системы. Разработать 3 теста с различными исходными данными и
проверить правильность работы созданного вами объекта системы. Привести
скрин-шоты, доказывающие правильность работы обработки. Приведите описание
ошибок кодирования, возникших в процессе разработки и отладки обработки.
5. Перепроведите документы для отражения новых цен в регистре.
6. С помощью конструктора создайте запрос, выводящий минимальные цены
номенклатуры (источник запроса — документы УстановкаЦенНоменклатуры).
Контрольные вопросы
1.
Напишите выражение для получения ссылки на таблицу документов УстановкаЦен.
2.
Напишите выражение для получения ссылки на текущий документ УстановкаЦен.
3.
Можно ли изменять реквизиты проведенного документа? Проверьте.
Лабораторная работа №12
Тема: «Формирование запросов программного
продукта. Отладка кода модуля запроса с
использованием встроенной программы-отладчик».
Цель pаботы: Научить обучающихся применять язык системы
«1С:Предприятие 8» для создания запросов прикладного решения.
Краткие теоретические сведения
Для
работы с запросами используется объект встроенного языка ЗАПРОС. Он позволяет
получить информацию, хранящуюся в полях базы данных в виде выборки,
сформированной по заданным правилам. Исходную информацию запрос получает из
набора таблиц. Все таблицы, которыми оперирует язык запросов можно разделить на
реальные и виртуальные. Пример виртуальной таблицы-
ЦеныНоменклатуры.СрезПоследних, которая формируется на основе таблицы регистра
сведений ЦеныНоменклатуры.
Структура запроса:
ВЫБРАТЬ
<ИмяПоля1> КАК <ПредставлениеПоля1>,……
| ИЗ
<ИмяТаблицы1> КАК <ПредставлениеТаблицы1> <ТипСоединения>
|
|
<ИмяТаблицы2> КАК <ПредставлениеТаблицы2>
| ПО
<УсловиеСоединениеТаблиц>
| ГДЕ
<УсловиеОтбораДанных>
| СГРУППИРОВАТЬ ПО
<ИмяПоля1>
| УПОРЯДОЧИТЬ ПО
<ИмяПоля1>
| ИТОГИ <ИмяПоля2>
ПО <ИмяПоля1>
Возможны
следующие типы соединений: левое, правое, внутреннее и полное.
Пример запроса к
базе данных с использованием встроенного языка:
Запрос
= Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|
Поле1 как П1, Поле2 как П2
|ИЗ
| Справочник.Справочник1";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.П1+" "+Выборка.П2)
КонецЦикла;
Задания
1. В режиме конфигуратора на верхней панели
нажать кнопку «Сервис», «Параметры», перейти на закладку «Запуск 1С
Предприятие» и в группе приложения выбрать Толстый клиент (управляемое приложение).
2. Создать запрос, выводящий количество
оприходованного на склады товара за период.
Для этого: создать
обработку «Запросы». Добавить форму обработки. В реквизиты формы добавить два
поля «Начало Периода» и «Конец Периода» (тип - дата). Перенести их в элементы
управления. Добавить элемент Кнопка «Запрос1» и создать команду «Запрос1».
В модуле формы
создать две процедуры:
&НаКлиенте
Процедура Запрос1(Команда)
Запрос1Сервер();
КонецПроцедуры
&НаСервере
Процедура Запрос1Сервер()
// Поставить указатель мыши и в контекстном
меню выбрать «Конструктор
// запроса с обработкой результата»
КонецПроцедуры
Для формирования
запроса воспользуйтесь конструктором запросов. В процедуру Запрос1Сервер
поставить указатель мыши и в контекстном меню выбрать «Конструктор запроса с
обработкой результата».
На первом шаге
выбрать тип обработки - вывод в табличный документ и дать Имя макету — Макет1.
На закладке Таблицы
и поля в первом списке найти документ ПриходнаяНакладная и перенести в средний
список табличную часть документа.
Из реквизитов
Табличной части выбрать Наименование и Количество. Теперь эта закладка будет
выглядеть так:

На закладке
Группировка групповым полем выбрать «Наименование», а суммируемым «Количество».
На закладке Условия указать:

Нажать ОК и первый
запрос готов.
В процедуру Запрос1Сервер самостоятельно вставить команды:
Табдок=Новый
ТабличныйДокумент и Табдок.Показать().
Проверить
работу запроса.
3. Создать команду
запрос2 и связанную с ней кнопку, выводящий остатки товара на складе. Источник
данных- регистр накопления НакоплениеНоменклатуры.ОСТАТКИ.
Создать в модуле формы обработки две процедуры:
&НаКлиенте
Процедура Запрос2(Команда)
Запрос2Сервер();
КонецПроцедуры
&НаСервере
Процедура Запрос2Сервер ()
// Поставить указатель мыши
и в контекстном меню выбрать «Конструктор
// запроса с обработкой
результата»
КонецПроцедуры
В процедуре
Запрос2Сервер открыть конструктор запроса с обработкой результата и указать:
- Тип обработки —
вывод в табличный документ.
Имя макета —
Макет2.
– На закладке таблицы и поля выбрать таблицу
НакопленияНоменклатуры.Остатки и поля Номенклатура, КоличествоОстаток,
СтоимостьОстаток.
Нажать ОК. У элемента формы кнопка «Запрос2» указать имя команды
«Запрос2». Проверить работу запроса.
4. Создать самостоятельно
запрос3, выводящий товары с ценой, больше заданного значения. Исходная таблица-
РегистрСведений.ЦеныНоменклатуры. Указания : на форме обработки разместить
параметр Цена.
5. Создать запрос4,
выводящий среднюю, максимальную и минимальную цены закупки товаров.
На закладках таблицы и поля выбрать таблицу
ЦеныНоменклатуры (РегистрСведений), поля Номенклатура и три поля цена. На
закладке группировка групповым полем выбрать наименование, а суммируемыми
остальные, затем настроить суммируемые поля по картинке:
Перейти на закладку Объеденения\Псевдонимы
соответственно дать название полям (цена) — минимум, среднее, максимум. После
чего нажать ОК и для элемента формы кнопка «Запрос4» указать имя команды
«Запрос4».
В режиме пользователя проверить работу запросов.
Контрольные вопросы:
1.
Какие объекты могут быть источниками данных в запросе?
2. Чем отличается
левое соединение от правого?
3.
Как создается вычисляемое поле в запросе?
Требования к отчету:
•
Указать название и цель
работы.
•
Ответить на контрольные
вопросы.
•
Скопировать результаты
работы запросов.
•
Сделать выводы.
Лабораторная работа N13
Тема: «Формирование отчетов информационной системы»
Цель pаботы: Научить
студентов применять систему компоновки данных «1С:Предприятие 8.» при создании
отчетов.
Краткие
теоретические сведения
Любой отчет
подразумевает получение сложной выборки данных, сгруппированных и
отсортированных определенным образом. Система компоновки данных представляет
собой мощный механизм, позволяющий выполнить все необходимые действия от
получения данных из различных источников до представления этих данных в виде,
удобном для пользователя.
Схема компоновки
данных использует данные, полученные с использованием конструктора запросов. С
помощью инструментов схемы компоновки можно выполнить настройку отчета.
ЗАДАНИЯ
Задание№1
1. Открыть систему
1С в режиме конфигуратора. Создать новый отчет ПоступленияНоменклатуры за
период.
Для этого в дереве
конфигурации выделить ветку Отчеты и в контекстном меню выбрать Добавить.
Теперь в свойствах отчета на закладке основные нажать кнопку «Схема Компоновки
Данных». В появившемся окне нажать Готово.
2. Настроть схему
компоновки данных. Слева сверху нажмем кнопку добавить и выберем запрос.
Теперь нажмем кнопку Конструктор запроса (В середине окна ближе к правому краю)
и перенесем данные:
Из
левой части окна в среднюю перенесем Регистр накопления:
НакопленияНоменклатурыОбороты. Из Средней в правую перенесем из Номенклатура,
КолВоПриход, СтоимостьПриход. Это будет иметь вид

Нажать ОК.
3. Перейдем на закладку Объединения
\Псевдонимы схемы компоновки и изменим название у полей КолВоПриход и
СтоимостьПриход на КолВо и Стоимость соответственно. Нажать Ок.
В схеме компоновки
перейти на закладку Ресурсы и перенести из левого списка поля КолВо и Стоимость.

Затем перейти на
закладку параметры и в параметре КонецПериода в столбце Выражение написать
КонецПериода(&КонецПериода,"День").

4. Перейти на
закладку Настройки. Внутри этого окна перейти на закладку Параметры.

Установить указанные
галочки.
Выделить
Начало периода, нажать ПКМ, выбрать Свойства элемента пользовательских
настроек. и в полученном окне поставить галочку. Аналогично для другого
параметра.
5.
На закладке Настройки нажать пиктограмму Конструктор настроек компоновки
данных.

Выбрать пункт
«таблица».

Нажать Далее.

Еще раз нажать
Далее, ничего не указывать, еще Далее, указать упорядычивание по Номенклатуре.
Нажать ОК.
6.
Запустить режим пользователя. Вызвать отчет. Указать Даты. Нажать Сформировать.

Задание№2
Сформировать отчет о продажах конкретной
номенклатуры за период.
Для этого сделать некоторые изменения в
предыдущем отчете:
Открыть отчет. Нажать Открыть Схему компоновки
данных.
Перейти на закладку Настройки.
Перейти на закладку Отбор.
Перенести Номенклатуру на закладку Отбор.
Выделить. Нажать Правую кнопку мыши. Выбрать Свойства элемента пользовательских
настроек. Поставить галочку.

Нажать ОК.
Запустить режим пользователя и проверить
работу отчета.

Задание №3
Сформировать отчет
об остатках номенклатуры на складах.
Указания: Для Конструктора запросов источник запроса - регистр
НакопленияНоменклатуры.Остатки. Выбираем реквизиты Номенклатура, склад и
КоличествоОстаток. Период не используется, так как остатки берутся на текущую
дату. Не забудьте настроить отчет с помощью Конструктора настроек.
Задание 4
Сформировать отчет
о ценах номенклатуры.
Указания: Источник запроса — регистр сведений Цены
Номенклатуры.
Контрольные вопросы:
1. Для чего
предназначена схема компоновки данных.
2. Что является
источником данных запроса.
3. В чем отличие между
реальными и виртуальными таблицами.
Требования к отчету:
•
Указать название и цель
работы.
•
Ответить на контрольные
вопросы.
•
Скопировать в отчет
скрин-шоты сформированных вами схем компоновки данных и полученных отчетов в
режиме пользователя.
Лабораторная работа №14
Тема: «Графическое представление
информации в документах и отчетах».
Цель работы: Научить студентов
представлять информацию в виде диаграмм в «1С:Предприятие 8».
Краткие теоретические сведения
Диаграмма
предназначена для размещения в формах и табличных документах диаграмм и
графиков различного вида. В 1С при построении
диаграмм используются такие термины, как "серии" и "точки".
Понятие серии в данном случае совпадает с "рядом данных" в Excel, а
"точки" - "значения" в терминах Excel. Так вот, чтобы
механизм был более-менее универсальным, условимся, что таблица значений имеет
следующую структуру: первая колонка - наименование серии, последующие колонки -
это значения точек, причем заголовок колонки и будет являться наименованием
точки. Как правило, в качестве точек используются объекты, для которых
требуется получить значения характеристик, а в качестве серий -характеристики,
значения которых нужно проанализировать. Например, диаграмма продаж видов
номенклатуры по месяцам будет состоять из точек -месяцев, серий - видов
номенклатуры и значений - оборотов продаж. Для работы с диаграммами предназначен
объект встроенного языка Диаграмма. Диаграмма имеет три области, которые
позволяют управлять оформлением диаграммы: область построения, область
заголовка и область легенды.
ЗАДАНИЯ
1. Сформировать
круговую диаграмму, отражающую количество номенклатуры на складе.
Для построения
выполнить следующие действия:
1.1 Создать новую
обработку. В обработке создать форму с реквизитом КруговаяДиаграмма. Создать
кнопку «Сформировать».
Указания:
- В
дереве конфигурации выделить обработки и в контекстном меню выбрать добавить. В
появившемся окне нажать Готово.
- В
создавшейся обработке выделить форму и в контекстном меню выбрать команду
добавить.
- В
создавшейся форме добавить реквизит и перенести его на форму.
1.2
Создать команду «Сформировать» и связать
её с кнопкой.
1.3
Написать команду, которая будет
выводить диаграмму.
Указания:
- Открыть свойства команды, найти «Действие» и
щелкнуть по лупе.
- В процедуре написать:
&НаКлиенте
Процедура Сформировать(Команда)
СформироватьКруговуюДиаграмму(КруговаяДиаграмма);
КонецПроцедуры
// Это обращение к процедуре на сервере,
теперь пишем процедуру на сервере:
&НаСервере
Процедура
СформироватьКруговуюДиаграмму(Диаграмма)
//Установить тип диаграммы.
Диаграмма.ТипДиаграммы=ТипДиаграммы.Круговая;
//Очистить диаграмму.Возможно, ранее в нее уже
выводились данные.
Диаграмма.Очистить();
//Количество серий будет ограничиваться(не все
значения будут показывать).
Диаграмма.МаксимумСерий=МаксимумСерий.Ограничено;
Диаграмма.МаксимумСерийКоличество=7;
Диаграмма.ВидПодписей=ВидПодписейКДиаграмме.Процент;
Диаграмма.ОбластьЗаголовка.Текст=
"Диаграмма";
//Здесь мы пишем запрос на данные которые
будут выводиться в диаграмму.
//Запрос можно создать с помощью конструктора.
Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| ПриходнаяНаклоднаяТабличнаяЧасть1.Наименование
КАК Наименование,
| ПРЕДСТАВЛЕНИЕ(ПриходнаяНаклоднаяТабличнаяЧасть1.Наименование),
| СУММА(ПриходнаяНакладнаяТабличнаяЧасть1.Количество)
КАК Количество
|ИЗ
| Документ.ПриходнаяНаклодная.ТабличнаяЧасть1
КАК ПриходнаяНаклоднаяТабличнаяЧасть1
|
|СГРУППИРОВАТЬ ПО
| ПриходнаяНаклоднаяТабличнаяЧасть1.Наименование";
Результат=Запрос.Выполнить();
//Запретить обновление диаграммы на время
вывода данных.
Диаграмма.Обновление=Ложь;
//Установить единственную точку.
Диаграмма.КоличествоТочек=1;
Диаграмма.Точки[0].Текст="Количество";
Выборка=Результат.Выбрать();
Пока Выборка.Следующий() Цикл
КоличествоСерий=Диаграмма.Серии.Количество();
Диаграмма.КоличествоСерий=КоличествоСерий+1;
Диаграмма.Серии[КоличествоСерий].Текст=Выборка.Наименование;
//Установить значение на пересечении точки и
серии.
//Первый параметр - 0, так как в диаграмме
только одна точка.
Диаграмма.УстановитьЗначение(0,КоличествоСерий,Выборка.Количество);
КонецЦикла;
//Обновить диаграмму.
Диаграмма.Обновление=Истина;
КонецПроцедуры
1.4 Запустить
обработку в режиме пользователя.
2. Самостоятельно выполнить модификацию обработки
построения круговой диаграммы.
2.1
Изменить заголовок диаграммы на
«Количество номенклатуры на складе».
2.2 Изменить
процентное представление значений на числовое.
2.3 Модифицировать модуль обработки с целью построения гистограммы,
отражающей, зависимость количества от номенклатуры.
2.4 Модифицировать модуль обработки с целью построения гистограммы,
отражающей зависимость количества и стоимости от номенклатуры.
Контрольные вопросы:
1.
Для чего предназначены диаграммы?
2. Каким образом
установить тип диаграммы?
3. В чем специфика
круговой диаграммы.
4. Укажите области
диаграммы.
5. Что входит в
легенду диаграммы точки или серии?
6. Как написать
заголовок точки на диаграмме?
7. Как установить
значение на диаграмме в первой точке, в первой серии?
Требования к отчету:
•
Указать название и цель
работы.
•
Ответить на контрольные
вопросы.
•
Описать ход работы.
•
Скопировать в отчет
скрин-шот сформированной вами диаграммы.
•
Сделать выводы.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.