Вход | Регистрация
    1  2  3  4  5  6  7   
1С:Предприятие :: 1С:Предприятие 8 общая

Срез последних - не совсем срез?

↓ [mikecool, 16.08.21 - 15:57]
Срез последних - не совсем срез?
Я
   brainguard
 
28.07.21 - 23:39
Только сейчас обнаружил, что если в запросе будут не все измерения, то срез последних "превращается в тыкву". Например, измерения "поставщик", "номенклатура". Делаем запрос по одному измерению "номенклатура" и не получаем срез последних по этому измерению. Это действительно так? Или я что-то "неправильно готовлю" (версия платформы 8.3.18.1208)?
   Eiffil123
 
301 - 30.07.21 - 12:18
(293) ну такой кейс конечно имеет право на жизнь. Если пользователь хочет грубо оценить цену, ему не важна цена конкретного поставщика. Но тут целых 2 решения: завести отдельный регистр сведений без этого измерения, и делать срез последних, а агрегатной функцией брать максимум. В обоих случаях цель будет достигнута.
   Said_We
 
302 - 30.07.21 - 12:18
Из плюсов. Писать стали в этой ветке даже читатели форума. А это для сообщества на форуме очень хорошо.
   Kassern
 
303 - 30.07.21 - 12:21
(300) я вот тоже возмущен, что 1ска до сих пор сфтп не замутило, но ведь сижу себе спокойно, ноздри не надуваю, бочку на 1с не гоню. Я человек простой, нашел библиотеку, прикрутил в 1с и все. Мое возмущение еще можно понять, функционал нужный, а его встроенного нет, а тут море возможностей решить задачу инструментами 1с, но только одни возмущения...
   Eiffil123
 
304 - 30.07.21 - 12:21
(303) еще Паузы нет )
   Said_We
 
305 - 30.07.21 - 12:24
Ещё из плюсов.
Так как ветка получилась из-за автора флудной, то обсудили оконные функции и как с помощью них можно быстро получать любой срез.
Правда не все сошлись во мнении почему оконные функции это плюс.
H A D G E H O G s - против использования оконных функций и считает, что это зло. Но пока на не дал ответа быстрее у него отработали запросы на чистом SQL с оконными функциями и без и с помощью обработки на языке 1С. Да и не даст скорее всего. Сколько людей столько и мнений.
   Злопчинский
 
306 - 30.07.21 - 12:25
(304) нет кнопки "Сделать все" и "Сделать все хорошо"
   nodrama
 
307 - 30.07.21 - 12:25
Ни чего не понял.. Человек хочет "СрезПоследних" с Измереним номенклатура, при условии, что в РС еще есть Период, регистратор, количество, сумма и еще куча полей?)

А если у номенклатуры будет две строчки с разными датами и разными ООО.. то срезПоследних должен показать только 1 строчку а не 2-е ?


01.01.2000, Рога и Копыта, Тумбочка, 200 рублей.
02.01.2000, Рога и Копыта, Тумбочка, 201 рубля.

При таком раскладе, СрезПОследних выдаст тебе
02.01.2000, Рога и Копыта, Тумбочка, 201 рубля.

_______________________________________________________
01.01.2000, Рога и Копыта, Тумбочка, 200 рублей.
02.01.2000, Копыта и Хвосты, Тумбочка, 201 рубля.
03.01.2000, Копыта и Хвосты, Тумбочка, 201 рубля.

При таком раскладе СрезПоследних выдаст тебе 2 строчки
01.01.2000, Рога и Копыта, Тумбочка, 200 рублей.
03.01.2000, Копыта и Хвосты, Тумбочка, 201 рубля.

Так всегда было. Если хочешь что бы выдало срезПОследних без учета других измерений если они разные, так поставь в Условие, что Организация <> Рога и Копыта или еще что нибдуь, так всегда было, я даже ни когда не задумывался
   Said_We
 
308 - 30.07.21 - 12:27
(307) Не задумывался, наверное из-за того что документацию читал. А автор ветки не читал. Вся разница.
   nodrama
 
309 - 30.07.21 - 12:48
(308) Ну просто проблемы вывести так как тебе надо из РС нету. Автору не нравится по какой методики работает СрезПОследних. Ну напиши запрос чуть по другому и все. ПРоблемы то по сути нету. Автор еще даже версию платформы написал ))

и кстати 8.3.18.1208 ... очень косячная платформа.. от слова "совсем". 1с быстренько выпустили другую более адекватную. я бы сменил ее на месте автора как можно быстрее.
   brainguard
 
310 - 30.07.21 - 12:51
(290) А их и сейчас несколько. Только я хочу, чтобы в эти "несколько" попадали только ПОСЛЕДНИЕ записи
   nodrama
 
311 - 30.07.21 - 12:56
(310) у Вас разные организации как минимум в примере. она и показывает срез последних на основании в данном случаи разных организаций.
В одной организации срезпоследних такая то сумма и строка, в другой такая-то.
Если это убрать, то данные будут не верны, либо ведите организации не в одной базе а разных. что бы ООО Ромашка и ООО Василек или что там не пересикались
   youalex
 
312 - 30.07.21 - 13:02
(306) И "Вернуть всё взад"
   nodrama
 
313 - 30.07.21 - 13:03
ООО Ромашка, продавала стулья по 
100
200
300 рублей
ООО Василек продавала стулья по
100
200
310 рублей.

Логично что будет 2 строки
ооо ромашка 300 рублей
ооо василек 310 рублей.
   Kassern
 
314 - 30.07.21 - 13:04
(311) вы не понимаете, ТС хочет, чтобы срез работал по его "логике". Если 2 записи в 1 период последний, то вывести 2, но срезать все остальные записи с отличным от последнего периодом. Ему всего то нужно получить дату последней цены для номенклатуры, а потом связать по дате и и номенклатуре и получить последнюю цену без привязки поставщика, а ТС хочет чтобы так срез работал. Мол не указал какие то измерения в отборе, на тебе последние строчки по периоду. Только вот ТС не хочет понимать, что добавляя поля в "Выбрать" в запросе к регистру сведений, результат запроса не меняется, но ТС хочет чтобы от этого зависела выборка. Мол указал дай мне в разрезе поставщиков, ему стандартная логика, указал без поставщика, ему его логика. Так это не работает.
   nodrama
 
315 - 30.07.21 - 13:06
(314) Да только тогда запрос будет сложнее )) а ТС видимо не умеет)
   nodrama
 
316 - 30.07.21 - 13:09
(314) Мне кажется ТСу нужно просто помочь написать запрос, так как он хочет, что бы выводилось.
А обсуждения СрезаПоследних просто как повод))))))))
   Kassern
 
317 - 30.07.21 - 13:09
(313) вот смотрите что ТС нужно:

01.01.2020 "ООО Джонсон" чай  100р
01.03.2020 "ООО Джонсон" чай  120р

01.03.2021 "ООО Ромашка" чай  100р
02.03.2021 "ООО Ромашка" чай  120р
03.03.2021 "ООО Ромашка" чай  200р

01.03.2021 "ООО Котофей" чай  50р
02.03.2021 "ООО Котофей" чай  60р
03.03.2021 "ООО Котофей" чай  80р

Он из этой таблицы хочет получить:
03.03.2021  чай  200р
03.03.2021  чай  80р
Все остальное срезать. Вот что он понимает под срезом последних. Проще говоря ему надо все записи за последний период по отбору. А если понадобится типовое решение, то он хочет тупо добавить в запросе в Выбрать "РС.поставик, как поставщик" и вуаля, ему выдаст по его "логике":
01.03.2020 "ООО Джонсон" чай  120
03.03.2021 "ООО Ромашка" чай  200р
03.03.2021 "ООО Котофей" чай  80р
   Kassern
 
318 - 30.07.21 - 13:11
(317) но ТС всячески не хочет понять, что РС так не работает, выбор полей не меняет его результат.
   Kassern
 
319 - 30.07.21 - 13:12
(318) РН да может просуммировать ресурс, но это РС!
   nodrama
 
320 - 30.07.21 - 13:47
03.03.2021  чай  200р
03.03.2021  чай  80р
а 01.03.2020 "ООО Джонсон" чай  120р убрать, потому что число 01, а то что там еще ООО Джонсон его не волнует.. хех

03.03.2021 "ООО Ромашка" чай  200р
03.03.2021 "ООО Котофей" чай  80р
Имеют ОДНУ дату, если у первой строки будет 02.03.2021 ее то же не будет. в результате запроса.
То есть человек хочет просто крайнею цену Чая поступившего, вне зависимости от поставщика, даты, организации и цены.
Возникает вопрос, зачем? зачем ему крайняя цена даты, без других данных. Ну узнал что 03 числа ты купил ай за 80 рублей. Не понятно у кого. и что дальше?
   Kassern
 
321 - 30.07.21 - 13:48
(320) ну вот надо ему и все тут)
   nodrama
 
322 - 30.07.21 - 13:57
(321) Ну могу посоветовать выбирать Чай прямо из доков поступления) сортировать там "Дата - по убыванию" ) и "Первые 1" )
Будет у него последний час с последней ценой)))) ну не быстро, а что поделать .
   nodrama
 
323 - 30.07.21 - 13:57
последний чай*
   Kassern
 
324 - 30.07.21 - 14:00
(322) а если массив чаев? тогда первые 1 не сканает)
   brainguard
 
325 - 30.07.21 - 14:05
(311) Это не организации, а поставщики
   brainguard
 
326 - 30.07.21 - 14:09
(320) Как раз мой кейс очень показательный. Но если вам все еще не понятно, тогда представьте себе РН продажи с тремя измерениями. Контрагент, Номенклатура, Склад. Иногда нужны продажи сразу по всем измерениям. Но не менее часто (а скорее всего и чаще) нужны продажи по Контрагентам только, по Номенклатуре только, по Контрагентам и Номенклатуре, по Номенклатуре и Складу
   nodrama
 
327 - 30.07.21 - 14:10
(326) Так уже ответили что РС это не РН. Разные вещи то. Если бы они были одинаковыми, то не было бы смысла делить на РС и РН
   brainguard
 
328 - 30.07.21 - 14:11
(316) Запрос давно написан. До того, как была заведена тема
   nodrama
 
329 - 30.07.21 - 14:11
(326) Вытаскивай последнею цену чая по РН, от туда то же можно получить то что ты хочешь
   nodrama
 
330 - 30.07.21 - 14:12
(328) Это был сарказм или шутка. Просто не понятен сам вопрос, когда РС и Срез, работали так всю жизнь а сейчас уже 2021 год
 
 
   Said_We
 
331 - 30.07.21 - 14:38
(328) Покажи хоть что написал.
   vde69
 
332 - 30.07.21 - 14:53
(259) ты получаешь обороты, их всегда можно свернуть до нужного количества измерений.
А вот срез последних тупо получает последнее значение и таблицы итогов и это поведение точно такое же как и с оборотами. Но нюанс в том что это потом нельзя свернуть, то есть из 2 строчек сделать одну нельзя

Вот пример
Измерения
1 организация
2 сотрудник

Ресурс
1 ставка


В регистре 2 записи
01.01.2000 Иванов ромашка 1
01.01.2000 Иванов васиьек 0

Делаем срез последних только для Иванова, чкакую ставку он должен вернуть?
   brainguard
 
333 - 30.07.21 - 15:01
(331) Срез через соединение. Что там смотреть? Я тему завел, чтобы проверить - не упустил ли я чего. Может 1С умеет работать логично, а я просто не знаю
   brainguard
 
334 - 30.07.21 - 15:01
(332) Срез можно строить на любом наборе измерений
   brainguard
 
