|
Оперативный учёт. | ☑ | ||
---|---|---|---|---|
0
Dmitry017
13.04.13
✎
21:35
|
Решаю задачки из книжки по подготовке к спецу по платфрме. Набросал план решения (что нужно сделать чтобы решить задачу). В кратце набросал. В принципе всё подробно не описано. Но тем не менее, можете подсказать, есть ли какие-то принципиальные ошибки в алгоритме? Например, не те измерения у регистра и т.д.?
Задача 1.12 Задача 1.12. Компания занимается оптовой торговлей. Принята следующая схема работы: поступление товаров отражается документом «Приходная накладная». По предварительной договоренности с покупателем .менеджер может оформить резерв (документ «Резервирование товара»), причем наличие товара в этот момент не важно, товар может отсутствовать. Непосредственно отгрузка товара покупателю отражается документом «Расходная накладная», при этом происходит снятие резерва. Учет товаров ведется в разрезе складов. В документах «Приходная накладная» и Расходная накладная» склад только один (склад - реквизит шапки). При проведении расходной накладной необходимо проверить наличие товара на складе и «свободного» (будет описано далее) товара. В том случае, когда товара недостаточно, документ не проводится и выводится соответствующее сообщение об ошибке. У каждого менеджера есть приоритет, чем больше приоритет, тем более ответственный менеджер и тем важнее его продажи. Таким образом, если два менеджера одновременно зарезервировали один и тот же товара, то менеджер с большим приоритетом может продать товар, зарезервированный менеджером с меньшим приоритетом. Менеджер с низким приоритетом продать чужой резерв не имеет права. Таким образом, «свободный» товар менеджера определяется как товар на всех складах минус резерв всех остальных менеджеров с приоритетом большим либо таким же, как и у текущего менеджера. Приоритет устанавливается для каждого менеджера индивидуально и может меняться н& чаще чем 1 раз в месяц. При продаже необходимо использовать приоритет менеджера, актуальный на дату продажи. Себестоимость товара рассчитывается как средняя по складу. Необходимо создать отчеты по состоянию остатков и резервов на дату. |
|||
1
Dmitry017
13.04.13
✎
21:35
|
Алгоритм
1. Документ РезервированиеТовара. Товара может и не быть, но он должен быть зарезервирован 2. Отгрузка товара происходит как снятие с резерва 3. Склад – реквизит документа 4. РегистрСведений ПриоритетыМенеджеров. Измерение: Контрагенты. Ресурс: Приоритет 5. При проведении расходной накладной необходимо проверить наличие товара на складе и «свободного» (будет описано далее) товара. 6. Себестоимость товара рассчитывается как средняя по складу 7. РегистрНакопления Резервы. Измерение: Номенклатура, Контрагент. Измерение: Количество 8. РегистНакопления ОстаткиНоменклатуры. Измерение: Номенклатура, Склад, ресурс: Количество, Стоимость |
|||
2
Classic
13.04.13
✎
21:44
|
И чё?
|
|||
3
Dmitry017
13.04.13
✎
21:45
|
я правильно эти 2 регистра определил?
7. РегистрНакопления Резервы. Измерение: Номенклатура, Контрагент. Измерение: Количество 8. РегистНакопления ОстаткиНоменклатуры. Измерение: Номенклатура, Склад, ресурс: Количество, Стоимость |
|||
4
Dmitry017
13.04.13
✎
21:48
|
7. РегистрНакопления Резервы. Измерение: Номенклатура, Контрагент. ресурс: Количество
|
|||
5
asady
13.04.13
✎
21:57
|
(4) в измерения засунь менеджера
|
|||
6
Dmitry017
13.04.13
✎
21:59
|
спасибо
|
|||
7
asady
13.04.13
✎
22:02
|
(6) а вот зачем туда контрагента пихнул?
обычно документ резерва юзают в качестве измерения |
|||
8
asady
13.04.13
✎
22:03
|
(1) а ты часом менеджеров с контрагентами не путаешь?
почему у тебя РС называется приоритетыменеджеров а в измерении у него контрагент? |
|||
9
Dmitry017
13.04.13
✎
22:11
|
Дада. спутал. Спасибо
|
|||
10
Dmitry017
13.04.13
✎
22:14
|
(7) То есть передать Ссылку на документ? А как потом определять приоритеты менеджеров, если менеджера не будет в измерениях? Это запрос к документу придётся делать, а это как я читал очень тормознутая вещь
|
|||
11
asady
13.04.13
✎
22:21
|
(10) РН Резервы:
Измерения: Номенклатура, ДокументРезерва, Менеджер |
|||
12
Dmitry017
13.04.13
✎
22:23
|
(11) Я понял, спасибо. Но только одно не могу понять, всё вроде будет работать и без данных ДокментРезерва, это избыточная информация. Поясните пожалуйста, зачем она нужна.
Если я не прав что информация избыточная, поправьте |
|||
13
Dmitry017
13.04.13
✎
22:45
|
В условии написано:
При проведении расходной накладной необходимо проверить наличие товара на складе и «свободного» (будет описано далее) товара. В том случае, когда товара недостаточно, документ не проводится и выводится соответствующее сообщение об ошибке. У каждого менеджера есть приоритет, чем больше приоритет, тем более ответственный менеджер и тем важнее его продажи. Таким образом, если два менеджера одновременно зарезервировали один и тот же товара, то менеджер с большим приоритетом может продать товар, зарезервированный менеджером с меньшим приоритетом. Менеджер с низким приоритетом продать чужой резерв не имеет права. Таким образом, «свободный» товар менеджера определяется как товар на всех складах минус резерв всех остальных менеджеров с приоритетом большим либо таким же, как и у текущего менеджера. Вот с получением информации об остатках товаров на складах всё понятно, а как получить информацию в запросе о резервах менедджеров, да и в соответствии с их приоритетами, вот это не совсем понятно. Есть предположение добавить ресурс Приоритет в регистр накопления Резервы, но мне кажется, что это было бы глупо, т.к. приоритет уже находится в регистре сведений. Как быть? Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура |ПОМЕСТИТЬ ВТТовары |ИЗ | Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры |ГДЕ | РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОстаткиНоменклатурыОстатки.Номенклатура, | ОстаткиНоменклатурыОстатки.КоличествоОстаток, | ОстаткиНоменклатурыОстатки.СтоимостьОстаток |ПОМЕСТИТЬ ВТОстатки |ИЗ | РегистрНакопления.ОстаткиНоменклатуры.Остатки( | &МоментВремени, | Номенклатура В | (ВЫБРАТЬ | ВТТовары.Номенклатура | ИЗ | ВТТовары КАК ВТТовары) | И Склад = &Склад) КАК ОстаткиНоменклатурыОстатки |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РезервыОстатки.Номенклатура, | РезервыОстатки.Менеджер, | РезервыОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.Резервы.Остатки( | &МоментВремени, | Номенклатура В | (ВЫБРАТЬ | ВТТовары.Номенклатура | ИЗ | ВТТовары КАК ВТТовары) | И Менеджер = &Менеджер) КАК РезервыОстатки"; Запрос.УстановитьПараметр("МоментВремени", МоментВремени()); Запрос.УстановитьПараметр("Склад", Склад); Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.УстановитьПараметр("Менеджер", Менеджер); |
|||
14
Dmitry017
13.04.13
✎
22:54
|
Если что, вот выгруженная база http://zalil.ru/34436250
Подскажите, пожалуйста, кто что знает. Задача вроде типовая, ничего сложного. Но начинающему трудно сориентироваться |
|||
15
asady
13.04.13
✎
23:05
|
(12) а как ты отделишь резервы вообще от резервов по конкретному документу резерва при отгрузке?
|
|||
16
Мимохожий Однако
14.04.13
✎
09:04
|
Что именно у тебя не получилось? Задача типовая. Контрольный пример даёт нужный результат?
|
|||
17
shuhard
14.04.13
✎
09:16
|
(14) не парься,
в ближайший год сертификат ты не получишь |
|||
18
Dmitry017
14.04.13
✎
10:25
|
(17) да я первоначально для себя поднатаскатья хочу.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |