Доставочка
Постановка задачи - требуется создать простую учетную систему для магазина с доставкой на дом. Система должна учитывать остатки товаров, оформлять заказы от клиентов и формировать путевые листы для курьеров.
Объекты конфигурации
В конфигурации потребуется создать следующие объекты:
Тип объектов
|
Объекты
|
||||||||||||||||
Справочники |
|
||||||||||||||||
Документы |
|
||||||||||||||||
Регистры |
|
||||||||||||||||
Отчеты |
|
Справочники
Обслуживаемая магазиномом территория делится на районы. При регистрации клиента указывается его название / ФИО, адрес, телефон и район, в котором он находится. В справочнике Курьеры перечислены фамилии курьеров или названия мобильных отрядов, осуществляющих доставку товаров покупателю. Справочник товары является иерархическим и содержит 3 уровня, т.е. товары могут быть объединены в группы. Для товара указывается цена, по которой он продается клиентам.
Приход товара
Экранная форма документа выглядит следующим образом:
При проведении документа производятся движения в регистре Остатки:
Процедура ОбработкаПроведения() ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл Регистр.Остатки.Товар = Товар; Регистр.Остатки.Количество = Количество; Регистр.Остатки.ДвижениеПриходВыполнить(); КонецЦикла; КонецПроцедуры
Заказ
Экранная форма документа выглядит следующим образом:
При проведении документа производятся движения в регистре Заказы:
Процедура ОбработкаПроведения() ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл Регистр.Заказы.Товар = Товар; Регистр.Заказы.Клиент = Клиент; Регистр.Заказы.ДатаДоставки = ДатаДоставки; Регистр.Заказы.Заказ = ТекущийДокумент(); Регистр.Заказы.Цена = Цена; Регистр.Заказы.Количество = Количество; Регистр.Заказы.Сумма = Сумма; Регистр.Заказы.ДвижениеПриходВыполнить(); КонецЦикла; КонецПроцедуры
Снятие заказа
Документ предназначен для отмены ранее сделанных заказов. Можно уменьшить количество заказанного ранее товара. Экранная форма документа выглядит следующим образом:
Пользователь указывает клиента, при этом автоматически заполняется табличная часть документа текущими заказами по данному клиенту. Пользователь указывает нужное количество товара в колонке "Снять".
При проведении документа производятся движения в регистре Заказы:
Процедура ОбработкаПроведения() ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл Если Количество > 0 Тогда Регистр.Заказы.Товар = Товар; Регистр.Заказы.Клиент = Клиент; Регистр.Заказы.ДатаДоставки = ДатаДоставки; Регистр.Заказы.Заказ = Заказ; Регистр.Заказы.Цена = Цена; Регистр.Заказы.Количество = Количество; Регистр.Заказы.Сумма = Сумма; Регистр.Заказы.ДвижениеРасходВыполнить(); КонецЕсли; КонецЦикла; КонецПроцедуры
Путевой лист
Данный документ является заданием для курьера, который доставляет товары покупателю. Экранная форма документа выглядит следующим образом:
Сначала пользователь указывает район, при этом автоматически заполняется табличная часть - формируется путевой лист. Программа просматривает все текущие заказы по данному району, дата доставки которых совпадает с датой путевого листа или просрочена. Пользователь может подредактировать доставляемое количество в колонке "Доставить" в связи с отсутствием товара на складе или тяжести груза для одного курьера.
После этого путевой лист распечатывается и проводится. Печатная форма путевого листа выглядит следующим образом:
При проведении документа совершаются движения в регистрах Остатки и Доставка:
Процедура ОбработкаПроведения() ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл //доставляемые товары Регистр.Доставка.Товар = Товар; Регистр.Доставка.Клиент = Клиент; Регистр.Доставка.Заказ = Заказ; Регистр.Доставка.Цена = Цена; Регистр.Доставка.ДатаДоставки = ДатаДоставки; Регистр.Доставка.Количество = Количество; Регистр.Доставка.Сумма = Сумма; Регистр.Доставка.ДвижениеПриходВыполнить(); //уменьшаются остатки по данному товару Регистр.Остатки.Товар = Товар; Регистр.Остатки.Количество = Количество; Регистр.Остатки.ДвижениеРасходВыполнить(); КонецЦикла; КонецПроцедуры
Отчет курьера
Данный документ оформляет результат поездки курьера по путевому листу. Отмечается количество фактически доставленных товаров. Экранная форма документа выглядит следующим образом:
Пользователь указывает путевой лист, по которому отчитывается курьер. При этом автоматически заполняется табличная часть документа. Пользователь может подкорректировать колонку "Доставлено" в соответствии с фактически доставленным количеством товара. При установке флажка "Недоставленные товары возвращены на склад" товары из регистра Доставка переходят в регистр Остатки, т.е. курьер нам ничего не должен.
При проведении документа совершаются движения в регистрах:
Процедура ОбработкаПроведения() ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл Если Доставлено > 0 Тогда Регистр.Доставка.Товар = Товар; Регистр.Доставка.Клиент = Клиент; Регистр.Доставка.Цена = Цена; Регистр.Доставка.Заказ = Заказ; Регистр.Доставка.ДатаДоставки = ДатаДоставки; Регистр.Доставка.Количество = Доставлено; Регистр.Доставка.Сумма = Сумма; Регистр.Доставка.ДвижениеРасходВыполнить(); Регистр.Заказы.Товар = Товар; Регистр.Заказы.Клиент = Клиент; Регистр.Заказы.ДатаДоставки = ДатаДоставки; Регистр.Заказы.Цена = Цена; Регистр.Заказы.Заказ = Заказ; Регистр.Заказы.Количество = Доставлено; Регистр.Заказы.Сумма = Сумма; Регистр.Заказы.ДвижениеРасходВыполнить(); Регистр.Доходы.Товар = Товар; Регистр.Доходы.Клиент = Клиент; Регистр.Доходы.Доход = Сумма; Регистр.Доходы.ДвижениеВыполнить(); КонецЕсли; Если Фл_ВозвратОстатков=1 Тогда Если Доставлено < Заказано Тогда Регистр.Доставка.Товар = Товар; Регистр.Доставка.Клиент = Клиент; Регистр.Доставка.Цена = Цена; Регистр.Доставка.Заказ = Заказ; Регистр.Доставка.ДатаДоставки = ДатаДоставки; Регистр.Доставка.Количество = Доставлено; Регистр.Доставка.Сумма = Сумма; Регистр.Доставка.ДвижениеРасходВыполнить(); Регистр.Остатки.Товар = Товар; Регистр.Остатки.Количество = Заказано - Доставлено; Регистр.Остатки.ДвижениеПриходВыполнить(); КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры
Отчет "Товары"
Данный отчет показывает текущую картину по товарам и оценивает дефицит товаров на указанный будущий период. Экранная форма диалога отчета выглядит следующим образом:
Пользователь может ограничить выборку конкретной группой товаров. Кроме того, пользователь указывает период времени в днях, за который учитываются заказы. Это позволяет заранее определить дефицитные товары и не допустить срыва поставок.
Пример работы отчета представлен ниже:
Дефицит определяется по формуле:
Дефицит = (Заказано - Доставляется) - Остаток;
Доходы
Определять доходы магазина можно по регистру Доходы с помощью отчетов СводнаяТаблица и ОтчетПоРегистру, разработанных фирмой КИНТ.
Что можно скачать
Скачать конфигурацию "Доставочка" (45К)
Комментарии