335 - 30.07.21 - 15:02
(332) Обе
   Said_We
 
336 - 30.07.21 - 15:05
(333) Ну пару дней тут пишем. Интересно же взглянуть.
   nodrama
 
337 - 30.07.21 - 15:08
(333) 1с работает логично, просто твоя логика не сходится с логикой 1с.
Пользуюсь срезомпоследних с начала своей карьеры) проблем 0
   nodrama
 
338 - 30.07.21 - 15:09
(337) точно так же как спорить стакан на половину пусть или полон.
   nodrama
 
339 - 30.07.21 - 15:10
Если бы РС работал точно так же как РН, как ты говоришь что по РН можно посмотреть в разрезе 1 измерения так что бы тебя по твоей логике устроил результат.
То зачем было бы создавать РС и РН создали бы один регистр)
   TirWorm
 
340 - 30.07.21 - 15:15
Периодический РС работает по составным ключам из всех измерений. Решение логичное и простое. Так работало изначально и будет работать, потому что другие решения ведут к "двусмысленности".
Из этого срез всегда строится по составному ключу целиком, а потом разраб в запросе может делать с результатами что ему угодно, то есть, решать эти "двусмысленности".

Если нужно для 3х измерений РС делать кучу разных вариантов срезов - или делай на каждый ключ свой периодический РС (и потом будешь решать проблему уникальности), или делай в запросе свертку результата среза.
РС и РН имеют разную логику работы, их сравнивать как-то странно.
   nodrama
 
341 - 30.07.21 - 15:17
(340) Ну я пытаюсь это сказать автору.. но в середине темы он все равно упоминает, что вот по РН ч могу получить результат меня удовлетворяющий
а из РС со срезом, я не могу)
   Said_We
 
342 - 30.07.21 - 15:17
(333) Покажи результат.
   nodrama
 
343 - 30.07.21 - 15:19
(342) он стесняется )
   Said_We
 
344 - 30.07.21 - 15:20
(343) Неее.... Тему на 350 постов не стесняется, а тут застеснялся - не верю.
   Said_We
 
345 - 30.07.21 - 15:23
(343) И не может быть там чего-то страшного. То что он хотел получить на выходе, мы уже проговорили многократно. Хочется увидеть на языке запросов 1С.
   nodrama
 
346 - 30.07.21 - 15:33
(345) Всмысле не может? Может он через через "Г" написал этот запрос, ибо банально взять "Срез" не получается, что бы было 2 строки запроса))
Результат выдает, но через "Ж".. Ведь запрос так можно написать, что смотришь и плачешь потом и думаешь, кто ж писал такое.
   Said_We
 
347 - 30.07.21 - 15:45
(346) Не. Там сложно напортачить, но есть разные варианты реализации. Хотелось просто взглянуть на каком остановился.
   vde69
 
348 - 30.07.21 - 15:46
(335) и какой в этом будет смысл?
   brainguard
 
349 - 30.07.21 - 15:46
(346) В этом запросе негде запутаться.

ВЫБРАТЬ
    ЦеныНоменклатурыПоставщиков.Номенклатура,
    МАКСИМУМ(ЦеныНоменклатурыПоставщиков.Период) КАК Период
ПОМЕСТИТЬ Т1
ИЗ
    РегистрСведений.ЦеныНоменклатурыПоставщиков КАК ЦеныНоменклатурыПоставщиков

СГРУППИРОВАТЬ ПО
    ЦеныНоменклатурыПоставщиков.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    Т1.Номенклатура,
    ЦеныНоменклатурыПоставщиков.Цена,
    Т1.Номенклатура.Код,
    ЦеныНоменклатурыПоставщиков.Регистратор
ИЗ
    Т1 КАК Т1
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыПоставщиков КАК ЦеныНоменклатурыПоставщиков
        ПО Т1.Номенклатура = ЦеныНоменклатурыПоставщиков.Номенклатура
            И Т1.Период = ЦеныНоменклатурыПоставщиков.Период

Я сейчас в сторону более общего решения думаю
   brainguard
 
350 - 30.07.21 - 15:47
(348) Если это будут последние записи, как я предлагаю, тогда смысл будет.
Если же это будут не последние записи, как сделано сейчас в 1С, тогда смысла нет.
   Вафель
 
351 - 30.07.21 - 15:47
(349) не отрабатывается случай 2х цен в 1 период
   Said_We
 
352 - 30.07.21 - 15:48
(346) Надеюсь про запросы в (186), (187), (189) таких мыслей нет... :-)
   brainguard
 
353 - 30.07.21 - 15:49
(351) Будут обе. Как я уже раз 50 здесь говорил, меня это устраивает
   vde69
 
354 - 30.07.21 - 15:50
(350) какой смысл, на какой вопрос будет отвечать такой псевдо срез?
   Вафель
 
355 - 30.07.21 - 15:52
(354) для цен поставщиков вполне есть смысл.
сегодня брали у одного, завтра у другого.
нужно просто найти последнего
   Kassern
 
356 - 30.07.21 - 15:52
(349) Я так понимаю виды цен поставщиков у вас не используются?
   Вафель
 
357 - 30.07.21 - 15:53
(356) а чем помогут виды цен?
   Kassern
 
358 - 30.07.21 - 15:55
(357) выбрать верный ресурс
   nodrama
 
359 - 30.07.21 - 15:56
(355) Что бы найти тупо последнего поставщика и последнию цену. конкретного товара.
Можно и легче сделать без всяких поместить в таблицу и тд ))
   Вафель
 
360 - 30.07.21 - 15:57
ну вместо временной будет вложенная.
легче - не особо
 
 
   Said_We
 
361 - 30.07.21 - 16:04
(349) А если так (писал на коленке, без проверки в консоле, поэтому мог где-то синтаксис упустить):

ВЫБРАТЬ Первые 9999999999999
     ЦеныНоменклатурыПоставщиков.Период
    ,ЦеныНоменклатурыПоставщиков.Номенклатура
    ,ЦеныНоменклатурыПоставщиков.Цена
    ,АвтоНомерЗаписи() как нпп
ПОМЕСТИТЬ Т1
ИЗ
    РегистрСведений.ЦеныНоменклатурыПоставщиков КАК ЦеныНоменклатурыПоставщиков
Упорядочить по
     ЦеныНоменклатурыПоставщиков.Номенклатура
    ,ЦеныНоменклатурыПоставщиков.Период Убыв
;

Выбрать
     т.Номенклатура
    ,Мин(т.нпп) как Мин_НПП
ПОМЕСТИТЬ ВТ_МИН_НПП
Из
    Т1 как т
Сгруппировать по
    т.Номенклатура
;

ВЫБРАТЬ
     т1.Период
    ,т1.Номенклатура
    ,т1.Цена
//    ,т1.НПП как нпп

//    ,т2.Мин_НПП как Мин_НПП
ИЗ
    т1 как т1
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_МИН_НПП КАК т2
        ПО Т1.Номенклатура = т2.Номенклатура
            И Т1.НПП = т2.Мин_НПП
   Said_We
 
362 - 30.07.21 - 16:12
К (361) Ещё правильнее предварительно взять срез в ВТ и уже в следующей ВТ его нуимировать. Так просто ВТ будут меньше на много.
   vde69
 
363 - 30.07.21 - 16:12
(355) для этого регистр должен быть такой

Измерение
1. Номенклатура
Ресурс
1. Цена
Рреквизит
1. Поставщик


И все будет работать
   Вафель
 
364 - 30.07.21 - 16:12
(363) ну вообще то типовые регистры никто не меняет ради своих хотелок
   Eiffil123
 
365 - 30.07.21 - 16:13
(334) нельзя. структура регистра сведений не позволяет получить одно значение по неполному набору.
   Вафель
 
366 - 30.07.21 - 16:13
(363) по такому регистру не узнаешь последнюю цену от поставщика
   Eiffil123
 
367 - 30.07.21 - 16:14
(339) а ведь еще есть регистры расчета, которые работают вообще по третьему сценарию и могут возвращать записей больше, чем было в реальных таблицах при проведении ))
   Said_We
 
368 - 30.07.21 - 16:21
(0) Посмотрел (361) + (362)?
Это твой универсальный случай?
   ДядяМитяй
 
369 - 30.07.21 - 17:22
Элементарно делается срез последних по "не всем" измерениям. Надо только не вспоминать статью Гилева "За что увольняют программистов 1С". В параметры в запросе пихаешь только дату, остальные условия в ГДЕ. Работает 100%. Но некошерно...
   brainguard
 
370 - 30.07.21 - 18:36
(354) Мой срез будет выдавать последние записи
   brainguard
 
371 - 30.07.21 - 18:38
(359) Заказчик просил таблицу
   brainguard
 
372 - 30.07.21 - 18:42
(363) Во-первых, типовые регистры нет смысла трогать, когда просят всего лишь сиюсекундный отчет.
А во-вторых, рассмотрите общую ситуацию. Если у вас два измерения, тогда нужно делать три регистра, чтобы закрыть все возможные варианты.
Для трех измерений потребуется шесть регистров. Для четырех тринадцать
   brainguard
 
373 - 30.07.21 - 18:43
(369) И какое условие я должен был поставить в ГДЕ, чтобы получить последние?
   brainguard
 
374 - 30.07.21 - 18:50
(368) Зачем так сложно? В (349) проще
   Said_We
 
375 - 30.07.21 - 19:00
(373) Оно ставится не в ГДЕ
(374) Что сложного?
   mistеr
 
376 - 30.07.21 - 21:15
(293) То есть он хочет, чтобы алгоритм (запрос) для решения его одной частной задачи 1С вкрячила в платформу? То есть вся гибкость языка запросов не нужна, хочу просто обратиться к виртуальной таблице Регистр.СрезИмениBrainguard()?

Понятно. Ну что ж, хотеть не вредно.
   brainguard
 
377 - 30.07.21 - 21:51
(376) Это - не частная задача, а вполне общая. И все, что я хочу - это чтобы при обращении к виртуальной таблице среза последних мне выдавали последние записи. Что в этом странного?
   Valdis2007
 
378 - 30.07.21 - 22:26
"Делаем запрос по одному измерению "номенклатура" и не получаем срез последних по этому измерению" ... Ты сам себе противоречишь, как можно получить "множественное число", по одному измерению? Это же срез -"ПОСЛЕДНИХ", а не "ПОСЛЕДНЕГО"))
   brainguard
 
379 - 30.07.21 - 22:37
(378) Это - срез последних записей. Количество измерений здесь ни при чем
   brainguard
 
380 - 30.07.21 - 22:42
(375) Аааа. Сразу не увидел. Ты решил задачу получения любой записи. Ничего так, годная штука. АвтоНомерЗаписи() быстро работает?
   Valdis2007
 
381 - 30.07.21 - 23:23
ок, без проблем, я просто пошутил))
   27200802018
 
382 - 30.07.21 - 23:52
Как мы писали "Срез последних" в 7.7? Точнее, вообще - осуществляли. Вспомните, наложите на современный мир и поймете, что удобнее и логичнее, а что нет.
   brainguard
 
383 - 31.07.21 - 11:11
Кстати, кто-нибудь хоть раз использовал срез первых?
   mistеr
 
384 - 31.07.21 - 13:38
(377) Странно то, средств для решения твоей задачи вполне достаточно и сейчас, по твоим же словам. А оснований для реализации в виде вирт. таблицы я не вижу.

А насчет того, частная это задача или общая — приведи свою реальную задачу, где это нужно, посмотрим. Я вот ни разу такой не встречал, но может просто не попадалось. И никто больше здесь не написал "да, я тоже с такой задачей сталкивался, решил так-то".
   mistеr
 
