|
Переброс суммы по месяцам с корректировкой значения этой суммы в СКД | ☑ | ||
---|---|---|---|---|
0
Lancer666
14.11.13
✎
13:00
|
Здравствуйте, есть следующая задача. Собирается план номенклатуры по периодам, дальше в зависимости от имеющихся остатков этой номенклатуры план должен гаситься по месяцам, например:
Номенклатура: Лопата План: Январь:10, Февраль:15, Март:30, Апрель:15 Остаток номенклатуры:35 В этом случае план должен измениться следующим образом: Январь:0, Февраль:0, Март:20, Апрель:15 То есть по тем первым месяцам по которым хватает текущим остатков на складе должно значение стать 0 или недостающее количество. Вопрос можно ли отработать такой отчет на СКД, избегая программной обработки данных после формирования отчета? Заранее спасибо за помощь. |
|||
1
Ненавижу 1С
гуру
14.11.13
✎
13:01
|
||||
2
Lancer666
14.11.13
✎
15:55
|
(1) Спасибо большое, по аналогии решил вопрос. Если кому то понадобится, код следующий:
ВЫБРАТЬ ПланыПотребностейОбороты.Номенклатура КАК Номенклатура, МАКСИМУМ(ПланыПотребностейОбороты.КоличествоОборот) КАК КоличествоПотребностьПлан, МАКСИМУМ(ПланыПотребностейОбороты.СуммаОборот) КАК СуммаОборот, СУММА(ЕСТЬNULL(ПланыПотребностейОбороты1.КоличествоОборот, 0)) КАК КоличествоПотребностьДоПериода, ПланыПотребностейОбороты.Период КАК Период ПОМЕСТИТЬ ВтПотребностьОбороты ИЗ РегистрНакопления.ПланыПотребностей.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПланыПотребностейОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПланыПотребностей.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПланыПотребностейОбороты1 ПО ПланыПотребностейОбороты.Номенклатура = ПланыПотребностейОбороты1.Номенклатура И ПланыПотребностейОбороты.Период > ПланыПотребностейОбороты1.Период СГРУППИРОВАТЬ ПО ПланыПотребностейОбороты.Период, ПланыПотребностейОбороты.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВтПотребностьОбороты.Номенклатура КАК Номенклатура, ВтПотребностьОбороты.КоличествоПотребностьПлан, ВтПотребностьОбороты.СуммаОборот, ВтПотребностьОбороты.КоличествоПотребностьДоПериода, ВтПотребностьОбороты.Период КАК Период, ТоварыНаСкладахОстатки.КоличествоОстаток КАК ОстатокНаСкладе, ВЫБОР КОГДА ВтПотребностьОбороты.КоличествоПотребностьДоПериода + ВтПотребностьОбороты.КоличествоПотребностьПлан <= ТоварыНаСкладахОстатки.КоличествоОстаток ТОГДА 0 ИНАЧЕ ВЫБОР КОГДА ВтПотребностьОбороты.КоличествоПотребностьДоПериода < ТоварыНаСкладахОстатки.КоличествоОстаток ТОГДА ВтПотребностьОбороты.КоличествоПотребностьПлан - (ТоварыНаСкладахОстатки.КоличествоОстаток - ВтПотребностьОбороты.КоличествоПотребностьДоПериода) ИНАЧЕ ВтПотребностьОбороты.КоличествоПотребностьПлан КОНЕЦ КОНЕЦ КАК КоличествоПотребностьФакт ИЗ ВтПотребностьОбороты КАК ВтПотребностьОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ПО ВтПотребностьОбороты.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура УПОРЯДОЧИТЬ ПО Номенклатура, Период АВТОУПОРЯДОЧИВАНИЕ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |