
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ
КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Основы программирования в корпоративных информационных системах
Лабораторная работа №1
Москва, 2024 г.
Оглавление
1 Цель 3
2 Задачи 3
3 Выполнение работы 3
4 Вывод 59
1 Цель
Данная лабораторная работа посвящена созданию документов, регистра накопления вида обороты и отчета.
2 Задачи
1. Создать документ «Заказ клиента»;
2. Создать документ «Расходная накладная» на основании заказа;
3. Создать отчет по продажам.
3 Выполнение работы
Создание справочника «Номенклатура»
Создадим новый справочник «Номенклатура» (рисунок 1).
Рисунок 1 – Создание нового справочника «Номенклатура»
Добавим ему иерархию в виде групп и элементов (рисунок 2).
Рисунок 2 – Добавление иерархии в справочник «Номенклатура»
Изменим длину наименования до 50 символов (рисунок 3).
Рисунок 3 – Изменение длины наименования
Изменим стандартные реквизиты «Код» и «Наименование» на «Артикул» и «Название» соответственно (рисунки 4-5).
Рисунок 4 – Изменение названия стандартного реквизита «Код» на «Артикул»
Рисунок 5 – Изменение названия стандартного реквизита «Наименование» на «Название»
Добавим реквизит «Вид номенклатуры» (рисунок 6).
Рисунок 6 – Добавление реквизита «Вид номенклатуры»
Создадим новое перечисление «Виды номенклатуры» (рисунок 7).
Рисунок 7 – Создание нового перечисления «Виды номенклатуры»
Перейдем во вкладку данные и добавим два значения – «Товар» и «Услуги» (рисунок 8).
Рисунок 8 – Добавление двух новых значений
Вернемся к справочнику «Номенклатура» и изменим тип на «ПеречислениеСсылка.ВидыНоменклатуры» (рисунок 9).
Рисунок 9 – Изменение типа справочника «Номенклатура»
Запустим пользовательский режим и проверим работоспособность программы, заполним Номенклатуру по примеру (рисунки 10-12).
Рисунок 10 – Результат работы программы
Рисунок 11 - Результат работы программы (вид отображения «Дерево»)
Рисунок 11 – Заполнение Номенклатуры по примеру задания
Создание справочника «Контрагенты»
Создадим новый справочник «Контрагенты» (рисунок 12).
Рисунок 12 – Создание нового справочника «Контрагенты»
Перейдем в пользовательский режим и заполним список контрагентов по примеру (рисунки 13 - 14).
Рисунок 13 – Вид пользовательского режима
Рисунок 14 – Заполнение списка контрагентов по примеру
Создание справочника «Договоры»
Создадим новый справочник «Договоры» (рисунок 15).
Рисунок 15 – Создание нового справочника «Договоры»
Добавим ему во владельцы справочник «Контрагенты» (рисунок 16).
Рисунок 16 – Добавление владельца
Изменим название стандартного реквизита «Наименование» на «Договор» (рисунок 17).
Рисунок 17 – Изменение названия стандартного реквизита «Наименование» на «Договор»
Запустим пользовательский режим и проверим работу программы (рисунок 18), также проверим чтобы каждый контрагент имел список подчиненных ему договоров (рисунок 19).
Рисунок 18 – Создание договоров по примеру задания
Рисунок 19 - Каждый контрагент имеет список подчиненных ему договоров
Создание документа «Заказ клиента»
Создадим новый документ «Заказ клиента» (рисунок 20).
Рисунок 20 – Создание нового документа «Заказ клиента»
Добавим 3 реквизита: «Покупатель», «Договор» и «Итоговая сумма» (рисунок 21).
Рисунок 21 – Добавление реквизитов
Создадим три определяемых типов: денежный, штучный и весовой. У денежного выберем тип Число, длину 15, точность 2, неотрицательное (рисунок 22). У штучного выберем тип Число, длину 10, точность 0, неотрицательное (рисунок 23). У весового выберем тип Число, длину 13, точность 3, неотрицательное (рисунок 24).
Рисунок 22 – Создание определяемого типа «Денежный»
Рисунок 23 – Создание определяемого типа «Штучный»
Рисунок 24 – Создание определяемого типа «Весовой»
Вернемся к документу «Заказ клиента» и изменим тип у реквизита «Итоговая Сумма» на «ОпределяемыйТип.Денежный» (рисунок 25).
Рисунок 25 – Изменение типа у реквизита «Итоговая сумма»
Затем у реквизита «Покупатель» изменим тип на «СправочникСсылка.Контрагенты» (рисунок 26), перейдем во вкладку представление и установим параметр «Проверка заполнения» на «Выдавать ошибку» (рисунок 27).
Рисунок 26 – Изменение типа у реквизита «Покупатель»
Рисунок 27 - Изменение параметра «Проверка заполнения»
Потом перейдем в реквизит «Договор» и установим тип «СправочникСсылка.Договоры» (рисунок 28).
Рисунок 28 – Изменение типа у реквизита «Договор»
Перейдем во вкладку «Представление», связи параметров выбора установим, как на рисунке 29.
Рисунок 29 – Параметры «Связи параметров выбора»
Создадим табличную часть «Товары» с данными «Товар», «Цена», «Количество» и «Сумма». У «Товар» установим тип «СправочникСсылка.Номенклатура» (рисунок 30), у «Цена» установим тип «ОпределяемыйТип.Денежный», у Количество установим тип «ОпределяемыйТип.Весовой», у Суммы «ОпределяемыйТип.Денежный».
Рисунок 30 – Создание табличной части
Перейдем во вкладку «Представление», в параметрах выбора установим имя «Отбор.ВидНоменклатуры», а значение «Товар» (рисунок 31 - 32).
Рисунок 31 – Установление параметров выбора
Рисунок 32 – Установление параметров выбора
Создадим ещё одну табличную часть «Услуги», с данными «Услуга» и «Сумма». У «Услуга» установим параметр выбора «Отбор.ВидНоменклатуры(Услуга)» (рисунок 33), также у «Сумма» установим тип «ОпределяемыйТип.Денежный».
Рисунок 33 – Создание табличной части «Услуги»
Запустим пользовательский режим и посмотрим результат наших действий (рисунок 34).
Рисунок 34 – Заказ клиента
Откроем форму документа (рисунок 35), у «Итоговая сумма» изменим вид на «Поле надписи» (рисунок 36), чтобы у пользователя не было возможности писать туда.
Рисунок 35 – Форма документа
Рисунок 36 – Изменение поля «Вид» у итоговой суммы
Включаем подвал для таблицы Товары и Услуги (рисунок 37).
Рисунок 37 – Добавление «Подвала» для таблицы «Товары»
Добавим текст подвала «Итого:» и установим путь к данным подвала «Объект.Товары.ИтогСумма» (рисунок 38), аналогично делаем и для таблицы «Услуги», только путь к данным подвала меняем на «Объект.Услуги.ИтогСумма».
Рисунок 38 – Текст подвала и путь к данным
У «ТоварыЦена» и «ТоварыКоличество» создадим события "ПриИзменении на клиенте" (рисунки 39 - 40).
Рисунок 39 – Создание событий
Рисунок 40 – Создание событий
Напишем код для автоматического подсчёта суммы (рисунок 41).
Рисунок 41 – Код для подсчёта суммы
Также пропишем код для подсчёта итоговой суммы (рисунок 42).
Рисунок 42 - Код для подсчёта итоговой суммы
Запустим пользовательский режим и проверим работу программы, заполним данные, как в примере и убедимся, что всё работает как нужно (рисунки 43 - 45).
Рисунок 43 – Создание заказа клиента, добавление товаров
Рисунок 44 - Создание заказа клиента, добавление услуги
Рисунок 45 – Итоговое отображение заказа клиента
Создание документа «Расходная накладная»
Скопируем документ Заказ клиента в расходную накладную (рисунок 46).
Рисунок 46 – Создание документа «Расходная накладная»
Добавим реквизит «Основание», установим тип «ДокументСсылка.ЗаказКлиента» (рисунок 47).
Рисунок 47 - Характеристики реквизита «Основание»
Перенесем основание в форму документа и поставим галочку у гиперссылки (рисунок 48).
Рисунок 48 - Характеристики реквизита «Основание»
Перейдем во вкладку «Ввод на основании» и установим ввод на основании документа «Заказ клиента» (рисунок 49).
Рисунок 49 – Добавление ввода на основании
Нажимаем конструктор ввода на основании и заполнить выражения (рисунок 50).
Рисунок 50 – Конструктор ввода на основании
Далее нажимаем «ОК», открывается код (рисунок 51)
Рисунок 51 – Конструктор ввода на основании
Запустим пользовательский режим и проверим работу программы (рисунок 52 - 53).
Рисунок 52 – Создание на основании
Рисунок 53 – Расходная накладная на основании заказа клиента
Создание отчета по продажам
Создаём регистр накопления «Продажи», вид накопления Обороты, так как необходимо реализовать возможность выбора периода, а не конкретного момента времени (рисунок 54).
Рисунок 54 – Создание регистра накопления
Добавим ресурсы, количество и сумма, у суммы тип денежный, у количества весовой (рисунок 55).
Рисунок 55 – Добавление ресурсов
Также добавим измерение Номенклатура и Контрагент, тип у измерения «Номенклатура» «СправочникСсылка.Номенклатура», у контрагента тип СправочникСсылка.Контрагенты», и поставим галочку «Запрет незаполненных значений» (рисунок 56).
Рисунок 56 – Добавление измерений
Указываем регистратор Расходная Накладная (рисунок 57).
Рисунок 57 – Добавление регистратора
Убедимся, что связь с регистром установлена (рисунок 58).
Рисунок 58 – Связь с регистром
Откроем конструктор движений (рисунок 59).
Рисунок 59 – Конструктор движений
Выберем табличную часть Товары, нажмём заполнить выражения (рисунок 60).
Рисунок 60 – Заполнение конструктора движений
Создадим ещё один регистр накопления, табличная часть услуги, также заполним выражения (рисунок 61).
Рисунок 61 – Заполнение конструктора движений
Нажмем ок, получим следующий код (рисунок 62).
Рисунок 62 – Код регистра накоплений
Запустим пользовательский режим, создадим ещё одну расходную накладную и убедимся, что регистр работает корректно (рисунки 63 - 65).
Рисунок 63 – Проверка работы отчёта по продажам
Рисунок 64 – Создание ещё одной расходной накладной
Рисунок 65 - Проверка работы отчёта по продажам
Создадим новый отчёт «Продажи» (рисунок 66).
Рисунок 66 – Создание нового отчёта
Нажмем «Открыть схему компоновки данных» (рисунок 67).
Рисунок 67 – Конструктор макета схемы компоновки данных
Добавим набор данных «запрос» (рисунок 68).
Рисунок 68 – Добавление набора данных
Откроем конструктор запроса (рисунок 69).
Рисунок 69 – Конструктор запроса
Заполним данные как на рисунке 70.
Рисунок 70 – Заполнение данных
Нажмем «ОК». Изменим название «КоличествоОборот» и «СуммаОборот», для более удобного отображения (рисунок 71).
Рисунок 71 – Результат конструктора запроса
Перейдем во вкладку «Ресурсы» и изменим её, чтобы считалось только количество отдельно проданных товаров, а не общее их количество (рисунок 72).
Рисунок 72 – Изменение вкладки «Ресурсы»
Перейдем во вкладку «Параметры», создадим свой параметр «Период», выберем тип Стандартный период, у «НачалоПериода» и «КонецПериода» поставим галочки Ограничение доступности, чтобы пользователь их не видел (рисунок 73).
Рисунок 73 – Создание параметра «Период»
Пропишем выражения для начала периода и конца периода (рисунок 74).
Рисунок 74 – Выражения для начала периода и конца периода
Перейдем во вкладку «Настройки» и создадим конструктор настроек отчёта в виде списка (рисунок 75).
Рисунок 75 - Создание конструктора настроек отчёта
Заполним поля, которые будут отображаться в отчете (рисунок 76).
Рисунок 76 - Поля, которые будут отображаться в отчете
Заполним поля, по которым будет производиться группировка данных (рисунок 77).
Рисунок 77 - Поля, по которым будет производиться группировка данных
Выберем поля для упорядочивания (Номенклатура Наименование), рисунок 78.
Рисунок 78 - Поля для упорядочивания
Нажмем ОК, изменим макет оформления на Море (рисунок 79).
Рисунок 79 – Макет оформления
Откроем пользовательские настройки элемента «Период» и поставим галочку «Включать в пользовательские настройки», чтобы отображался период (рисунок 80).
Рисунок 80 – Пользовательские настройки элемента
Запустим пользовательский режим и сформируем отчёт по продажам (рисунок 81).
Рисунок 81 – Отчёт по продажам
Закроем пользовательский режим, перейдем на вкладку наборы данных, выберем параметры виртуальной таблицы и выберем периодичность День (рисунок 82).
Рисунок 82 – Настройка периодичности
Добавим таблицу «Период» в поле (рисунок 83).
Рисунок 83 – Добавление таблицы «Период» в поле
Добавим новый вариант отчёта «ПоДням» (рисунок 84).
Рисунок 84 – Добавление нового варианта отчёта «ПоДням»
Выберем конструктор настроек компоновки данных «Таблица» (рисунок 85).
Рисунок 85 – Конструктор настроек компоновки данных
Поля, которые будут отображаться в отчете (рисунок 86).
Рисунок 86 - Поля, которые будут отображаться в отчете
Поля, по которым будет производиться группировка таблиц, строк и колонок отчёта (рисунок 87).
Рисунок 87 - Поля, по которым будет производиться группировка таблиц, строк и колонок отчёта
Выберем поля упорядочивания (рисунок 88).
Рисунок 88 – Поля упорядочивания
Откроем пользовательские настройки элемента «Период» и поставим галочку «Включать в пользовательские настройки», чтобы отображался период (рисунок 89).
Рисунок 89 - Пользовательские настройки элемента
Выберем макет оформления Зеленый (рисунок 90).
Рисунок 90 – Выбор макета оформления
Добавим Условное оформление (рисунок 91).
Рисунок 91 – Условное оформление
Выбираем формат (рисунок 92).
Рисунок 92 - Формат
Откроем конструктор форматной строки и перейдем во вкладку «Дата» (рисунок 93).
Рисунок 93 – Вкладка «Дата»
Выберем локальный формат даты «DD» (рисунок 94).
Рисунок 94 – Локальный формат даты
Откроем условие и добавим новый элемент «Период» (рисунок 95).
Рисунок 95 – Добавление условия
Установим, что поле «Период» заполнено (рисунок 96).
Рисунок 96 - Добавление условия
В «Оформляемые поля» поставим Период (рисунок 97).
Рисунок 97 – Оформляемые поля
Запустим пользовательский режим и проверим работоспособность программы. Выберем вариант отчёта «По дням» (рисунок 98). Получим готовый отчёт (рисунок 99).
Рисунок 98 – Выбор варианта отчёта
Рисунок 99 – Готовый отчёт