385 - 31.07.21 - 13:40
(383) Я как-то использовал один раз, зачем, уже не помню.
   Said_We
 
386 - 01.08.21 - 10:29
(380) Очень быстро.
   Said_We
 
387 - 01.08.21 - 14:20
(380) Возьми самую длинную таблицу, которая есть в Вашей базе, что бы она влезла в ПОМЕСТИТЬ.
Два запроса с АвтоНомерЗаписи() несколько раз выполнить и без несколько раз. Сравнить разницу в скорости выполнения. Если конечно эта разница у Вас получиться.
   brainguard
 
388 - 02.08.21 - 00:26
(384) А и не надо дополнительных виртуальных таблиц. Пусть уже имеющаяся выдает последние записи в полном соответствии со своим названием "СрезПоследних".
Кейс я уже в самом начале привел. Два измерения "Поставщик" и "Номенклатура". Нужны последние цены по одному измерению "Номенклатура"ё
   brainguard
 
389 - 02.08.21 - 00:33
(386) (387) Спасибо! Буду знать теперь
   Said_We
 
390 - 02.08.21 - 10:23
(389) Запрос соединение: ограничение количества записей
Примерно такой же вопрос. Я сначала думал дежавю. Потом нет Автор в 7-м посте сам решение нашел.
   ДядяМитяй
 
391 - 02.08.21 - 10:41
(375) а где же если не в где? )))
   brainguard
 
392 - 02.08.21 - 11:04
(391) Чтобы получить последние записи, нужно делать соединение. Так что, не в ГДЕ , а в ПО
   ДядяМитяй
 
393 - 02.08.21 - 11:14
(392) нет, ну можно многими обходными путями идти, если много времени.
но то, что описано в (369) работает
ВЫБРАТЬ Чегото ИЗ
НашРегистрСТремяИзмерениями.СрезПоследних(&Дата)
ГДЕ
Измерение1 = &Адын И
Измерение2 = @Дыва
   Said_We
 
394 - 02.08.21 - 11:33
(393) А если так:

ВЫБРАТЬ
     Чегото
ИЗ
    НашРегистрСТремяИзмерениями.СрезПоследних(&Дата, Измерение1 = &Адын И Измерение2 = @Дыва)
   ДядяМитяй
 
395 - 02.08.21 - 11:45
(394) тогда возвращаемся к началу. Срез последних будет больше похож на срез первых. Потому что будет строится с учетом третьего измерения, которое будет первым встреченным (так как не указано в условиях)
   ДядяМитяй
 
396 - 02.08.21 - 11:47
(395) *не указано в ПАРАМЕТРАХ
   Said_We
 
397 - 02.08.21 - 12:15
(395) Ничего из сказанного не понял.
Если есть условие на измерение в резе, его в срезе и указывают, а не в ГДЕ. Связанно это с тем что сам срез в 1С строится не быстро на больших множествах, а вы при построении срез ничем не ограничиваете.
Далее уже ограничиваете трудоемко полученный результат в ГДЕ. Быстрее отработает, если вы в качестве условия передадите свои ограничение, а не в ГДЕ. Такой срез может построится на порядок, или много порядков быстрее - от данных зависит на сколько будет быстрее.
   ДядяМитяй
 
398 - 02.08.21 - 12:17
(396) "нет времени объяснять". Просто попробуй. Или прочти всю ветку.
   Said_We
 
399 - 02.08.21 - 12:20
(398) Я всю ветку прочитал. Я не понимаю о чём Вы говорите.
   Said_We
 
400 - 02.08.21 - 12:23
(398) Запросы в (393) и (394) идентичны с точки зрения получаемого результата. Но разные с точки зрения производительности. В (394) в общем случае будет быстрее и на сколько быстрее зависит от самих данных.
  1  2  3  4  5  6  7   

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.