Доброго дня. Посмотрел решения некоторых из участников, возник такой вопрос: если товар резервируется менеджером1 с приоритетом 1 в кол-ве 1 шт и менеджером2 с приоритетом 2 в кол-ве 2 шт, а продает его менеджер 3 с приоритетом 3 в кол-ве 3 шт, то получается, что на момент проведения этой расходной накладной в регистре резервов будут 2 записи:
+ Менеджер 1, 1 шт,
+ Менеджер 2, 2 шт. И получается, что при проведениии расходной накладной, мы не можем сделать запись:
- Менеджер 3, 3 шт, т.к. такой регистр в ноль никогда не закроется. Получается, что нужно делать
- Менеджер 1, 1 шт,
- Менеджер 2, 2 шт. В общем что-то вроде(или не вроде, а так и есть) списания по партиям. Вопрос только как их отсортировать? сделал по возрастанию приоритета. Или я что-то неправильно понял в условии задачи. Еще такой момент, при построении запроса к доступным резервам, следует учитывать что можно забирать товары не только менеджеров с более низким приоритетом, но и текущего менеджера.
Еще что-то не пойму, как проще в отчете резервы сделать сортировку по приоритету, может кто подскажет?
Прикрепляю свое решение, буду признателен за критику.
Спасибо.
Добавлено (13.06.2011, 19:58)
---------------------------------------------
Проясните, пжл, ситуацию с менеджерами и закрытием регистра в ноль, описал в предыдущем посте.
Добавлено (18.06.2011, 16:22)
---------------------------------------------
Еще такой вопрос: считается ли нормальным использование одного общего модуля с флагами клиент и сервер одновременно?
Общий модуль РаботаСДокументами:
// Вызывается из форм документов приходная и расходная
Процедура РассчитатьСуммуТабличнойЧасти(СтрокаТабличнойЧасти) Экспорт
СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
КонецПроцедуры
// Вызывается из модулей документов Приходная и расходная, перед записью
Функция РассчитатьСуммуДокумента(Объект) Экспорт
Возврат Объект.СписокНоменклатуры.Итог("Сумма");
КонецФункции
Вложения:
1-12_Urfin.dt