0
Trance_1C
18.01.12
✎
06:42
|
Допустим нужно получить такую выборку из рег. накопления "Взаиморасчеты с контрагентами" за период 1 мес.
Контрагент | Оборот за мес. | дата первого обращения. |
с первыми двумя колонками все понятно, пока не получается вытащить дату первого движения по контрагенту, я так понимаю нужно делать промежуточную выборку с сортировкой и затем нумерацией строк и затем присоединять к исходной получая дату из 1 строки.
???
|
|
3
Trance_1C
18.01.12
✎
06:54
|
(2) верно левое соединение это первое что приходит на ум, но не лучается.
например здесь первая таблица выбирает контрагентов с оборотами вторая по ней пытается получить контрагента и его первую дату с оборотом. в третьей они соединяются.
выходит что во второй таблице сворачивается вся выборка и мы получаем только одну самую первую дату, а надо первую дату в разрезе контрагентов...
???
ВЫБРАТЬ
ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент,
ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрОборот
ПОМЕСТИТЬ Расчеты
ИЗ
РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, Движения, ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
Расчеты.Контрагент КАК Контрагент,
ВзаиморасчетыСКонтрагентамиОбороты.ПериодСекунда КАК Периодсек,
ВзаиморасчетыСКонтрагентамиОбороты.СуммаУпрОборот
ПОМЕСТИТЬ ДопРасчеты
ИЗ
Расчеты КАК Расчеты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(, &КонецПериода, Авто, ) КАК ВзаиморасчетыСКонтрагентамиОбороты
ПО Расчеты.Контрагент = ВзаиморасчетыСКонтрагентамиОбороты.Контрагент
УПОРЯДОЧИТЬ ПО
Периодсек,
Контрагент
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Расчеты.Контрагент,
Расчеты.СуммаУпрОборот,
ДопРасчеты.Периодсек
ИЗ
Расчеты КАК Расчеты
ЛЕВОЕ СОЕДИНЕНИЕ ДопРасчеты КАК ДопРасчеты
ПО Расчеты.Контрагент = ДопРасчеты.Контрагент
|
|
4
Trance_1C
18.01.12
✎
07:01
|
Как бы во второй таблице сначала объединить по контрагенту, затем только по нему отсортировать период по убыванию и выбрать первую строку, вот не могу пока сообразить :)
|
|