Имя: Пароль:
1C
 
Количество дней между документами в запросе
0 alnovin
 
17.06.11
12:07
Друзья, всем привет!

Требуется получить количество дней между документами в запросе. Другими словами, требуется проанализировать регистр продажи, и получить для каждого документа количество дней, сколько прошло после последнего документа перед текущим. Еще есть условие. Период - это месяц. Самый первый документ в выборке должен отразить количество дней с начала месяца до этого документа. Последняя запись в выборке должна отражать количество дней с последней записи в регистре в данном периоде до конца месяца периода.

Какие есть мысли?
1 Ненавижу 1С
 
гуру
17.06.11
12:08
(0) запрос
2 Ненавижу 1С
 
гуру
17.06.11
12:09
интервалы в пределах каждого контрагента или вообще по документам в целом?
3 Jstunner
 
17.06.11
12:11
(0) соединение таблицы документов с самой собой по дате меньше текущей, разница текущей даты и максимума другой
4 alnovin
 
17.06.11
12:12
разумеется, требуется выборку осуществить в запросе. в разрезе контрагента
5 alnovin
 
17.06.11
12:13
Jstunner, спасибо! сейчас попробуем.
6 Aprobator
 
17.06.11
12:15
угу - тока начало месяца и конец месяца довесить не забудь.
7 Ненавижу 1С
 
гуру
17.06.11
12:21
...


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

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
   &НачПериода,
   РеализацияТоваровУслуг.Контрагент
ИЗ
   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
   РеализацияТоваровУслуг.Дата МЕЖДУ &НачПериода И &КонПериода
;

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

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
   &КонПериода,
   РеализацияТоваровУслуг.Контрагент
ИЗ
   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
   РеализацияТоваровУслуг.Дата МЕЖДУ &НачПериода И &КонПериода
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Начала.Контрагент,
   Начала.Дата КАК ДатаНач,
   МИНИМУМ(РАЗНОСТЬДАТ(Начала.Дата, Концы.Дата, ДЕНЬ)) КАК Срок
ИЗ
   Начала КАК Начала
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Концы КАК Концы
       ПО Начала.Дата < Концы.Дата
           И Начала.Контрагент = Концы.Контрагент

СГРУППИРОВАТЬ ПО
   Начала.Дата,
   Начала.Контрагент
AdBlock убивает бесплатный контент. 1Сергей