Требования к оформлению результата

Оценка задания

Пример

Постановка задачи

Ситуация

Задание для 2-го тура олимпиады «IT-планета», ноябрь 2010.

 

Номинация: Программирование

Конкурс: Программирование на платформе 1С:Предприятие 8.

 

Задание «Планирование поставок товара»

Компания «Планета» занимается оптовой торговлей эксклюзивными товарами. Из-за банкротства своего основного поставщика компания попала в сложную ситуацию: есть риск, что она не сможет выполнить некоторые заключённые ранее контракты. Все необходимые товары уже заказаны у других поставщиков, но их поступления придётся ждать некоторое время.

На текущий момент ситуация такова:

· На складе компании имеется запас товаров.

· Имеются контракты с покупателями на поставку им товаров. В каждом контракте прописан перечень товаров, которые должны быть поставлены, объём поставки каждого товара, срок поставки. А также штрафные санкции за невыполнение контракта — сумма пени, которую придётся выплатить за каждый день просрочки. Частичное выполнение контракта не допускается, то есть весь товар по контракту должен быть поставлен единовременно.

· Имеются заказы поставщикам. Для каждого заказа известен перечень товаров (и для каждого товара — количество), а также ожидаемая дата поступления товаров на склад компании «Планета».

Ваша задача: помочь коммерческому директору компании «Планета» определить, сможет ли компания выполнить все контракты с покупателями в срок, а если не сможет — то найти вариант выполнения контрактов, при котором компания заплатит наименьшую пеню.

 

Необходимо, начав с пустой конфигурации 1С:Предприятия 8, разработать все необходимые объекты — документы, справочники и регистры для регистрации текущего складского запаса, контрактов с покупателями и заказов поставщикам.

Также должен быть разработан отчёт «Анализ контрактов». В настройках отчёта необходимо выбирать дату. Отчёт должен проводить анализ ситуации с контрактами на указанную дату. Результатом отчёта должна быть выходная форма, содержащая перечень контрактов, для каждого контракта — перечень товаров, которые должны быть поставлены покупателю по этому контракту. В отчёте должен быть показан оптимальный вариант выполнения контрактов (то есть вариант, при котором получается либо выполнение всех контрактов в срок, либо минимальная сумма пени).

· Для каждого товара в этом перечне необходимо указать количество и источник, из которого будет взят товар для отправки (либо «складские остатки», либо ссылка на заказ поставщику, по которому поступит этот товар).

· Для контракта в целом должна быть указана дата возможной поставки покупателю (с учётом сроков поступления товара на склад компании) и сумма пени, которую придётся выплатить.

· Если контракт не может быть выполнен даже с учётом всех имеющихся заказов поставщикам, то для него вместо даты возможной поставки следует указать прочерк, а для расчёта пени в этом случае следует использовать количество дней от даты поставки по контракту до даты отчёта.

· В нижней части отчёта следует вывести итоговое решение: либо «Все контракты могут быть выполнены в срок», либо «Минимальная пеня: …».

Кроме разработки требуемых объектов и процедур, необходимо внести в информационную базу данные (заполнить справочники, ввести и провести документы), которые позволят жюри проверить работу вашего отчёта. Если вы предусматриваете возможность проверки нескольких ситуаций, опишите ситуации в прилагаемом файле «Описание.txt». Разумеется, для более полной проверки жюри будет также изменять введённые вами данные.

Для пояснения задания рассмотрим следующий пример. Пусть имеются два контракта:

Контракт 1     Контракт 2  
Дата поставки 20.11.10   Дата поставки 30.11.10
Пеня за день просрочки, руб   Пеня за день просрочки, руб
Товар Кол-во   Товар Кол-во
Изумрудное колье   Рубиновый трукандаж
Сапфировая диадема   Сапфировая диадема

 

Складские запасы:

Товар Кол-во
Изумрудное колье
Сапфировая диадема

 

И заказы поставщикам:

Заказ поставщику 1     Заказ поставщику 2  
Дата поступления 15.11.10   Дата поступления ???
Товар Кол-во   Товар Кол-во
Изумрудное колье   Изумрудное колье
Сапфировая диадема   Сапфировая диадема
Рубиновый трукандаж      

 

Рассмотрим три ситуации:

1. Для заказа поставщику 2 дата поступления 27.11.10. В этом случае могут быть выполнены оба контракта.

2. Для заказа поставщику 2 дата поступления 02.12.10. В этом случае выполнить все контракты без задержки не получится. Оптимальный вариант — выполнить в срок контракт 1, а контракт 2 задержать на 2 дня до поступления товара по заказу поставщику 2. Пеня: 2*2500 = 5000 руб.

3. Для заказа поставщику 2 дата поступления 30.12.10. Также не получится выполнить все контракты в срок, но оптимальный вариант — выполнить в срок контракт 2, а задержать выполнение контракта 1. Пеня: 40*1000 = 40 000 руб.

За выполненное задание участник получает баллы в зависимости от реализованных пунктов (см. ниже), степени завершённости и корректности реализации каждого пункта. Указано максимальное количество баллов, в случае наличия замечаний по реализации количество баллов может быть уменьшено. За полную реализацию решения участник может получить до 100 баллов.

1. Средства для ввода данных (документы, справочники): 5 баллов.

2. Отчёт «Анализ контрактов», позволяет получать итоговое решение — можно выполнить все контракты без уплаты пени, или нет: дополнительно 25 баллов.

3. Отчёт «Анализ контрактов» находит оптимальное решение и позволяет получать детальную информацию по каждому контракту и товару, как описано в задании: дополнительно 55 баллов.

4. Наличие в базе введённых данных для проверки работы отчёта: дополнительно 10 баллов.

5. Стиль программирования и удобство интерфейса: дополнительно 5 баллов.

Участник олимпиады должен создать каталог со своей фамилией.

В этом каталоге необходимо создать подкаталог «Результат».

Завершив работу над заданием, необходимо сохранить в каталог «Результат»:

· Выгрузку (dt) базы. Одну! Если их там окажется несколько, то жюри не будет гадать, какой из вариантов Вы считаете окончательным, и тем более не будет проверять все варианты. Для проверки будет выбрана произвольная выгрузка.

· Текстовый файл «Описание.txt» следующего формата:

ФИО: Ваши ФИО

 

Реализованные пункты задания:

1. Средства для ввода данных: да/нет

2. Отчёт «Анализ контрактов», позволяет получать итоговое решение: да/нет

3. Отчёт «Анализ контрактов» позволяет получать детальную информацию: да/нет

Далее, если необходимо, можете включить произвольные пояснения, которые помогут жюри оценить Ваше решение. Например, Вы можете описать несколько вариантов данных .