|
v8: Срез последних в периодическом регистре сведений. | ☑ | ||
---|---|---|---|---|
0
Анцеранана
21.06.12
✎
10:22
|
Не могу получить последнего менеджера по договорам контрагента ООО "Мегофон"...
Изначальный текст запроса такой: ВЫБРАТЬ ИзмененияМенеджераКонтрагентаСрезПоследних.Период, ИзмененияМенеджераКонтрагентаСрезПоследних.Менеджер, ИзмененияМенеджераКонтрагентаСрезПоследних.КонтрагентДоговор ИЗ РегистрСведений.ИзмененияМенеджераКонтрагента.СрезПоследних(&КонецПериода, КонтрагентДоговор.Владелец = &Контрагент) КАК ИзмененияМенеджераКонтрагентаСрезПоследних Дано: Договор находится в измерении( не ресурсе) КонтрагентДоговор независимого периодического регисра сведений... Выводит мне всех менеджеров по договорам данного контрагента, а мне нужно только последнего... Другой вариант того же запроса - тот же результат: ВЫБРАТЬ РАЗЛИЧНЫЕ Договоры.Ссылка ПОМЕСТИТЬ Договоры ИЗ Справочник.Договоры КАК Договоры ГДЕ Договоры.Владелец = &Контрагент ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ИзмененияМенеджераКонтрагентаСрезПоследних.Период, ИзмененияМенеджераКонтрагентаСрезПоследних.Менеджер, ИзмененияМенеджераКонтрагентаСрезПоследних.КонтрагентДоговор ПОМЕСТИТЬ Ответственые ИЗ РегистрСведений.ИзмененияМенеджераКонтрагента.СрезПоследних(&КонецПериода, КонтрагентДоговор.Владелец = &Контрагент) КАК ИзмененияМенеджераКонтрагентаСрезПоследних ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Договоры.Ссылка, Ответственые.Менеджер, Ответственые.Период ИЗ Договоры КАК Договоры ВНУТРЕННЕЕ СОЕДИНЕНИЕ Ответственые КАК Ответственые ПО Договоры.Ссылка = Ответственые.КонтрагентДоговор Хелп!) |
|||
1
Realist_x1
21.06.12
✎
10:24
|
Менеджер это ресурс или измерение таки ?
|
|||
2
unregistered
21.06.12
✎
10:29
|
(0) Поздравляю! Ваш запрос работает правильно.
В чем вопрос? |
|||
3
Reset
21.06.12
✎
10:32
|
Максимум по периоду он хочет, вероятно
|
|||
4
Анцеранана
21.06.12
✎
10:38
|
(0) я в курсе
(1) менеджер это измерение (!!!), там блин вообще ресурсов нет в этом регистре и сделать ничего нельзя(( (3)максимум по договору,по периоду, да |
|||
5
Анцеранана
21.06.12
✎
10:39
|
(2) Сейчас по одному какому-либо договору выводятся несколько менеджеров..Это не правильно)
|
|||
6
unregistered
21.06.12
✎
10:40
|
(4) Сортируйте по периоду по убыванию и ВЫБРАТЬ ПЕРВЫЕ 1.
|
|||
7
unregistered
21.06.12
✎
10:42
|
(5) Что значит "неправильно"?
Если один договор может вести только один менеджер, значит надо менеджера перенести из измерения в ресурс. |
|||
8
Reset
21.06.12
✎
10:42
|
(4) Так примерно можно
ВЫБРАТЬ первые 1 ИзмененияМенеджераКонтрагентаСрезПоследних.Период, ИзмененияМенеджераКонтрагентаСрезПоследних.Менеджер, ИзмененияМенеджераКонтрагентаСрезПоследних.КонтрагентДоговор ИЗ РегистрСведений.ИзмененияМенеджераКонтрагента.СрезПоследних(&КонецПериода, КонтрагентДоговор.Владелец = &Контрагент) КАК ИзмененияМенеджераКонтрагентаСрезПоследних Упорядочить по Период убыв |
|||
9
Reset
21.06.12
✎
10:43
|
(6) не видел, сорри
|
|||
10
Анцеранана
21.06.12
✎
10:47
|
(8)проверял уже, Не катит, результат запроса возвращает тогда одну строку по одному из договоров по всему Контрагенту а мне нужно ПО КАЖДОМУ договору контрагента по 1-й строке
(7) Так и нужно сделать по уму, но невозможно, обновлять гиганстсую базу и прочие технические моменты, а руководитель в отпуске, порежет на мелкие кусочки когда вернется, поэтому давайцте считать что таки Измерение, а не ресурс- как есть. |
|||
11
Анцеранана
21.06.12
✎
10:52
|
(8) то есть в исходном примере:
Договор 1 Иванов 10.03.08 Договор 1 Петров 10.04.09 Договор 2 Сидоров 10.01.09 в вашем варианте получилось: Договор 1 Петров 10.04.09 а мне надо: Договор 1 Петров 10.04.09 Договор 2 Сидоров 10.01.09 |
|||
12
Reset
21.06.12
✎
10:54
|
тогда группировать по Менеджер, с МАКСИМУМ по период
|
|||
13
Анцеранана
21.06.12
✎
11:02
|
(12) дык только по менеджеру группировать не получится ... если сделать вот так...
ВЫБРАТЬ МАКСИМУМ(ИзмененияМенеджераКонтрагентаСрезПоследних.Период) КАК Период, ИзмененияМенеджераКонтрагентаСрезПоследних.Менеджер, ИзмененияМенеджераКонтрагентаСрезПоследних.КонтрагентДоговор ПОМЕСТИТЬ Ответственые ИЗ РегистрСведений.ИзмененияМенеджераКонтрагента.СрезПоследних(&КонецПериода, КонтрагентДоговор.Владелец = &Контрагент) КАК ИзмененияМенеджераКонтрагентаСрезПоследних СГРУППИРОВАТЬ ПО ИзмененияМенеджераКонтрагентаСрезПоследних.Менеджер, ИзмененияМенеджераКонтрагентаСрезПоследних.КонтрагентДоговор ; то результат получается как в (0) , попадают все... |
|||
14
Reset
21.06.12
✎
11:13
|
Вот так попробуй
ВЫБРАТЬ МАКСИМУМ(ИзмененияМенеджераКонтрагентаСрезПоследних.Период) КАК Период, ИзмененияМенеджераКонтрагентаСрезПоследних.Менеджер, ПОМЕСТИТЬ Менеджеры ИЗ РегистрСведений.ИзмененияМенеджераКонтрагента.СрезПоследних(&КонецПериода, КонтрагентДоговор.Владелец = &Контрагент) КАК ИзмененияМенеджераКонтрагентаСрезПоследних СГРУППИРОВАТЬ ПО ИзмененияМенеджераКонтрагентаСрезПоследних.Менеджер; ВЫБРАТЬ ИзмененияМенеджераКонтрагентаСрезПоследних.Период КАК Период, ИзмененияМенеджераКонтрагентаСрезПоследних.Менеджер, ИзмененияМенеджераКонтрагентаСрезПоследних.КонтрагентДоговор ИЗ Менеджеры Левое соединение РегистрСведений.ИзмененияМенеджераКонтрагента.СрезПоследних(&КонецПериода, КонтрагентДоговор.Владелец = &Контрагент) КАК СрезПоследних по Менеджеры.Период=СрезПоследних.Период И Менеджеры.Менеджер=СрезПоследних.Менеджер |
|||
15
Reset
21.06.12
✎
11:14
|
во втором пакете вместо ИзмененияМенеджераКонтрагентаСрезПоследних везде "СрезПоследних" только
|
|||
16
Reset
21.06.12
✎
11:17
|
Не, опять фигня по моему
|
|||
17
Reset
21.06.12
✎
11:21
|
Вот так вроде должнго показать последнего по каждому договору (если это надо, я уже запутался)
ВЫБРАТЬ МАКСИМУМ(ИзмененияМенеджераКонтрагентаСрезПоследних.Период) КАК Период, ИзмененияМенеджераКонтрагентаСрезПоследних.КонтрагентДоговор, ПОМЕСТИТЬ ПоследниеДоговоры ИЗ РегистрСведений.ИзмененияМенеджераКонтрагента.СрезПоследних(&КонецПериода, КонтрагентДоговор.Владелец = &Контрагент) КАК ИзмененияМенеджераКонтрагентаСрезПоследних СГРУППИРОВАТЬ ПО ИзмененияМенеджераКонтрагентаСрезПоследних.КонтрагентДоговор; ВЫБРАТЬ СрезПоследних.Период КАК Период, СрезПоследних.Менеджер, СрезПоследних.КонтрагентДоговор ИЗ ПоследниеДоговоры Левое соединение РегистрСведений.ИзмененияМенеджераКонтрагента.СрезПоследних(&КонецПериода, КонтрагентДоговор.Владелец = &Контрагент) КАК СрезПоследних по ПоследниеДоговоры.Период=СрезПоследних.Период И ПоследниеДоговоры.КонтрагентДоговор=СрезПоследних.КонтрагентДоговор |
|||
18
Анцеранана
21.06.12
✎
11:52
|
Вообщем немного не так сделал, но близко к этому, спасибо Reset идея с максимумом по периоду походу правильная...
PS Ругаю дебилоидов, которые криво спроектированли регистр. Менеджер - это однозначно ресурс должен был быть... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |