понедельник, 21 августа 2017 г.

Нарастающий итог в запросе


Одна из самых популярных алгоритом на уровень чуть выше новичка
Необходимо использовать левое соединение таблицы с самой собой.


Нарастающий итог в запросе
 ВЫБРАТЬ
 Обороты.Период,
 Обороты.Номенклатура,
 Обороты.Количество
ПОМЕСТИТЬ ВТдвижения
ИЗ
 РегистрНакопления.Обороты КАК Обороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
 Движения.Период КАК Период,
 Движения.Номенклатура КАК Номенклатура,
 Движения.Количество,
 СУММА(ТеЖеДвижения.Количество) КАК КоличествоНарастающийИтог
ИЗ
 ВТдвижения КАК Движения
  ЛЕВОЕ СОЕДИНЕНИЕ ВТдвижения КАК ТеЖеДвижения

ПО 
Движения.Период >= ТеЖеДвижения.Период
  //ищем движения из той же самой таблицы, 
//предшествующие данному, чтобы их просуммировать

И Движения.Номенклатура = ТеЖеДвижения.Номенклатура
 //чтобы нарастающий итог по разным номенклатурам не перемешался

СГРУППИРОВАТЬ ПО
 Движения.Период,
 Движения.Номенклатура,
 Движения.Количество

УПОРЯДОЧИТЬ ПО
 Номенклатура,
 Период 

Комментариев нет:

Отправить комментарий

Печать чека ККМ из драйвера ККМ

Суть проблемы: Пробиваем чек из 1С: Бухгалтерии. Чек пробит не  правильно. Теперь нужно сделать чек коррекции. Но в программе это сделать н...