Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования «Московский технический университет связи и информатики» Кафедра «Корпоративные информационные системы» Буланов Г.А., Прокуровский А.А., Андреев И.А. Учебно-методическое пособие по дисциплине «Программирование в 1С» для студентов направления бакалавриата 09.03.01 «Информатика и вычислительная техника» (профиль «Прикладные информационные системы») Москва, 2024 Учебно-методическое пособие по дисциплине «Программирование в 1С» для студентов направления бакалавриата 09.03.01 «Информатика и вычислительная техника» (профиль «Прикладные информационные системы») Составители: А.А. Прокуровский, старший преподаватель кафедры КИС; И.А. Андреев, к.э.н., доцент кафедры КИС; Г.А. Буланов, старший преподаватель кафедры КИС. Издание утверждено советом факультета ИТ. Протокол № от Рецензент: Тутова Н.В., к.т.н., доцент кафедры КИС 2 Оглавление Требования к выполнению лабораторных работ ................................................. 4 Лабораторная работа №1 ........................................................................................ 5 Лабораторная работа №2 ........................................................................................ 7 Лабораторная работа №3 ...................................................................................... 10 Лабораторная работа №4 ...................................................................................... 13 Лабораторная работа №5 ...................................................................................... 16 Лабораторная работа №6 ...................................................................................... 19 3 Требования к выполнению лабораторных работ Для выполнения лабораторных работ потребуется установленная учебная версия платформы 1С:Предприятие 8.3. Найти дистрибутивы для операционных систем Windows, MacOS, Linux можно на сайте Учебного центра №1 фирмы «1С»: https://uc1.1c.ru/uchebnaya-versiya-1s/ Установив дистрибутив платформы, потребуется создать новую информационную базу, в которой будут выполняться все лабораторные работы. К каждой выполненной лабораторной работе необходимо оформлять отчет, содержащий цель, задачи работы, шаги ее выполнения, а также выводы. Выполнение работы должно содержать пояснение выполняемого этапа с приложенными скриншотами и/или листингами программного кода (при наличии). 4 Лабораторная работа №1 Цель: Данная лабораторная работа посвящена началу создания прикладного решения по автоматизации торговой деятельности организации. В рамках работы потребуется реализовать хранение сведений об организации. Задачи: 1. Изучить создание констант; 2. Изучить объединение констант в рамках общей формы; 3. Внести информацию в систему. Используемые объекты и механизмы: Константы, общая форма Выполнение работы: В подготовленной для лабораторных работ информационной базе необходимо создать несколько констант для хранения условно-неизменной информации, объединить их в рамках единого интерфейса для отображения пользователю, а также заполнить константы произвольными значениями. В качестве ФИО генерального директора студент указывает свое ФИО. Константы: 1. Генеральный директор; 2. Наименование организации; 3. ИНН; 4. Адрес; 5. Телефон. Пользовательский доступ к константам должен осуществляться только через общую форму. 5 Ожидаемый результат выполнения работы: Общая форма констант: Контрольные вопросы: 1. Какой режим запуска используется для режима разработки? 2. Какой режим запуска используется для режима пользователя? 3. Что представляет из себя константа с точки зрения структуры БД? 4. Как ограничить пользователю ввод только цифр в ИНН? 5. Как связаны настройки длины и точности у значений с типом число? 6 Лабораторная работа №2 Цель: Данная лабораторная работа посвящена продолжению разработки прикладного решения по автоматизации торговой деятельности организации. В рамках работы потребуется реализовать хранение списковой информации. Задачи: 1. Изучить создание линейных справочников; 2. Изучить создание иерархических справочников; 3. Изучить создание подчиненных справочников; 4. Внести информацию в систему. Используемые объекты и механизмы: Справочники, иерархия групп и элементов, владельцы, реквизиты Выполнение работы: В подготовленной для лабораторных работ информационной базе необходимо создать несколько справочников для хранения списковой информации. Справочники: 1. Сотрудники; 2. Номенклатура; 3. Контрагенты; 4. Договоры. 7 Ожидаемый результат выполнения работы: Справочник Сотрудники: Справочник Номенклатура: 8 Справочник Контрагенты: Справочник Договоры: Контрольные вопросы: 1. Что такое реквизит с точки зрения таблицы БД? 2. Какие есть стандартные реквизиты у справочников? 3. Как изменить синоним стандартного реквизита? 4. Как реализовать иерархию в справочнике? 5. Как реализовать подчинение в справочнике? 9 Лабораторная работа №3 Цель: Данная лабораторная работа посвящена продолжению разработки прикладного решения по автоматизации торговой деятельности организации. В рамках работы потребуется реализовать ссылочную связь между объектами конфигурации. Задачи: 1. Изучить принцип работы ссылочного типа данных; 2. Изменить тип константы «Генеральный директор»; 3. Изучить принцип работы перечислений; 4. Указать происхождение номенклатурных позиций; 5. Указать вид номенклатурных позиций; 6. Внести информацию в систему. Используемые объекты и механизмы: Справочники, перечисления, ссылочные типы данных, реквизиты Выполнение работы: В подготовленной для лабораторных работ информационной базе необходимо связать константу со справочником Сотрудники. Также потребуется связать справочник Номенклатура с двумя новыми перечислениями, которые хранят фиксированные наборы альтернатив: Происхождение номенклатуры: 1. Отечественный; 2. Импортный. Вид номенклатуры: 1. Товар; 2. Услуга; 3. Материал. 10 Ожидаемый результат выполнения работы: Общая форма констант: Справочник Номенклатура: 11 Контрольные вопросы: 1. Что такое ссылочная целостность? 2. Какое главное отличие между справочником и перечислением? 3. Что будет если в справочнике изменить ФИО сотрудника, который указан как генеральный директор? 4. Что будет если в справочнике удалить сотрудника, который указан как генеральный директор через удаление помеченных объектов? 5. Что будет если в справочнике удалить сотрудника, который указан как генеральный директор? 12 Лабораторная работа №4 Цель: Данная лабораторная работа посвящена продолжению разработки прикладного решения по автоматизации торговой деятельности организации. В рамках работы потребуется реализовать документ для расхода номенклатурных позиций. Задачи: 1. Изучить принцип работы документов; 2. Создать документ Расходная накладная; 3. Настроить связь параметров выбора между договором и покупателем; 4. Настроить параметры выбора номенклатурных позиций в соответствующих табличных частях; 5. Настроить отображение итогов по суммам в табличных частях; 6. Реализовать автоматический подсчет сумм в табличных частях; 7. Реализовать автоматический подсчет итоговой суммы документа. Используемые объекты и механизмы: Документы, связи параметров выбора, параметры выбора, табличные части, встроенный язык программирования, форма документа Выполнение работы: В подготовленной для лабораторных работ информационной базе необходимо создать документ Расходная накладная, который обладает функционалом: 1. Выбор покупателя из списка контрагентов; 2. Выбор договора, подчиненного контрагенту; 3. Выбор номенклатурной позиции, принадлежащей соответствующей категории (товар, услуга, материал); 4. Автоматический подсчет суммы как произведение цены и количества с учетом скидки у записей табличных частей. Суммы в таблицах пользователь не должен иметь возможность менять вручную; 5. Автоматический подсчет итоговой суммы всего документа как сумма итогов сумм трех табличных частей. Итоговую сумму документа пользователь не должен иметь возможность менять вручную Примечание: у услуг колонка «Количество» отсутствует. В расчетах принимать количество за 1. 13 Ожидаемый результат выполнения работы: Шапка документа Расходная накладная: Табличная часть Список товаров: Табличная часть Список услуг: Табличная часть Список материалов: 14 Контрольные вопросы: 1. Какие стандартные реквизиты есть у документов? 2. Какое главное отличие между справочником и документом? 3. Как хранятся записи из табличных частей физически в БД? 4. Как настроить выбор договора, принадлежащему конкретному контрагенту в документе? 5. Какие модули использовались в реализации подсчетов сумм? В чем разница между этими подходами? 15 Лабораторная работа №5 Цель: Данная лабораторная работа посвящена продолжению разработки прикладного решения по автоматизации торговой деятельности организации. В рамках работы потребуется реализовать создание расхода номенклатурных позиций на основании заказа клиента. Задачи: 1. Изучить принцип ввода на основании; 2. Создать документ Заказ клиента; 3. Настроить ввод Расходной накладной на основании Заказа клиента. Используемые объекты и механизмы: Документы, ввод на основании, встроенный язык программирования, копирование, форма документа Выполнение работы: В подготовленной для лабораторных работ информационной базе необходимо создать документ Заказ клиента, который обладает функционалом, аналогичным документу Расходная накладная. Затем необходимо реализовать функционал ввода Расходной накладной на основании Заказа клиента. В Расходной накладной, созданной на основании Заказа клиента, требуется указывать основание на исходный документ. Пользователь не должен иметь возможность его изменить, но должен иметь возможность перейти к основанию по гиперссылке. 16 Ожидаемый результат выполнения работы: Документ Заказ клиента: Документ Расходная накладная: 17 Контрольные вопросы: 1. Где доступен конструктор ввода на основании? 2. Когда срабатывает кнопка «Заполнить выражения»? 3. Какие изменения происходят с документом-источником документом-приемником? 4. Как реализовать гиперссылку на форме? 5. Как реализованы вкладки для табличных частей на форме? и 18 Лабораторная работа №6 Цель: Данная лабораторная работа посвящена завершению разработки прикладного решения по автоматизации торговой деятельности организации. В рамках работы потребуется реализовать отчет по продажам. Задачи: 1. Изучить принцип работы регистра накопления вида обороты; 2. Изучить принцип работы конструктора движений; 3. Изучить принцип работы отчета; 4. Изучить принцип работы конструктора запросов; 5. Изучить принцип работы конструктора настроек отчета. Используемые объекты и механизмы: Регистры накопления, отчеты, встроенный язык программирования, встроенный язык запросов, конструктор движений, конструктор запросов, конструктор настроек отчета Выполнение работы: В подготовленной для лабораторных работ информационной базе необходимо создать регистр накопления Продажи с видом Обороты, позволяющий считать количество и сумму в разрезах номенклатуры и контрагентов. Затем необходимо настроить с помощью конструктора движений правила переноса информации из Расходной накладной в регистр Продажи. Информация должна переноситься по всем трем табличным частям. Следующим этапом следует реализовать в системе отчет Продажи: 1. Определить набор данных - запрос; 2. Определить запрашиваемые поля в тексте запроса и указать заголовки; 3. Определить набор ресурсов из запрошенных полей; 4. Определить внешний вид отчета как Список с группировкой по номенклатуре и сортировкой по количеству в порядке убывания; 5. Определить макет оформления, отличный от основного на выбор; 6. Указать расположение полей группировок отдельно и только в итогах; 7. Отобразить начало и конец периода. Примечание: расположение полей группировок настраивается в том же разделе, где и макет оформления. 19 Ожидаемый результат выполнения работы: Отчет по продажам: Контрольные вопросы: 1. Какие типы данных доступны у ресурсов регистров накопления? 2. В какой момент информация из документа попадает в регистр? 3. Почему запрос строится не к физической таблице регистра, а к виртуальной? 4. Что минимально достаточно для создания рабочего отчета? 5. Отобразить параметры пользователю для отбора периодов? 20