|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Такой вопрос! Есть запрос: ВЫБРАТЬ Абоненты.ЛицевойСчет КАК ЛС, Абоненты.Наименование КАК ФИО, ИспользованиеУслугСрезПоследних.Тариф ИЗ Справочник.Абоненты КАК Абоненты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИспользованиеУслуг.СрезПоследних КАК ИспользованиеУслугСрезПоследних ПО (ИспользованиеУслугСрезПоследних.Абонент = Абоненты.Ссылка) ГДЕ Абоненты.ПометкаУдаления = ЛОЖЬ И Абоненты.ЭтоГруппа = ЛОЖЬ И Абоненты.Ссылка = &Абонент в результат запроса выводится 2 строки, т.к. в регистре сведений "ИспользованиеУслуг" 2 записи для данного абонента(Пусть будет "Петров"). А как сделать, чтобы бралась только одна самая последняя запись??? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2009, 16:45 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Добавить Абоненты.период Сортировать по нему и брать только первый элемент. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2009, 18:32 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Здравствуйте, Коллеги! В запросе есть конструкция ВЫБРАТЬ ПЕРВЫЕ 1, используя ее и не используя виртуальную таблицу (СрезПоследних), а взяв настоящую (РегистрСведений.ИспользованиеУслуг), отсортировав по периоду в обратном порядке - вы достигните цели! Бизнес-консультант 1С , Красовский Юрий. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2009, 23:42 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
ну вообще вроде бы в срезе последних по определению храниться срез по измерениям? если так - определите какой срез вам нужен ... например Абонент и тариф проще говоря нужно допусловие Код: plaintext
а что виртуальная таблица делает? я просто староват у меня память плохая объясните кто знает как оно работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 08:27 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код: plaintext
Код: plaintext
з.ы. что бы я так жил ... как он тратит машинные ресурсы ... а почему не напрямую из регистра? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 08:32 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Добавил период и отсортировал, получилось: ВЫБРАТЬ Абоненты.ЛицевойСчет КАК ЛС, Абоненты.Наименование КАК ФИО, ЗапросТариф.Тариф КАК Тариф ИЗ Справочник.Абоненты КАК Абоненты ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1 ИспользованиеУслугСрезПоследних.Тариф КАК Тариф, ИспользованиеУслугСрезПоследних.Абонент КАК Абонент, ИспользованиеУслугСрезПоследних.Период КАК Период, ИспользованиеУслугСрезПоследних.Абонент.Ссылка КАК АбонентСсылка ИЗ РегистрСведений.ИспользованиеУслуг.СрезПоследних КАК ИспользованиеУслугСрезПоследних //ГДЕ // ИспользованиеУслугСрезПоследних.Абонент = &абонент УПОРЯДОЧИТЬ ПО Период УБЫВ) КАК ЗапросТариф ПО Абоненты.Ссылка = ЗапросТариф.Абонент.Ссылка ГДЕ Абоненты.ПометкаУдаления = ЛОЖЬ И Абоненты.ЭтоГруппа = ЛОЖЬ // ИспользованиеУслугСрезПоследних.Абонент = &абонент В итоге, если закоментировать строки с условием во вложенном запросе, тогда в результат запроса выводятся ЛС, ФИО нормально, а вот тариф везде пустой. Но если для конкретного абонента, то тариф выводится нормально. Не пойму в чем дело! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 08:49 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
leaf,На прямую из регистра не получится, потому что есть абоненты, у которых тариф не проставлен, их тоже надо выбрать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 08:57 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Код: plaintext
а если запрос пустой - у вас есть ссылка ) вы же условие жесткое ставите на справочник? ладно растите дальше ... а ничего не выводится потому : Код: plaintext
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 09:06 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
точнее ... Код: plaintext
должен быть один не пустой абонент ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 09:12 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
ну да точно, один абонент не пустой)) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 09:49 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Все, понял свою ощибку. Все спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 10:40 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Тариф, как я понимаю, является в данный момент измерением регистра? Если так, то, сделайте его ресурсом и в СрезеПоследних будет именно последнее значение тарифа. А то, что записи двоят при текущем положении дел, объясняется особенностью работы СрезаПоследних, т.к. он выбирает последние значения по всем наборам измерений ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 15:56 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
неточность. по всем уникальным наборам измерений ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2009, 15:56 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Добрый день. Не пинайте сильно, но я так и не понял, как сделать такой запрос ??? помогите примером. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2014, 19:20 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Apt Dima, СрезПоследних выдаст последнюю запись периодического регистра сведений ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2014, 12:59 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
[quot Владимир Лазурко СрезПоследних выдаст последнюю запись периодического регистра сведений[/quot] СрезПоследних выдает последние уникальные записи, мне нужно просто последнюю запись из регистра РегистрСведений.ЗаказНаряды, чтобы вывести в таблицу текущие СтатусРаботы по всем документам ЗаказНаряд. РегистрСведений.ЗаказНаряды двигаются и другими документами. Запрос.Текст = "ВЫБРАТЬ | ДокЗаказНаряд.Дата КАК Дата, | ДокЗаказНаряд.Ссылка КАК ЗаказНаряд, | РегЗаказНаряд.СтатусРаботы КАК СтатусРаботы |ИЗ | Документ.ЗаказНаряд КАК ДокЗаказНаряд | |ЛЕВОЕ СОЕДИНЕНИЕ |(ВЫБРАТЬ ПЕРВЫЕ 1 | ЗН.Период КАК Период, | ЗН.ЗаказНаряд КАК ЗаказНаряд, | ЗН.СтатусРаботы |ИЗ | РегистрСведений.ЗаказНаряды КАК ЗН | |УПОРЯДОЧИТЬ ПО | ЗН.Период УБЫВ) |КАК РегЗаказНаряд |ПО | ДокЗаказНаряд.Ссылка = РегЗаказНаряд.ЗаказНаряд |"; такой запрос не работает (( ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 11:22 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Apt Dima[quot Владимир Лазурко СрезПоследних выдаст последнюю запись периодического регистра сведений СрезПоследних выдает последние уникальные записи, мне нужно просто последнюю запись из регистра РегистрСведений.ЗаказНаряды, чтобы вывести в таблицу текущие СтатусРаботы по всем документам ЗаказНаряд. РегистрСведений.ЗаказНаряды двигаются и другими документами. Запрос.Текст = "ВЫБРАТЬ | ДокЗаказНаряд.Дата КАК Дата, | ДокЗаказНаряд.Ссылка КАК ЗаказНаряд, | РегЗаказНаряд.СтатусРаботы КАК СтатусРаботы |ИЗ | Документ.ЗаказНаряд КАК ДокЗаказНаряд | |ЛЕВОЕ СОЕДИНЕНИЕ |(ВЫБРАТЬ ПЕРВЫЕ 1 | ЗН.Период КАК Период, | ЗН.ЗаказНаряд КАК ЗаказНаряд, | ЗН.СтатусРаботы |ИЗ | РегистрСведений.ЗаказНаряды КАК ЗН | |УПОРЯДОЧИТЬ ПО | ЗН.Период УБЫВ) |КАК РегЗаказНаряд |ПО | ДокЗаказНаряд.Ссылка = РегЗаказНаряд.ЗаказНаряд |"; такой запрос не работает (([/quot] ежу понятно что оно работать не будет... ибо вы берете только 1 запись из всего среза ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 12:03 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Apt Dima, Запрос.Текст = "ВЫБРАТЬ | ДокЗаказНаряд.Дата КАК Дата, | ДокЗаказНаряд.Ссылка КАК ЗаказНаряд, | РегЗаказНаряд.СтатусРаботы КАК СтатусРаботы |ИЗ | Документ.ЗаказНаряд КАК ДокЗаказНаряд | |ЛЕВОЕ СОЕДИНЕНИЕ |(ВЫБРАТЬ | ЗН.ЗаказНаряд КАК ЗаказНаряд, | ЗН.СтатусРаботы |ИЗ | РегистрСведений.ЗаказНаряды.СрезПоследних(, ЗаказНаряд = ДокЗаказНаряд.Ссылка) КАК ЗН) |КАК РегЗаказНаряд |ПО | ДокЗаказНаряд.Ссылка = РегЗаказНаряд.ЗаказНаряд |"; Зачем получать дату и ссылку в результатах запроса? Получайте сразу необходимое представление документа и статуса работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 12:05 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
>РегистрСведений.ЗаказНаряды.СрезПоследних(, ЗаказНаряд = ДокЗаказНаряд.Ссылка) и это будет работать? да еще в подзапросе? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 12:12 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
AHDPApt Dima, | РегистрСведений.ЗаказНаряды.СрезПоследних(, ЗаказНаряд = ДокЗаказНаряд.Ссылка) КАК ЗН) Зачем получать дату и ссылку в результатах запроса? Получайте сразу необходимое представление документа и статуса работы. Такая штука не работает, это же не параметр запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 12:22 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
[quot Последний выдох ГПЖ]Apt Dimaпропущено... ежу понятно что оно работать не будет... ибо вы берете только 1 запись из всего среза Может вы предположите, то что будет работать ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 13:07 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
1. Левое соединение правильное. 2. соединить с всеми записями регистра сведений. 3. Выбрать по документам минимальную запись по периоду. 4. Получить значение из регистра сведений по этой минимальной дате. Все. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 13:19 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
Программист 1с1. Левое соединение правильное. 2. соединить с всеми записями регистра сведений. 3. Выбрать по документам минимальную запись по периоду. 4. Получить значение из регистра сведений по этой минимальной дате. Все. вроде как то так получилось.... Запрос.Текст = " |ВЫБРАТЬ ... | ДокЗаказНаряд.Дата КАК Дата, | ДокЗаказНаряд.Ссылка КАК ЗаказНаряд, | РегЗаказНаряд.СтатусРаботы КАК СтатусРаботы, | РегЗаказНаряд.Реализация КАК Реализация |ИЗ | Документ.ЗаказНаряд КАК ДокЗаказНаряд | |ЛЕВОЕ СОЕДИНЕНИЕ | |(ВЫБРАТЬ | ЗНСрезПоследних.ЗаказНаряд КАК ЗаказНаряд, | ЗНСрезПоследних.СтатусРаботы КАК СтатусРаботы, | ЗНСрезПоследних.Реализация КАК Реализация | ИЗ | РегистрСведений.ЗаказНаряды.СрезПоследних() КАК ЗНСрезПоследних | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | МАКСИМУМ(ЗН.Период) КАК Период, | ЗН.ЗаказНаряд КАК ЗаказНаряд | ИЗ | РегистрСведений.ЗаказНаряды.СрезПоследних() КАК ЗН | | СГРУППИРОВАТЬ ПО | ЗН.ЗаказНаряд) КАК ПоследняяЗаписьЗН | ПО (ПоследняяЗаписьЗН.ЗаказНаряд = ЗНСрезПоследних.ЗаказНаряд) | И (ПоследняяЗаписьЗН.Период = ЗНСрезПоследних.Период)) КАК РегЗаказНаряд |ПО ДокЗаказНаряд.Ссылка = РегЗаказНаряд.ЗаказНаряд |"; ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 14:49 |
|
Как запросом выбрать самую последнюю запись регистра
|
|||
---|---|---|---|
#18+
вариация на тему "срез последних на каждую дату" ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 15:33 |
|
|
start [/forum/search_topic.php?author=Little_Cat&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
97ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 405ms |
total: | 612ms |
0 / 0 |