Вход | Регистрация
    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)?
   brainguard
 
601 - 12.08.21 - 13:08
(600) Ну, статьи пишут, чтобы их читали. Неудивительно, что вы это уже слышали
   Пиняев
 
602 - 12.08.21 - 13:11
(599) Я полагаю, что вы последний человек, которого будут слушать разработчики платформы.
   Пиняев
 
603 - 12.08.21 - 13:12
(598) Ну, мы вас поздравляем. Теперь не будете кривой код при получении данных из регистров сведений писать.
   brainguard
 
604 - 12.08.21 - 13:36
(602) И какие практические выводы вы делаете из этого своего полагания?
   Пиняев
 
605 - 12.08.21 - 13:51
(604) Что надо читать документацию от авторов платформы. И не ждать от платформы решения частных задач Миши Каллимулина.
   brainguard
 
606 - 12.08.21 - 16:00
(605) И все это потому, что разработчики слушают меня в последнюю очередь?
А если бы они слушали меня в первую очередь? Какой бы вы тогда сделали вывод?
   Пиняев
 
607 - 12.08.21 - 16:06
(606) Что вы врёте, конечно. Если бы разработчики слушали всех, кого попало, не было бы никакой платформы.
   Eiffil123
 
608 - 12.08.21 - 16:10
(588) т.е. тебя не смущает, что в выборке будут 2 записи по одной номенклатуре с разными ценами? тогда это тоже не срез, а черт знает что
   Пиняев
 
609 - 12.08.21 - 16:11
(608) Зато "последних". Миша такой Миша :))
   Yardman
 
610 - 12.08.21 - 16:12
(608) В предыдущих сериях было - он считает что нужно выбрать рандомную из них.
(607) Слушать то можно кого угодно, просто предъявы автора выглядит наркоманией в чистом виде.
   Митяйский
 
611 - 12.08.21 - 16:21
Прекращайте его учить, давайте лучше будем им восторгаться!
   Пиняев
 
612 - 12.08.21 - 16:22
(611) А я давно им восторгаюсь, уникальный человечище.
   brainguard
 
613 - 12.08.21 - 16:22
(607) Это уже интересно. Разработчики не должны никого слушать, кроме тараканов в своих головах?
   Пиняев
 
614 - 12.08.21 - 16:22
(610) Не, ну сейчас он уже пишет, что сам выберет ту, которую ему надо :)
   Пиняев
 
615 - 12.08.21 - 16:25
(613) В первую очередь они должны слушать точно ни кого попало с улицы, а специалистов. А чудики, вроде тебя, должны написать свою платформу и стать легендами, известными всему миру.
   Митяйский
 
616 - 12.08.21 - 16:30
(612) Блин, это просто кладезь воодушевления, оказывается.

Давайте просто признаем интеллектуальное превосходство Михаила над всеми нами, засчитаем ему победу в этом вопросе и перейдем к более насущным вопросам, например к этому:

https://brainguard.ru/page14575698.html

тл;др

Пользователи 1С нехорошие и криворукие, поэтому чтобы перебороть их в вечной битве разрабов с юзерами, мы теперь будем хэшировать каждую строчку РТиУ. А потом проверять внесение изменений пересчетом хэшей. Всех.
   brainguard
 
617 - 12.08.21 - 16:34
(608) Нет, не смущает. Если эти записи последние, то наличие нескольких не является проблемой. Проблемой является появление в срезе последних старых записей, как это происходит сейчас.
Вообще проблема дублей последних имеет свое очевидное решение, но это тема другого разговора
   brainguard
 
618 - 12.08.21 - 16:35
(615) Хороший же вопрос. Должны ли разработчики массового продукта слушать "улицу"?
   Пиняев
 
619 - 12.08.21 - 16:38
(618) Не должны, конечно. Но могут и послушать. Но не в первую очередь, не всегда самые крикливые на улице являются самыми умными :)
   Пиняев
 
620 - 12.08.21 - 16:41
(617) Ну тогда не надо их называть "срез последних". Потому как в терминологии 1С "срез последних" - это последние записи по всему набору измерений. Не называйте это срезом последних, назовите "набором последних", "прибором последних", "перебором последних". И тогда к вам не будет ровно никаких претензий.
   brainguard
 
621 - 12.08.21 - 17:06
(620) А может быть не стоит называть срезом последних то, что не дает последних записей? Вы не находите это более логичным?
   Eiffil123
 
622 - 12.08.21 - 18:40
(621) нет никакого общеутвержденного термина срез последних.
   Чинухов
 
623 - 12.08.21 - 18:47
(621) 1С придумали этот термин, его нигде больше нет. И то, что ты вкладываешь в этот термин свой смысл, это исключительно твои проблемы.
   Митяйский
 
624 - 12.08.21 - 19:00
(623) В экселе есть срез. Только там этим словом называются скорее быстрые пользовательские отборы по значению, которые гораздо ближе по своему смыслу к 1Совской СКДшной расшифровке или к тому, над чем упоролся ТС.
   Пиняев
 
625 - 12.08.21 - 19:06
(624) Срез сам по себе может и есть. А вот именно "среза последних" нет. Да, можно предъявить претензию к 1С, что свои термины выдумывают, но а смысл?
   brainguard
 
626 - 12.08.21 - 19:08
(622) Зато есть общепринятый смысл слова "последний"
   brainguard
 
627 - 12.08.21 - 19:11
(623) Что значит мои проблемы? Я потерял время. Не так много, конечно. Но таких, как я десятки тысяч. И мы все так или иначе несем потери. В этом конкретном случае из-за того, что разработчикам было не лень делать никому не нужный срез первых, но лень сделать нормально срез последних. Но разве этот случай единственный?
   Пиняев
 
628 - 12.08.21 - 19:17
(627) Это и есть твои проблемы -  "Я потерял время". Ты потерял его из-за незнания документации, и не почему другому.
   brainguard
 
629 - 12.08.21 - 19:20
(628) Встречный вопрос. А разработчики документацию к русскому языку читали? Видимо, нет. Никто не будет лезть в документацию за расшифровкой очевидного
   Пиняев
 
630 - 12.08.21 - 19:21
(626) Ещё раз, выдирать слова из контекста - глупо. Очень глупо. Термин звучит "срез последних", и никак иначе. Исчерпывающий его смысл приведён в документации. Если бы 1С обозвал, условно "синус" как "срез угла", претензии были бы обоснованы. А так - 1С придумал свой термин, дал его определение и использует его согласно этого определения.
 
 
   Пиняев
 
631 - 12.08.21 - 19:22
(629) Мда, бесполезно. Ты упёртый, как баран.
   brainguard
 
632 - 12.08.21 - 19:29
(630) А делать массовый продукт, в котором "+" и "-" будут поменены местами и говорить потом: ну вот же, ребята, мы в документации все написали, плюс это минус, а минус это плюс, не читали? сами виноваты! Вот так делать не глупо? Здесь ведь то же самое
   Yardman
 
633 - 12.08.21 - 19:37
(628) > А разработчики документацию к русскому языку читали? Видимо, нет. Никто не будет лезть в документацию за расшифровкой очевидного

Как бы Вы, видимо прочитавший документацию к русскому языку, назвали то что сейчас в 8ке называется СрезПоследних?
   brainguard
 
634 - 12.08.21 - 19:58
(631) И, кстати, в синтакс-помощнике сказано буквально следующее:

"Получает наиболее поздние записи регистра, соответствующие установленным в параметрах метода значениям ключевых полей. Записи подбираются для каждого сочетания из всех имеющихся значений измерений регистра."

И как из ЭТОГО можно однозначно понять работу среза? "... из всех имеющихся значений ...". Имеющихся где? В моем запросе? Вот я ровно так и понял. Все-таки есть польза в длинных обсуждениях. До этого момента я был уверен, что я просто не дочитал чего-то в документации или просто забыл. А выходит, что я ничего не забыл. И действовал как раз по документации. Спасибо вам, ребята!
   brainguard
 
635 - 12.08.21 - 19:58
(633) Срез последних, с явной ошибкой в реализации
   brainguard
 
636 - 12.08.21 - 20:01
С недокументированной явной ошибкой в реализации
   brainguard
 
637 - 12.08.21 - 21:17
Там же, в синтакс-помощнике, в разделе "Работа с запросами" описание виртуальной таблицы среза последних:

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

Ха-ха! На протяжении 600 постов в ветку приходят самые разные люди и строго отчитывают ТС за то, что он не читал документацию. ТС поддавшись стадному чувству в это верит. И только на 634 посте он решает проверить и выясняется, что документацию никто, кроме ТС не читал. "Документацию не читал, но осуждаю тех, кто не читал" Прикольно! Эта ветка станет легендарной
   Чинухов
 
638 - 12.08.21 - 21:24
(634) (637) То есть, ты не в состоянии понять то, что написано, и обвиняешь в этом 1С? Фееричненько.
   brainguard
 
639 - 12.08.21 - 21:39
(638) А ничего не написано. Прочтите сами
   brainguard
 
640 - 12.08.21 - 21:46
(639) Вернее, написано прямо противоположное тому, что вы утверждаете. Прямо соответствующее моим ожиданиям. И не соответствующее тому, что реализовано

"... по каждой комбинации измерений..."
 
Как это можно понять еще, кроме как то что вы получите последние записи и по "Номенклатура+Поставщик" и по "Номенклатура"?
   Вафель
 
641 - 12.08.21 - 22:22
Очевидно же сто по каждой комбинации ЗНАЧЕНИЙ измерений
   mikecool
 
642 - 12.08.21 - 22:34
7я сотня сообщений из пустого в порожнее...
автор, ты в этой ветке потерял гораздо больше времени
   brainguard
 
643 - 12.08.21 - 22:40
(642) Ошибаетесь. Не знаю как для кого, а для меня ветка на редкость продуктивная. Давно такой не было
   brainguard
 
644 - 12.08.21 - 22:42
(641) Это теперь, в контексте обсуждения, очевидно. А так нет, конечно же
   Чинухов
 
645 - 12.08.21 - 22:49
(644) Вот тебе это в контексте обсуждения стало очевидно. А другим это было очевидно сразу. И кто тут не прав?
   Вафель
 
646 - 12.08.21 - 23:01
Ну понятно же что ни про какие сочетания изменений речи и быть не может.
Кто то просто слишком много тервера изучал
   acanta
 
647 - 12.08.21 - 23:05
(646) что? И что теперь делать без терверах и разных сочетаний измерений в срезе последних?
   brainguard
 
648 - 12.08.21 - 23:15
(645) Кому это было очевидно сразу? И как это можно проверить?
   brainguard
 
649 - 12.08.21 - 23:16
(646) Тервер здесь ни при чем. Просто последние записи должны быть последними. Вот и все
   brainguard
 
650 - 12.08.21 - 23:22
(647) Писать срез последних самостоятельно всякий раз, когда надо получить его по неполному набору измерений
   Чинухов
 
651 - 12.08.21 - 23:23
(648) Тем, кто читал документацию, и понял её, конечно. А как можно проверить, что ты психически нормальный?
   Чинухов
 
652 - 12.08.21 - 23:24
(650) Гениально! Никто до этого раньше не додумался...
   brainguard
 
653 - 12.08.21 - 23:31
(651) Да никто ее не читал, кроме меня, как выяснилось
   acanta
 
654 - 12.08.21 - 23:34
(653) а зачем это читал ты?
   brainguard
 
655 - 12.08.21 - 23:43
(654) А меня застыдили )))
   Ыцшесрук
 
656 - 13.08.21 - 05:08
(616) АХАХАХАХ %)
Божечки, это шедевр. Он же реально Геня 2.0.
   Eireen_zh97
 
657 - 13.08.21 - 07:14
Выше вы спрашивали, надо будет 4 измерения, делать регистр с 4? Ответ - Да. Правильней всего в вашей задачей делать несколько регистров. Надо по одному измерению, делайте еще один регистр с одним измерением.  Надо с 2мя - делать с 2мя еще. И это нормальное решение. А не менять работу СрезПоследних. Меня устраивает, как работает срез, а вы как умный разработчик можете написать свой запрос для среза под конкретно ваш кейс :)
   brainguard
 
658 - 13.08.21 - 10:40
(657) Вот у вас есть, например, оборотный регистр "Продажи" с измерениями "Номенклатура","Контрагент","Склад". Вы ведь не делаете из него шесть регистров. Вы получаете продажи по Номенклатура+Контрагент, Номенклатура+Склад, Склад+Контрагент и т.д. все из одного регистра
   Kassern
 
659 - 13.08.21 - 10:46
(658) Не путайте теплое с мягким. РН<>РС
   Йохохо
 
660 - 13.08.21 - 10:48
(658) "Вы получаете продажи по Номенклатура+Контрагент" и чем период лучше склада? почему по нему надо вдруг взять максимум? в общем случае ничем.
хранить итоги with rollaup забавно конечно было бы)
 
 
   brainguard
 
661 - 13.08.21 - 10:52
(659) (660) И там и там выполняется агрегирование. Просто разными способами
   fisher
 
662 - 13.08.21 - 10:56
(616)(656) ЕМНИП, я встречал на инфостарте ГОТОВУЮ РЕАЛИЗАЦИЮ логов на концепции блокчейна. Еще в те времена, когда слово "блокчейн" только-только на слуху появилось.
Но там это подавалось более вменяемо. Без мясорубки Бородина, как у ТС.
Просто с целью контроля вмешательства админов. Без пересчетов - просто с функцией контроля целостности и обнаружения факта вмешательства.
   brainguard
 
663 - 13.08.21 - 11:01
(662) Интересно. Не найдете публикацию? Я в свое время искал все, что есть по теме, но то, о чем вы говорите не находил
   fisher
 
664 - 13.08.21 - 11:03
(663) Навскидку не нахожу.
   brainguard
 
665 - 13.08.21 - 11:05
(664) Ну ладно, тогда
   brainguard
 
666 - 16.08.21 - 13:47
Обещанная статья здесь: https://habr.com/ru/post/572446/
и здесь: https://brainguard.ru/page21448209.html
   Вафель
 
667 - 16.08.21 - 14:01
Уникальность даты - это что-то новое
   brainguard
 
668 - 16.08.21 - 14:08
(667) Эйнштейн велит, ничего не поделаешь )))
А если серьезно. А почему нет? Ну раньше байты экономили. Сейчас какие проблемы?
   Пиняев
 
669 - 16.08.21 - 14:37
(666) "Мой гений дарит вам" (с)
   Arbuz
 
670 - 16.08.21 - 14:40
Это уже шизофрения, не?
Но Вы не волнуйтесь, голубчик, она не лечится, а с годами только прогрессирует. (с)
Для безопасности это неважно. (с)

Неофитов только жаль немного, которым в голову это льют такие "преподаватели". Хотя по собственному опыту такие были всегда, по крайней мере 40 лет назад у меня, по итогу трудоёмкого снятия лапши, они вызывали оторопь от той чуши, которою на полном серьёзе и с чувством собственного превосходства выливали на ничего не подозревающих нас, под видом сакральной истины доступной их снисходительному гению.
   Вафель
 
671 - 16.08.21 - 14:44
(668) дата дискретна. и размер ограничен
   brainguard
 
672 - 16.08.21 - 15:20
(671) В реальном мире дата континуальна. Конечно, любая модель будет дискретна. Но тут вопрос практический. 32 байта дают число сравнимое с количеством атомов в наблюдаемой вселенной. Если нам жаль 32 байтов, то давайте прикинем сколько у нас всего будет документов в информационной базе. Миллион? Миллиард? Триллион? Последнее влезает в 4 байта.
   brainguard
 
673 - 16.08.21 - 15:20
(670) По существу есть что возразить?
   Вафель
 
674 - 16.08.21 - 15:24
(672) вот поставил ты дату в конец дня и все далее уже ничего не записать
   Вафель
 
675 - 16.08.21 - 15:26
(672) по твоей логике и секунды вполне хватает. что кто то цены устанавливает чаще чем раз  в секунду?
   brainguard
 
676 - 16.08.21 - 15:28
(675) Да постоянно. У вас может быть куча документов на начало дня или на конец дня. Ни разу не сталкивались?
   Вафель
 
677 - 16.08.21 - 15:29
(676) и как тогда уникальность даты обеспечивать?
   brainguard
 
678 - 16.08.21 - 15:31
(674) Это как платформу спроектировать. Конец дня - это 23:59:59. Именно этим понятием оперирует разработчик. А дальше платформа сама впихивает в эту секунду документы один за другим. И, в принципе, может впихнуть хоть все
   brainguard
 
679 - 16.08.21 - 15:32
(677) Ровно также, как обеспечивается уникальность всего прочего. Там нет никакой магии
   Вафель
 
680 - 16.08.21 - 15:33
(678) а как порядком в этой секунде рулить тогда?
   brainguard
 
681 - 16.08.21 - 15:35
(680) Что значит - рулить порядком?
   Raxla
 
682 - 17.08.21 - 00:47
brainguard, вы несёте ахинею: вы не конфигурируете срез, тем что внутри скобочек прописываете значения измерений. Значения внутри скобочек это фильтр к уже готовому срезу, размерность которого равна размерности регистра и никак иначе. Таким образом, вы можете отфильтровать данные среза и только. Никаких срез эН измерений вам никто не обещал, просто довольствйтесь тем, что к срезу есть фильтр уменьшающий данные выборки.
   Raxla
 
683 - 17.08.21 - 00:50
Вы серьёзно, хреначите 20 лет запросы, с пониманием ниже плинтуса предметной области и никто вам по рукам не дал?
   brainguard
 
684 - 17.08.21 - 01:15
(682) Ничто не мешало разработчикам вместо того, чтобы делать никому не нужный срез первых, сделать нормальный срез последних. Всех делов-то правильную группировку задать, в соотвествии с выбранными измерениями
  1  2  3  4  5  6  7

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