Форум программистов, компьютерный форум, киберфорум
Наши страницы

1С: Собственные программы

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 5.00
shum_ont
61 / 60 / 12
Регистрация: 17.02.2011
Сообщений: 161
#1

Как получить срез последних в непериодическом регистре? - 1С

14.06.2013, 11:03. Просмотров 4941. Ответов 12
Метки нет (Все метки)

как получить срез последних в непериодическом регистре?? если там есть ресурс с типом дата.
можно покодить но хотелось бы это решить через язык запросов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2013, 11:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как получить срез последних в непериодическом регистре? (1С):

Срез последних - 1С
Нужно получить колонку с актуальными ценами. В запросе делаю вложенный запрос, где запрашиваю цену. Но выдает все цены, а не последнюю цену...

Срез последних цен - 1С
Добрый день! Делаю отчёт по продажам продукции. Не получается сделать срез последних цен на дату продажи. Подскажите в чём может быть дело....

Как реализовать начисление в регистре расчета? - 1С
Задача: начислить абонентам абонентскую плату за месяц: существует 2 тарифа: основной = 10 руб и дополнительный =20 руб, при этом они...

Как обратиться к справочнику в регистре сведений? - 1С
Доброго времени суток, форумчане. В общем, есть регистр сведений СтоимостьВалюты, в этом регистре есть измерение Валюта (ссылка на...

Как сделать так, чтобы документ проводился в регистре - 1С
При заполнении книги учётов доходов и расходов. Некоторые данные не попадают в книгу отчета. Мне подсказали сделать так,чтобы в регистр был...

1C 8.x Как задать единственность записи на период в регистре сведений? - 1С
опять про баранов:) имеется некое измекрение с некоей периодичностью, причем значение этого измерения в течении периода должно быть...

12
Fenomen
898 / 875 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
14.06.2013, 12:08 #2
Цитата Сообщение от shum_ont Посмотреть сообщение
как получить срез последних в непериодическом регистре??
А непериодического регистра нет среза последних! По конкретному набору измерений может быть задано только одно значение ресурса, так что просто обращайтесь запросом к основной таблице регистра.
1
Joker_vad
Эксперт 1С
468 / 408 / 52
Регистрация: 26.09.2012
Сообщений: 1,794
14.06.2013, 12:56 #3
запросом сортируешь по дате в направлении по убыванию и получаешь первый элемент)
1
shum_ont
61 / 60 / 12
Регистрация: 17.02.2011
Сообщений: 161
14.06.2013, 13:01  [ТС] #4
Цитата Сообщение от Joker_vad Посмотреть сообщение
запросом сортируешь по дате в направлении по убыванию и получаешь первый элемент)
мне нужно не один элемент а последний в разрезе измерений
н-р

измерение ресурс
товар дата

2 20.12.13
2 21.12.13
3 19.12.13

мне нужно получить товар 2 на 21.12.13 и товар 3 на 19.12.13
0
Fenomen
898 / 875 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
14.06.2013, 13:05 #5
Цитата Сообщение от shum_ont Посмотреть сообщение
2 20.12.13
2 21.12.13
Такого быть не может! Система не даст Вам создать две записи с одним измерением!
1
shum_ont
61 / 60 / 12
Регистрация: 17.02.2011
Сообщений: 161
14.06.2013, 13:10  [ТС] #6
....да действительно неправильно описал задачу
измерение измерение ресурс
организация товар дата

а 1 20.12.13
а 2 21.12.13
б 3 19.12.13

последний товар по организации а и б число организаций и количество товара неизвесно
0
Fenomen
898 / 875 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
14.06.2013, 13:16 #7
1C
1
2
3
4
5
6
7
8
Выбрать 
    Организация,
    Товар,
    Максимум(Дата)
Из РегистрыСведений.ВашРегистр
Сгруппировать по
   Организация,
   Товар
Как то так, синтаксис может быть не на 100% верен. Используйте конструктор запросов.
1
shum_ont
61 / 60 / 12
Регистрация: 17.02.2011
Сообщений: 161
14.06.2013, 13:18  [ТС] #8
а 1 20.12.13
а 2 21.12.13
б 3 19.12.13


это будет результат запроса
0
Fenomen
898 / 875 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
14.06.2013, 13:26 #9
Пардон, не то написал. Сейчас подумаю, исправлю.

Добавлено через 7 минут
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ВЫБРАТЬ
    РегистрСведений1.Измерение1 КАК Измерение1,
    МАКСИМУМ(РегистрСведений1.Ресурс1) КАК Ресурс1
ПОМЕСТИТЬ ВТМаксДаты
ИЗ
    РегистрСведений.РегистрСведений1 КАК РегистрСведений1
 
СГРУППИРОВАТЬ ПО
    РегистрСведений1.Измерение1
 
ИНДЕКСИРОВАТЬ ПО
    Измерение1,
    Ресурс1
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТМаксДаты.Измерение1,
    РегистрСведений1.Измерение2,
    ВТМаксДаты.Ресурс1
