petrov86, я думаю по другому (задача очень похожа на 1.12 посмотри там выкладывали решения)
Два регистра накопления
1) ОстакиТовара
Номенклатура, склад, заказ (количество), СУММА (тк себестоимость рассчитывается как средняя по складу)
2) ТоварВПути (Лучше Резервы)
Номенклатура,
ДокументЗаказПокупателя, заказ (количество)
1)Заказпокупателя. Это грубо говоря клиент приходит и говорит я хочу купить товар1 18 шт
Мы смотрим наши остатки говорим, о товара1 у нас на складе1 10 шт Мы говорим базару нет, 18 так 18 и выписываем ЗаказПокупателю
А так же у нас разрешён отрицательный остаток. То мы можем взять то что есть и добрать остальное в счёт будущих приходов. Это тоже клиенту лучше не говорить
Резервируем всё? клиент - ага. Не все а сколько захотим, но не больше чем количество в заказе
Делаем одну проводку 10 шт склад1 отрицательную. (остаткитовара) заказ = пусто
Делаем одну проводку 10 шт резерв положительную. (остаткитовара) заказ = заказ1
В результате склад1 товара 0, резерв 10 шт.
Проводки только в регистре Резервы! Показывает, что данный ДокументЗаказПокупателя зарезервировал товар в таком то количестве
И делаем одну проводку 8 шт склад1 отрицательную. (ТоварВПути) заказ = заказ1
2) Расходная накладная. Клиент - блин можно мне отгрузить чё есть? ок
Создали расходную вбили количество (18). Мы хз сколько на складе щас есть. Может уже приходы были.
Система - а можеш взять токо 10. ок. берём. исправляем на 10. Проводим.
Нет!! Не проводим тк на складе количества нету! А если бы было то смотрим по регистру Остатки остатки на всех складах и вычитаем количество из регистра Резервы (у тебя ТоварыВПути) сколько такого же товара зарезервировано другими ЗаказамиПокупателю, т.е получаем свободный остаток
3)Приходная. Пришёл товар1 100 шт на склад1.
Сначало смотрим сколько этого товара у нас в регистре ТоварВПути. - 8шт склад1 заказ1
Делаем проводку 8 шт склад1 заказ1 положительную (ТоварВПути)
Погасили нашу потребность.
Теперь с остатками.
Делаем проводку 100 шт склад1 положительную (ОстаткиТовара) заказ = пусто
Делаем проводку 8 шт склад1 отрицательную (ОстаткиТовара) заказ = пусто
Делаем проводку 8 шт резерв положительную (ОстаткиТовара) заказ = заказ1
Ну и собственно дальше снова пункт 2.
Конструктором Приходную надо делать, как кстати в большинстве задач
Добавлено (26.08.2010, 15:45)
---------------------------------------------
alice, Да нет нормально, просто нужно смотреть что б зарезервировано было этим документом не больше чем клиент хочет заказать))