Дублирует строки = срез последних цены контрагентов

1. aximo 2027 19.11.18 08:10 Сейчас в теме
Товарищи, подскажите функцию, которая работала именно как "срез последних" для ЦЕН устанавливаемых контрагентами

типовой запрос "срез последних" по регистру (без указания номенклатуры) выдает следующее:

Наим Цена
=====================
Номенклатура1 123.0
Номенклатура1 323.0
Номенклатура1 334.0


Выдает так, потому, что это разные типы цен.
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
4. EVKash 14 19.11.18 08:58 Сейчас в теме
(1) Все правильно. Если вам нужен определенный вид цен, то указывайте его в параметрах.
Срез последних дает выборку по всем измерениям.
aximo; Kovekh; YannikAlx; +3 Ответить
2. Alexei_Siva 172 19.11.18 08:48 Сейчас в теме
Если вам просто последняя цена нужна - упорядочите регистр по периоду)
3. Aitbay 19.11.18 08:58 Сейчас в теме
Период в запросе указан?
5. YannikAlx 43 19.11.18 09:49 Сейчас в теме
(3) Период тут при чем? Написано же -
Выдает так, потому, что это разные типы цен.
Sergynia; +1 Ответить
6. aximo 2027 19.11.18 11:42 Сейчас в теме
товарищи, дайте пожалуйста готовую функцию (желательно одним запросом), чтобы брала независимо последнюю цену - без типа

спасибо огромное!
7. Sergynia 4 10.12.18 22:56 Сейчас в теме
(6) Как вы это себе представляете? У вас в регистре измерения номенклатура и тип цены. и вы получаете последнюю информацию веденную по ключу номенклатура и тип цены.
Готовой функции, которая бы вернула вам последнюю цену без типа -нет. Во всяком случае через срезпоследних.
8. Sergynia 4 11.12.18 22:18 Сейчас в теме
(6) Хотя можно сделать следующим образом: Выбрать поля Период Номенклатуру и Цену. Далее сгруппировать по номенклатуре и цене, а периоду взять максимальное значение и упорядочить по возрастанию. таким образом получите таблицу с номенклатурой и ценой. Далее создадите ТаблицуЗначений с одной колонкой номенклатура.При обходе добавляете номенклатуру в Таблицу значений и при выводе очередной номенклатуры проверяете существует ли она в таблице значений, если есть переходите к следующей.
9. antz 11.12.18 22:37 Сейчас в теме
(6) Как-то так

ВЫБРАТЬ
   ЦеныКонтрагентов.Номенклатура,
   МАКСИМУМ(ЦеныКонтрагентов.Период) КАК Период
ПОМЕСТИТЬ Периоды
ИЗ
   РегистрСведений.ЦеныКонтрагентов КАК ЦеныКонтрагентов
СГРУППИРОВАТЬ ПО
   Номенклатура
;
ВЫБРАТЬ
   Периоды.Номенклатура,
   ЦеныКонтрагентов.Цена
ИЗ
   Периоды КАК Периоды
ЛЕВОЕ СОЕДИНЕНИЕ
   РегистрСведений.ЦеныКонтрагентов КАК ЦеныКонтрагентов
ПО
   Периоды.Номенклатура = ЦеныКонтрагентов.Номенклатура
   И Периоды.Период = ЦеныКонтрагентов.Период
Показать
10. Sergynia 4 11.12.18 22:53 Сейчас в теме
(9) зачем так? У вас задублировать может номенклатура, так как может быть номенклатура с разным типом цен, но с одной ценой в одном периоде.
11. antz 11.12.18 23:07 Сейчас в теме
(10) ну еще раз сгруппировать финальный запрос, делов-то.
12. Sergynia 4 11.12.18 23:25 Сейчас в теме
(11) Ну, да должно сработать. А если типы цен разные в одном периоде, то как быть?
13. antz 11.12.18 23:31 Сейчас в теме
(12) ну автору виднее - пусть максимальную берет. Или минимальную. Или среднюю)
14. catena 110 12.12.18 06:28 Сейчас в теме
(12)Такие коллизии должны решаться тем, кто принимает решение о срезе последних по неполному набору измерений. Решается любой агрегатной функцией.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)