ИЗ
    ВТМаксДаты КАК ВТМаксДаты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегистрСведений1 КАК РегистрСведений1
        ПО ВТМаксДаты.Измерение1 = РегистрСведений1.Измерение1
            И ВТМаксДаты.Ресурс1 = РегистрСведений1.Ресурс1
1
shum_ont
61 / 60 / 12
Регистрация: 17.02.2011
Сообщений: 161
14.06.2013, 13:31  [ТС] #10
эврика это работает спосибо
0
иванчик_
0 / 0 / 0
Регистрация: 13.08.2015
Сообщений: 1
13.08.2015, 08:35 #11
привет, нашел твоё решение для непериодических регистров (http://www.cyberforum.ru/1c/thread901517.html#post4719704)
и у меня похожая нестандартная задача с которой не могу найти правильной решение.

имеется НЕпериодический регистр сведений "НахождениеТранспорта",у которого
измерения: "Марка", "Период",
и ресурс "МестоГород".

И следующие данные такие.
Например:
Жигули / 10.05.2014 /Москва
Нива /15.05.2014/ Питер
Жигули /19.05.2014/ Ростов
Жигули /22.05.2014 / Москва
Нива/ 23.05.2014 / Москва

Нужен только запрос (например пакетный/вложенный), результат запроса: Марка на заданную дату &Дата.
к примеру, на 18.05.2014:
Жигули -Москва
Нива - Питер

Добавлено через 8 минут
Fenomen, предыдущее сообщение тебе предназначалось, просто по запарке не указал твой ник
0
Neiroromantik
0 / 0 / 0
Регистрация: 01.08.2015
Сообщений: 16
19.08.2015, 06:51 #12
Именно СрезПоследних Вы не получите, но можно попробовать сделать группировку и применить к дате группировочную функцию Максимум.
0
alex_4x
2 / 2 / 0
Регистрация: 12.08.2015
Сообщений: 10
24.08.2015, 13:00 #13
Для непериодического регистра среза последних нет.
Но это не беда. Для любого типа данных можно получить последнее значение (и для справочника и для документа и для регистра сведений)

Продемонстрирую на регистре Курсы валют (да, он периодический, но это свойство использовать просто не будем, просто в этом регистре есть дата и измерения, ими и воспользуемся)

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
ВЫБРАТЬ ПЕРВЫЕ 1
    КурсыВалют.Период КАК Период,
    КурсыВалют.Валюта,
    КурсыВалют.Курс,
    КурсыВалют.Кратность
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
    КурсыВалют.Валюта = &Валюта
    И КурсыВалют.Период <= &КрайняяДата
 
УПОРЯДОЧИТЬ ПО
    Период УБЫВ
Сдесь явно указываем, что нас интересует значение ДО даты указанной в параметре КрайняяДата.
Упорядочить ставим в УБЫВАНИЕ, и берем первое значение и только 1. (ВЫБРАТЬ ПЕРВЫЕ 1)
Аналогично действовать можно если дата не в измерении регистра, а например дата документа, который указан в измерении. Ну или дата в справочнике.

Например найдем последнюю цену в проведенном документе поступления товара для указанного товара.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ВЫБРАТЬ ПЕРВЫЕ 1
    ВЫБОР
        КОГДА (ПоступлениеТоваровУслугТовары.Количество * ПоступлениеТоваровУслугТовары.Коэффициент) > 0
            ТОГДА ПоступлениеТоваровУслугТовары.Сумма / (ПоступлениеТоваровУслугТовары.Количество * ПоступлениеТоваровУслугТовары.Коэффициент)
        ИНАЧЕ 0
    КОНЕЦ КАК Цена
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
ГДЕ
    ПоступлениеТоваровУслугТовары.Номенклатура = &Номенклатура
    И ПоступлениеТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
    И ПоступлениеТоваровУслугТовары.Ссылка.Дата <= &КрайняяДата
 
УПОРЯДОЧИТЬ ПО
    ПоступлениеТоваровУслугТовары.Ссылка.Дата УБЫВ
Этот запрос можно и как подзапрос внутри другого запроса использовать, возвращает он одно значение или пустой набор, если ни одного проведенного документа поступления до указанной даты с указанной номенклатурой нет.
0
24.08.2015, 13:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.08.2015, 13:00
Привет! Вот еще темы с ответами:

Как при удалении документа сделать движения в регистре цен - 1С
Народ, подскажите как при удалении документа, который осуществляет движения в регистре остатков и цен, сделать движения в регистре цен, то...

Как построить запрос что бы получить срез последних цен по группам - MySQL
Имеется 3 таблицы 1 Товары id ключ name наименование 2 Склады id ключ name наименование 3 Цены

Создание записи в непериодическом регистре сведений при записи элемента справочника - 1С
Всем привет! Платформа 1С:Предприятие 8.3, конфигурация редактированная типовая, режим неуправляемый. Имеется справочник Контрагенты с...

Регистр сведений, срез последних и связь с таблицей - 1С
задача: есть таблица товар1 период1 товар2 период2 товар3 период3 и есть рег свед курсы валют мне нужно подцепить таблицу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru