Внешний вид сайта:

Доставочка

Полезность страницы:
0/100

Постановка задачи - требуется создать простую учетную систему для магазина с доставкой на дом. Система должна учитывать остатки товаров, оформлять заказы от клиентов и формировать путевые листы для курьеров.

Объекты конфигурации

В конфигурации потребуется создать следующие объекты:

Тип объектов
Объекты
Справочники
  • Клиенты
  • Товары
  • Курьеры
  • Районы
Документы
  • ПриходТовара
  • Заказ
  • СнятиеЗаказа
  • ПутевойЛист
  • ОтчетКурьера
Регистры
Регистр
Измерения
Ресурсы
Остатки (регистр остатков) Товар Количество
Заказы (регистр остатков)

Товар
Клиент
Заказ
Цена
ДатаДоставки

Количество
Сумма

Доставка (регистр остатков)
(хранит доставляемые в данный момент товары)
Товар
Клиент
Заказ
Цена
ДатаДоставки
Количество
Сумма
Доходы (оборотный регистр) Товар
Клиент
Доход
Отчеты
  • Товары
  • Сводная таблица

 

Справочники

Обслуживаемая магазиномом территория делится на районы. При регистрации клиента указывается его название / ФИО, адрес, телефон и район, в котором он находится. В справочнике Курьеры перечислены фамилии курьеров или названия мобильных отрядов, осуществляющих доставку товаров покупателю. Справочник товары является иерархическим и содержит 3 уровня, т.е. товары могут быть объединены в группы. Для товара указывается цена, по которой он продается клиентам.

Приход товара

Экранная форма документа выглядит следующим образом:

При проведении документа производятся движения в регистре Остатки:

Процедура ОбработкаПроведения()

    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл

        Регистр.Остатки.Товар = Товар;
        Регистр.Остатки.Количество = Количество;
        Регистр.Остатки.ДвижениеПриходВыполнить();

    КонецЦикла;

КонецПроцедуры

Заказ

Экранная форма документа выглядит следующим образом:

При проведении документа производятся движения в регистре Заказы:

Процедура ОбработкаПроведения()

    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл

        Регистр.Заказы.Товар = Товар;
        Регистр.Заказы.Клиент = Клиент;
        Регистр.Заказы.ДатаДоставки = ДатаДоставки;
        Регистр.Заказы.Заказ = ТекущийДокумент();
        Регистр.Заказы.Цена = Цена;
        Регистр.Заказы.Количество = Количество;
        Регистр.Заказы.Сумма = Сумма;
        Регистр.Заказы.ДвижениеПриходВыполнить();

    КонецЦикла;

КонецПроцедуры

Снятие заказа

Документ предназначен для отмены ранее сделанных заказов. Можно уменьшить количество заказанного ранее товара. Экранная форма документа выглядит следующим образом:

Пользователь указывает клиента, при этом автоматически заполняется табличная часть документа текущими заказами по данному клиенту. Пользователь указывает нужное количество товара в колонке "Снять".

При проведении документа производятся движения в регистре Заказы:

Процедура ОбработкаПроведения()

    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл

        Если Количество > 0 Тогда

            Регистр.Заказы.Товар = Товар;
            Регистр.Заказы.Клиент = Клиент;
            Регистр.Заказы.ДатаДоставки = ДатаДоставки;
            Регистр.Заказы.Заказ = Заказ;
            Регистр.Заказы.Цена = Цена;
            Регистр.Заказы.Количество = Количество;
            Регистр.Заказы.Сумма = Сумма;
            Регистр.Заказы.ДвижениеРасходВыполнить();

        КонецЕсли;

    КонецЦикла;

КонецПроцедуры

Путевой лист

Данный документ является заданием для курьера, который доставляет товары покупателю. Экранная форма документа выглядит следующим образом:

Сначала пользователь указывает район, при этом автоматически заполняется табличная часть - формируется путевой лист. Программа просматривает все текущие заказы по данному району, дата доставки которых совпадает с датой путевого листа или просрочена. Пользователь может подредактировать доставляемое количество в колонке "Доставить" в связи с отсутствием товара на складе или тяжести груза для одного курьера.

После этого путевой лист распечатывается и проводится. Печатная форма путевого листа выглядит следующим образом:

При проведении документа совершаются движения в регистрах Остатки и Доставка:

Процедура ОбработкаПроведения()

    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл

        //доставляемые товары
        Регистр.Доставка.Товар = Товар;
        Регистр.Доставка.Клиент = Клиент;
        Регистр.Доставка.Заказ = Заказ;
        Регистр.Доставка.Цена = Цена;
        Регистр.Доставка.ДатаДоставки = ДатаДоставки;
        Регистр.Доставка.Количество = Количество;
        Регистр.Доставка.Сумма = Сумма;
        Регистр.Доставка.ДвижениеПриходВыполнить();

        //уменьшаются остатки по данному товару
        Регистр.Остатки.Товар = Товар;
        Регистр.Остатки.Количество = Количество;
        Регистр.Остатки.ДвижениеРасходВыполнить();

    КонецЦикла;

КонецПроцедуры

Отчет курьера

Данный документ оформляет результат поездки курьера по путевому листу. Отмечается количество фактически доставленных товаров. Экранная форма документа выглядит следующим образом:

Пользователь указывает путевой лист, по которому отчитывается курьер. При этом автоматически заполняется табличная часть документа. Пользователь может подкорректировать колонку "Доставлено" в соответствии с фактически доставленным количеством товара. При установке флажка "Недоставленные товары возвращены на склад" товары из регистра Доставка переходят в регистр Остатки, т.е. курьер нам ничего не должен.

При проведении документа совершаются движения в регистрах:

Процедура ОбработкаПроведения()

    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл

        Если Доставлено > 0 Тогда

            Регистр.Доставка.Товар = Товар;
            Регистр.Доставка.Клиент = Клиент;
            Регистр.Доставка.Цена = Цена;
            Регистр.Доставка.Заказ = Заказ;
            Регистр.Доставка.ДатаДоставки = ДатаДоставки;
            Регистр.Доставка.Количество = Доставлено;
            Регистр.Доставка.Сумма = Сумма;
            Регистр.Доставка.ДвижениеРасходВыполнить();

            Регистр.Заказы.Товар = Товар;
            Регистр.Заказы.Клиент = Клиент;
            Регистр.Заказы.ДатаДоставки = ДатаДоставки;
            Регистр.Заказы.Цена = Цена;
            Регистр.Заказы.Заказ = Заказ;
            Регистр.Заказы.Количество = Доставлено;
            Регистр.Заказы.Сумма = Сумма;
            Регистр.Заказы.ДвижениеРасходВыполнить();

            Регистр.Доходы.Товар = Товар;
            Регистр.Доходы.Клиент = Клиент;
            Регистр.Доходы.Доход = Сумма;
            Регистр.Доходы.ДвижениеВыполнить();

        КонецЕсли;

        Если Фл_ВозвратОстатков=1 Тогда

            Если Доставлено < Заказано Тогда

                Регистр.Доставка.Товар = Товар;
                Регистр.Доставка.Клиент = Клиент;
                Регистр.Доставка.Цена = Цена;
                Регистр.Доставка.Заказ = Заказ;
                Регистр.Доставка.ДатаДоставки = ДатаДоставки;
                Регистр.Доставка.Количество = Доставлено;
                Регистр.Доставка.Сумма = Сумма;
                Регистр.Доставка.ДвижениеРасходВыполнить();

                Регистр.Остатки.Товар = Товар;
                Регистр.Остатки.Количество = Заказано - Доставлено;
                Регистр.Остатки.ДвижениеПриходВыполнить();

            КонецЕсли;

        КонецЕсли;

    КонецЦикла;

КонецПроцедуры

Отчет "Товары"

Данный отчет показывает текущую картину по товарам и оценивает дефицит товаров на указанный будущий период. Экранная форма диалога отчета выглядит следующим образом:

Пользователь может ограничить выборку конкретной группой товаров. Кроме того, пользователь указывает период времени в днях, за который учитываются заказы. Это позволяет заранее определить дефицитные товары и не допустить срыва поставок.

Пример работы отчета представлен ниже:

Дефицит определяется по формуле:

Дефицит = (Заказано - Доставляется) - Остаток;

Доходы

Определять доходы магазина можно по регистру Доходы с помощью отчетов СводнаяТаблица и ОтчетПоРегистру, разработанных фирмой КИНТ.

Что можно скачать

Скачать конфигурацию "Доставочка" (45К)

Дополнить страницу Вы можете помочь другим людям дополнив эту страницу вашими знаниями по данному вопросу!
03:17

Комментарии

Нет комментариев. Ваш будет первым!