6. Большая самостоятельная работа «Резервирование товаров и планирование активных продаж» Задача: Необходимо ввести в систему возможность резервировать товары на складе фирмы под конкретные счета, выписанные для покупателей. Смысл работы механизма резервирования сводится к следующему: При проведении документа «Счет» товар попадает в резерв под этого клиента. Далее на основании документа «Счет» выписывается документ «Расходная». Пользователь может оставить все товарные позиции и их количество, унаследованные из счета, а может часть товара удалить из «Расходной». Это значит, что клиент забирает зарезервированный товар по частям. Далее документ «Расходная» проводится, товар при этом списывается не только со склада, но и с резерва. Таким образом, когда на основании счета заводится документ «Расходная», то в табличную часть должны переходить только те товары, которые на данный момент остаются в резерве. Кроме того, необходимо предусмотреть ситуацию, когда по каким-то причинам покупатель не будет забирать остаток резерва товаров, сделанный каким-то счетом. Чтобы разблокировать такой товар, в систему необходимо ввести документ «СнятиеРезерваТоваров». я* Ну и естественно, при проведении счетов и расходных накладных необходимо проверять не только, есть ли нужный товар на складе, но и не находится ли часть требуемого количества в резерве, а кроме того учесть еще и заблокированные товары! Кроме всего прочего, необходимо создать отчеты, которые бы показывали, что из товаров на какую-то дату находится в резерве, под какие счета; как происходило движение резерва товаров в интервале дат (какими документами товар заводился в резерв, какими списывался). Создать блок аналитических отчетов, показывающих активность менеджеров/клиентов. Этапы работ. 1. Создать регистр «РезервыНоменклатуры». Поскольку для отчетности по резервам нужны разрезы «Номенклатура» и «ПоСчету» - это и будут измерения нового регистра (тип значений - соответствующий). Ресурсом будет только «Резерв». (Про деньги нас никто не спрашивал, и, кроме того, не требуется резервировать конкретные партии. Главное, чтобы покупателю просто хватило товара, когда он придет забирать свой резерв). 2. Создать документ «Счет». В шапке реквизиты «Контрагент» и числовой «СрокРезервирования» (имеется ввиду - число дней). Табличная часть «Товары» полностью, как у документа «Расходная». (Срок резервирования понадобится для принятия решения - снимать просроченный резерв или нет. В табличной
Конфигурирование в системе "1С:Предприятие 8.0 ". Решение оперативных задач части для самого резервирования нужны, вроде, только реквизиты «Номенклатура» и «Количество». Но ведь в реальной жизни «Счет» - это счет на оплату. Так что без денег не обойтись). Кроме того, не забывайте о сервисе для пользователя. При подборе товара из справочника должна подставляться в документ дена продажи; своевременно должна перерасчитываться общая сумма в строке. 3. Прописать проведение документа «Счет» по регистру «РезервыНоменклатуры». Не забудьте предварительно проверить две вещи: есть ли нужный товар на складе и находится ли он в свободном остатке. Для этого, кроме остатка товара в регистре «ОстаткиНоменклатуры», необходимо будет еще учесть остатки по регистрам «РезервыНоменклатуры», «БлокировкаТовара». 4. Прописать ввод документа «Расходная» на основании документа «Счет». Контрагента необходимо брать из шапки. А вот при наследовании реквизитов табличной части необходимо проверять, находится ли этот товар до сих пор в резерве (может он уже отпущен другой расходной накладной). И количество, соответственно, брать из остатка данного резерва в регистре «РезервыНоменклатуры». Напоминаем, чтобы «Расходная» помнила, на основании какого счета она выписана, необходимо добавить в нее реквизит шапки типа «ДокументСсылка», и при вводе на основании - вписывать в него документ-источник, т.е. «Счет». 5. Прописать проведение документа «Расходная» по регистру «РезервыНоменклатуры». Необходимо списывать с набора измерений «Номенклатура» и «ПоСчету» указанное в табличной части «Товары» количество товара. Кроме того, необходимо изменить проверку возможности проведения накладной. Необходимо еще учесть резервы. Но из цифры сводного резерва данного товара, конечно, надо вычесть резерв, сделанный счетом- хозяином данной «Расходной». Предусмотрите, кстати, случаи, когда накладная вводится вообще без счета в основании, и когда пользователь в накладной поставил количество большее, чем в счете. 6. Необходимо создать документ «СнятиеСРезерва». В табличной части этого документа должен быть реквизит «Счет». Т.е. одно «СнятиеСРезерва» сможет снять резерв с нескольких счетов. Кроме того, при позиционировании на конкретной строке документа нужно показать в форме еще Дату Счета, Дату окончания резервирования, Клиента и Сумму счета. 7. Прописать проведение документа «СнятиеСРезерва». При этом необходимо выбирать остатки резервов на текущий документ по каждому из снимаемых счетов из регистра «РезервыТоваров» и выполнять для них отрицательные движения. 8. Сделать на форме документа «СнятиеСРезерва» кнопку «Заполнить» и создать механизм автоматического заполнения 114
Большая самостоятельная работа «Резервирование товаров и планирование активных продаж»
табличной части просроченными счетами. Для этого необходимо из регистра «РезервыТоваров» выбирать счета, для которых есть на дату документа «СнятиеСРезерва» ненулевые резервы и сравнивать: Дата документа «Счет» плюс срок резервирования меньше Дата документа «СнятиеСРезерва» или нет. 9. Создать отчет «Зарезервировано» на произвольную дату. 10. Создать отчет «ДвижениеРезервов» в интервале дат, используя запрос по регистру «РезервыТоваров». Отчет должен показывать информацию о начальном остатке, приходе, расходе и конечном остатке резервов. В отчете должен быть режимы: «Кратко» - когда представляются обобщенные данные только по товарам, и режим «Подробно» - когда движения по регистру представляются в разрезах и товаров, и документов, эти движения выполнивших. 11. Сформировать отчет «активность менеджеров/клиентов за период» по данным конфигурации (то есть по документам) с разрезами Менеджер/Клиент и данными: ЗапланированоКонтактов/ОтработаноКонтактов/Выставленосчетов /СуммарныйОборотПродаж; 12. Создать Оборотный регистр под предыдущее задание, прописать движения по нему документов и сформировать по данному регистру отчет. 13 ** Создать обработку «ФормированиеСчетовПоЗаданиям». На диалоге разместить табличное поле, куда при выборе даты обработки попадет список контрагентов, на которых имеется отложенное задание «ВыставитьСчет» на эту дату. Пользователь, позиционируясь на любом из Контрагентов, будет нажимать кнопку «СформироватьСчет» - программно должна открываться форма нового счета с уже заполненным «Контрагентом».