|
УПП, расчет потребности под производство, ПолучитьКоличествоВыпусков | ☑ | ||
---|---|---|---|---|
0
Тим
15.12.11
✎
12:07
|
Мое почтение!
Любезные, расчет потребности под производство происходит неверно, если в заказе на производство указана номенклатура с характеристикой; без указания характеристики всё верно. В заказе на производство одна позиция с простейшей сборочной спецификацией, одно выходное изделие без характеристик. Выяснил, что странным образом работает функция ПолучитьКоличествоВыпусков модуля РазузлованиеНоменклатуры. При отсутсвии характеристики увеличивает потребности на нормируемое спецификацией количество продукта, неверно определяя кратность запрошенного объёма производства. Т.е. требуется произвести 50000 единиц, есть спецификация на 10000 единиц, в итоге имею потребность в материалах * 5 * 10000. Понять иезуитскую логику функции ПолучитьКоличествоВыпусков до сих пор не могу - что за числитель, что за знаменатель...никто не пытался постичь? И почему собственно вместо деления запрошенного объёма производства выходного продукта на нормируемое спецификацией количество продукта, нужны такие конструкции? Возврашаемое этой функцией собственно значение количества выпусков нигде не применяется, везде из вовзращаемой структуры используется не собственно значение, а именно числитель и знаменатель. Кстати, в свежих версиях УПП эта функция в таком же виде? У меня Функция ПолучитьКоличествоВыпусков(Спецификация, Номенклатура, ХарактеристикаНоменклатуры, Коэффициент, Количество) Запрос = Новый Запрос( "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 | ВЫБОР | КОГДА ВыходныеИзделия.Количество = 0 | ТОГДА 1 | ИНАЧЕ ВыходныеИзделия.Количество | КОНЕЦ / КоличествоСумма.Количество КАК Числитель, | ВыходныеИзделия.Количество / ВЫБОР | КОГДА &Коэффициент = 0 | ТОГДА 1 | ИНАЧЕ &Коэффициент | КОНЕЦ КАК Знаменатель |ИЗ | (ВЫБРАТЬ | 1 КАК Приоритет, | СУММА(ВыходныеИзделияСХарактеристикой.Количество * ЕСТЬNULL(ВыходныеИзделияСХарактеристикой.ЕдиницаИзмерения.Коэффициент, 1)) КАК Количество | ИЗ | Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделияСХарактеристикой | ГДЕ | ВыходныеИзделияСХарактеристикой.Номенклатура = &Номенклатура | И ВыходныеИзделияСХарактеристикой.ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры | И ВыходныеИзделияСХарактеристикой.Ссылка = &Спецификация | И ВыходныеИзделияСХарактеристикой.Количество > 0 | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | 2, | СУММА(ВыходныеИзделияБезХарактеристики.Количество * ЕСТЬNULL(ВыходныеИзделияБезХарактеристики.ЕдиницаИзмерения.Коэффициент, 1)) | ИЗ | Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделияБезХарактеристики | ГДЕ | ВыходныеИзделияБезХарактеристики.Номенклатура = &Номенклатура | И ВыходныеИзделияБезХарактеристики.Ссылка = &Спецификация | И ВыходныеИзделияБезХарактеристики.Количество > 0 | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | 3, | 1) КАК ВыходныеИзделия | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ВЫБОР | КОГДА СУММА(ВыходныеИзделия.Количество) = 0 | ТОГДА 1 | ИНАЧЕ ЕСТЬNULL(СУММА(ВыходныеИзделия.Количество * ЕСТЬNULL(ВыходныеИзделия.ЕдиницаИзмерения.Коэффициент, 1)), 1) | КОНЕЦ КАК Количество | ИЗ | Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделия | ГДЕ | ВыходныеИзделия.Номенклатура = &Номенклатура | И ВыходныеИзделия.ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры | И ВыходныеИзделия.Ссылка = &Спецификация | И ВыходныеИзделия.Количество > 0) КАК КоличествоСумма | ПО (ИСТИНА) |ГДЕ | ВыходныеИзделия.Количество ЕСТЬ НЕ NULL | |УПОРЯДОЧИТЬ ПО | ВыходныеИзделия.Приоритет"); Запрос.УстановитьПараметр("Спецификация", Спецификация); Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", ХарактеристикаНоменклатуры); Запрос.УстановитьПараметр("Коэффициент", Коэффициент); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); Возврат Новый Структура("Значение, Числитель, Знаменатель", Количество * Выборка.Числитель / Выборка.Знаменатель, Количество * Выборка.Числитель, Выборка.Знаменатель); КонецФункции // ПолучитьКоличествоВыпусков() |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |