Имя: Пароль:
1C
 
Как это одним запросом сделать?
,
0 FOI1977
 
15.09.14
16:01
Здравствуйте.
Нужен отчёт чтобы выводил контрагента, и последний документ с ним.
Имеем 10-ю УТшку с CRMом от Раруса.

Я конечно могу нагородить делая запрос по критерию выборки ДокументыПоКонтрагенту на каждого контрагента, но это только если начальник с отчётом совсем плешь проест, а хочется как-нибудь изящно, одним запросом чтобы в СКД сделать.
Не подскажите?
Всю голову изломал.
1 Crush
 
15.09.14
16:03
Группировка по контрагенту, порядок по убыванию даты документа, документ получать функцией вычислить выражение по первой записи.
2 vicof
 
15.09.14
16:04
таблицы контаргентов соединить с контрагент, МАКСИМУМ(Ссылка)  из документов.
3 Crush
 
15.09.14
16:05
(2) А точняк! Документы же можно как период использовать:))
Тогда еще проще. Выборка из документов, группировка по контрагенту, максимум по документу
4 FOI1977
 
15.09.14
16:05
(2) Вопрос в получении документов, из РегистраНакоплений заказыпокупателей
5 Ненавижу 1С
 
гуру
15.09.14
16:08
(2) МАКСИМУМ(Ссылка) это не последний
6 Ненавижу 1С
 
гуру
15.09.14
16:09
(4) получи максимальные даты документов для каждого контрагента, соедини с таблицей регистра по дате, выбери максимальный регистратор
7 Defender aka LINN
 
15.09.14
16:11
(2) Кто сказал, что макс. ссылка - это последний документ?
8 John83
 
15.09.14
16:12
как-то так
ВЫБРАТЬ
    Контрагенты.Ссылка,
    ЗаказыПокупателейОбороты.Регистратор.Дата,
    ЗаказыПокупателейОбороты.Регистратор.Ссылка
ПОМЕСТИТЬ фыва
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Обороты(, , Регистратор, ) КАК ЗаказыПокупателейОбороты
        ПО Контрагенты.Ссылка = ЗаказыПокупателейОбороты.ДоговорКонтрагента.Владелец
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    фыва.Ссылка,
    МАКСИМУМ(фыва.РегистраторДата) КАК РегистраторДата
ПОМЕСТИТЬ авыф
ИЗ
    фыва КАК фыва

СГРУППИРОВАТЬ ПО
    фыва.Ссылка
;

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

СГРУППИРОВАТЬ ПО
    фыва.Ссылка
9 vicof
 
15.09.14
16:13
(5)(7) последний созданный. Автор не уточнил, что именно значит "последний".
10 John83
 
15.09.14
16:14
(2) а можно пример?
PS просто интересно
11 Defender aka LINN
 
15.09.14
16:15
(9) Повторяю вопрос :)
12 FOI1977
 
15.09.14
16:21
Последний по дате.
Всё уже написал.
13 vicof
 
15.09.14
16:23
(11) Ладно, уговорил. Ссылки как угодно могут создаваться, и необязательно последняя созданная ссылка будет "больше" предыдущей. Согласен, что по датам надо упорядочивать.
14 vicof
 
15.09.14
16:25
+(13) Для одного вида документов скорей всего прокатит, если брать максимум для регистраторов в регистре с несколькими регистраторами, тогда, кончено, чушь получится.
15 vicof
 
15.09.14
16:27
(14) кончено = конечно
16 John83
 
15.09.14
16:29
(14) для одного вида тоже не прокатит
17 Keyn
 
15.09.14
16:39
надо не ссылка и не дата, а моментвремени использовать. а то если доки в одной секунде, то что тогда? ))
18 МишельЛагранж
 
15.09.14
16:41
(0) ничего не понимаю.
В РН уже Период отменили?
19 Ненавижу 1С
 
гуру
15.09.14
16:51
(17) для МоментВремени нельзя брать МАКСИМУМ
20 Classic
 
15.09.14
17:07
Не взлетит по Критерию. Если есть какой-то регистр, где все доки валяются, то лехко
21 Classic
 
15.09.14
17:19
Хотя в СКД и с критерием отбора можно
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший