Фрагмент для ознакомления
2
Теперь в режиме «1С:Предприятие» бариста будет сразу видеть всю витрину товаров с актуальными ценами и категориями в единой таблице.
Форма списка справочника «Номенклатура»
Это общая витрина товаров кофейни. Она выглядит как динамическая таблица, где выведены четыре колонки:
Наименование (Американо, Капучино, Круассан)
Цена (250.00, 300.00, 180.00)
Тип товара (Кофе, Кофе, Еда)
Код (генерируется системой автоматически: 000000001).
Пример динамической таблицы.
Задание 1.3. Создание констант
Для хранения общей информации о кофейне, которая не меняется часто и используется во многих отчётах и формах, мною были созданы следующие константы.
Константа «НазваниеКофейни» имеет тип «Строка» и хранит официальное название заведения. Было установлено значение «Кофейня ФК "Авангард"». Эта константа используется в заголовках отчётов и на главной форме приложения.
Константа «АдресКофейни» имеет тип «Строка» и хранит физический адрес кофейни. Было установлено значение «г. Москва, ул. Вересковая, д. 5, стадион "Авангард", цокольный этаж». Эта константа выводится в нижней части отчётов и в справочной информации.
Константа «ТелефонКофейни» имеет тип «Строка» и хранит контактный телефон для связи. Было установлено значение «+7 (495) 123-45-67».
Для работы с константами был создан общий модуль, содержащий функции получения и установки значений констант. Также была настроена форма для редактирования констант, доступная только администратору системы, где все три константы расположены на одной странице для удобства редактирования.
Задание 1.4. Создание документа «Заказ»
Документ «Заказ» является центральным объектом конфигурации, так как именно он фиксирует факт продажи. Мною был создан документ со следующей структурой.
Шапка документа содержит реквизит «Столик» с типом «Число», который указывает номер столика, за которым находится клиент. Реквизит «Бариста» с типом «СправочникСсылка.Сотрудники» связывает заказ с конкретным сотрудником, принявшим заказ и приготовившим его. Реквизит «Дата» заполняется автоматически текущей датой и временем при создании нового документа. Реквизит «Статус» с типом «Строка» может принимать значения «Новый», «В приготовлении», «Выполнен», «Отменён».
Табличная часть «Товары» содержит колонку «Номенклатура» с типом «СправочникСсылка.Номенклатура», которая выбирается из справочника товаров. Колонка «Количество» с типом «Число» указывает количество единиц данного товара в заказе. Колонка «Цена» с типом «Число» автоматически заполняется из справочника номенклатуры при выборе товара, но может быть изменена вручную для случая акций или специальных предложений. Колонка «Сумма» с типом «Число» автоматически рассчитывается как произведение количества на цену.
Для табличной части был настроен программный расчёт суммы в обработчике события «ПриИзменении» для колонок «Количество» и «Цена». При изменении любого из этих полей пересчитывается сумма соответствующей строки, а также общая сумма заказа, которая отображается в отдельном поле в шапке документа.
Для документа была создана форма, содержащая все поля шапки и табличную часть с возможностью добавления и удаления строк. Форма выполнена в едином стиле с группировкой полей по блокам. Кнопка «Провести и закрыть» выполняет проведение документа, то есть формирование движений по регистрам, и закрывает форму. Кнопка «Заполнить цены» автоматически заполняет цены для всех строк табличной части на основе текущих значений из справочника номенклатуры.
Задание 1.5. Создание регистра накопления «Продажи»
Регистр накопления «Продажи» предназначен для хранения агрегированной информации о продажах, что позволяет быстро формировать отчёты без необходимости каждый раз обрабатывать все документы заказа.
Регистр имеет вид «Обороты», так как для анализа продаж достаточно знать суммы и количества проданных товаров за периоды, без необходимости хранения остатков. Измерение регистра – «Номенклатура» с типом «СправочникСсылка.Номенклатура», по которому будет производиться группировка данных в отчётах. Ресурсы регистра: «Количество» с типом «Число» – общее количество проданных единиц данного товара; «Сумма» с типом «Число» – общая выручка от продажи данного товара.
Для документа «Заказ» был настроен механизм формирования движений по регистру «Продажи» при проведении документа. В модуле документа был написан программный код, который в цикле перебирает все строки табличной части «Товары» и для каждой строки создаёт движение по регистру с указанием периода (дата документа), измерения (номенклатура), ресурсов (количество и сумма из строки). Движения формируются только в том случае, если документ имеет статус «Выполнен», то есть заказ оплачен и выдан клиенту. Если документ проводится повторно, старые движения автоматически удаляются и создаются новые на основе актуальных данных документа.
Также была настроена проверка корректности проведения: если в документе нет ни одной строки в табличной части, проведение запрещается и выводится сообщение об ошибке. Если в какой-либо строке количество равно нулю или отрицательно, проведение также запрещается.
Задание 1.6. Создание регистра сведений «КурсыВалют»
Регистр сведений «КурсыВалют» создан для демонстрации работы с периодическими регистрами. Хотя кофейня работает только с рублями, этот регистр показывает, как можно расширить систему для работы с иностранными валютами в будущем.
Регистр имеет тип «Периодический» с периодом «День», то есть курс валюты может меняться каждый день. Измерение регистра – «Валюта» с типом «Строка», которое содержит буквенный код валюты, например «USD» или «EUR». Ресурс регистра – «Курс» с типом «Число», который содержит курс данной валюты по отношению к рублю.
Вручную были заполнены следующие значения на дату 15 июня 2026 года: для валюты «USD» установлен курс 85.50; для валюты «EUR» установлен курс 92.30. Для регистра была создана форма списка, в которой можно добавлять новые записи и редактировать существующие. Форма имеет удобную группировку по валютам и отображает историю изменения курсов.
Задание 1.7. Создание отчёта «Продажи за день»
Отчёт «Продажи за день» является ключевым инструментом для администратора кофейни, так как позволяет видеть, какие товары продавались и на какую сумму в любой выбранный день.
Отчёт был создан с помощью конструктора запросов, который позволяет визуально настраивать структуру запроса без необходимости писать код вручную. В конструкторе были выполнены следующие настройки.
На вкладке «Таблицы» была выбрана таблица регистра накопления «Продажи.Обороты», так как нам нужны обороты по продажам без учёта остатков. Также была добавлена таблица справочника «Номенклатура» для получения названия товара и его типа.
На вкладке «Поля» были выбраны следующие поля для вывода: «Номенклатура.Наименование» – название товара; «Номенклатура.Тип» – тип товара (кофе или еда); «Продажи.Количество» – общее количество проданного товара; «Продажи.Сумма» – общая выручка от продажи товара. Также было добавлено вычисляемое поле «СредняяЦена», которое рассчитывается как деление суммы на количество.