sada, посмотрел Ваше решение отчета по стеллажам. Считаю, что его нужно немного уточнить. Если у нас по приходной пришло деталей ровно на, например, 2 стеллажа. Если делаем расход в 1 любой детали, то в отчете количество стеллажей должно уменьшиться на единицу! У Вас же количество стеллаей не меняется!
//////////////////////////////////////////////
Например, мое, топорное уточнение:
ВЫБРАТЬ
Комплектация.Стеллаж КАК Стеллаж,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Комплектация.Количество) КАК КолРазличныхТиповДеталейВСтеллаже
ПОМЕСТИТЬ КоличествоДеталейВСтеллаже
ИЗ
РегистрСведений.Комплектация КАК Комплектация
СГРУППИРОВАТЬ ПО
Комплектация.Стеллаж
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ОстаткиНоменклатурыОстатки.Склад,
Комплектация.Стеллаж КАК Стеллаж,
МИНИМУМ(ОстаткиНоменклатурыОстатки.КоличествоОстаток / Комплектация.Количество) КАК КоличествоЦелыхОтношений,
СУММА(1) КАК ЧастейВНаличии,
КоличествоДеталейВСтеллаже.КолРазличныхТиповДеталейВСтеллаже
ПОМЕСТИТЬ Итого
ИЗ
РегистрНакопления.ОстаткиНоменклатуры.Остатки КАК ОстаткиНоменклатурыОстатки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Комплектация КАК Комплектация
ЛЕВОЕ СОЕДИНЕНИЕ КоличествоДеталейВСтеллаже КАК КоличествоДеталейВСтеллаже
ПО Комплектация.Стеллаж = КоличествоДеталейВСтеллаже.Стеллаж
ПО ОстаткиНоменклатурыОстатки.Номенклатура = Комплектация.Деталь
ГДЕ
(НЕ Комплектация.Стеллаж ЕСТЬ NULL )
СГРУППИРОВАТЬ ПО
Комплектация.Стеллаж,
ОстаткиНоменклатурыОстатки.Склад,
КоличествоДеталейВСтеллаже.КолРазличныхТиповДеталейВСтеллаже
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Итого.Склад,
Итого.Стеллаж,
Итого.КоличествоЦелыхОтношений,
ВЫРАЗИТЬ(Итого.КоличествоЦелыхОтношений КАК ЧИСЛО(10, 0)) КАК ОкругленноеЗначение,
ВЫБОР
КОГДА (ВЫРАЗИТЬ(Итого.КоличествоЦелыхОтношений КАК ЧИСЛО(10, 0))) - Итого.КоличествоЦелыхОтношений > 0
ТОГДА (ВЫРАЗИТЬ(Итого.КоличествоЦелыхОтношений КАК ЧИСЛО(10, 0))) - 1
КОГДА (ВЫРАЗИТЬ(Итого.КоличествоЦелыхОтношений КАК ЧИСЛО(10, 0))) - Итого.КоличествоЦелыхОтношений <= 0
ТОГДА ВЫРАЗИТЬ(Итого.КоличествоЦелыхОтношений КАК ЧИСЛО(10, 0))
КОНЕЦ КАК ОкруглЗнач
ИЗ
Итого КАК Итого
ГДЕ
Итого.КолРазличныхТиповДеталейВСтеллаже = Итого.ЧастейВНаличии
////////////////////////////////////////////////
Если есть способ округлять в запросе, принемая, что 1.5 -> 1, а не принятое в математике 1.5 -> 2, то можно упростить запрос. Но!! Мне такое не известно .. Может что Вы скажете!
///////////////////////////////////////////////
Ну и .. собственно говоря .. мое решение
Вложения:
DoctorRoza_1_13.dt