|   |   | 
| 
 | Срез последних - не совсем срез? ↓ (mikecool 16.08.2021 15:57) | ☑ | ||
|---|---|---|---|---|
| 0
    
        brainguard 28.07.21✎ 23:39 | 
        Только сейчас обнаружил, что если в запросе будут не все измерения, то срез последних "превращается в тыкву". Например, измерения "поставщик", "номенклатура". Делаем запрос по одному измерению "номенклатура" и не получаем срез последних по этому измерению. Это действительно так? Или я что-то "неправильно готовлю" (версия платформы 8.3.18.1208)?     | |||
| 585
    
        brainguard 11.08.21✎ 17:33 | 
        (584) Потому что это важная и очень показательная тема     | |||
| 586
    
        brainguard 11.08.21✎ 18:04 | 
        (581) Не согласен. Получить последние приходные цены - это не экзотика, а нормальная потребность у клиентов. С другой стороны, хватило же у разработчиков сил на никому не нужный срез первых. А вот на нужное почему-то не хватило     | |||
| 587
    
        mistеr 11.08.21✎ 19:06 | 
        (583) Дубли появляются всегда, когда сворачиваются измерения. И в твоем коде (566) потенциально тоже. Если от них не избавиться, результат не может называться "срезом последних" ни в каком смысле.     | |||
| 588
    
        brainguard 11.08.21✎ 19:23 | 
        (587) Почему же не может? Очень даже может. Записи-то последние, и это главное. А есть там дубли или нет - это уже другой вопрос     | |||
| 589
    
        mistеr 12.08.21✎ 08:17 | 
        (588) Но какая самая последняя, вот главный вопрос.
 Ну и с прикладной точки зрения, ты что будешь с ними делать? Запросил последнюю цену, а получил три. Все равно сворачивать. | |||
| 590
    
        brainguard 12.08.21✎ 10:29 | 
        (589) Достаточно того, что они все последние. На этом задача решена. Срез либо подставляется под светлые очи пользователя, либо обрабатывается дальше программно тем или иным способом. В чем проблема? Получить одно значение из множества? Вы не знаете - как это делается?     | |||
| 591
    
        Чинухов 12.08.21✎ 11:00 | 
        (590) Возьмём регистр Поставщик Товар Цена. Зачем может понадобиться срез последних по Поставщику без Номенклатуры? Ваши предположения?     | |||
| 592
    
        brainguard 12.08.21✎ 11:05 | 
        (591) Зато может потребоваться срез последних по номенклатуре без поставщиков. А, например, в документах может потребоваться срез последних документов по контрагенту, может потребоваться срез последних документов по складу или срез последних документов по номенклатуре     | |||
| 593
    
        brainguard 12.08.21✎ 11:06 | 
        Это все реальные потребности     | |||
| 594
    
        ptiz 12.08.21✎ 11:08 | 
        (593) А выглядит как попытка самоутвердиться на протяжении 500 постов.     | |||
| 595
    
        Пиняев 12.08.21✎ 11:14 | 
        (592) Если понадобился такой срез - ты его легко получишь запросом. Абсолютно никаких проблем. Используй срез последних только тогда, когда это имеет смысл.     | |||
| 596
    
        Вафель 12.08.21✎ 11:26 | 
        (595) эта ветка просто поныть. В 1с такое часто. Сама 1с мало думает о разрабах | |||
| 597
    
        Пиняев 12.08.21✎ 11:37 | 
        (596) Согласен в общем. Только вот ТС уж больно смешной, сам придумал, сам обиделся, сам ноет.     | |||
| 598
    
        brainguard 12.08.21✎ 12:05 | 
        (596) Для вас, может, и поныть. А для меня тут есть практический результат. Я уже сделал универсальный срез последних. Сейчас статью опубликую. Почитаете, повеселитесь. А наиболее продвинутые задумаются, я надеюсь     | |||
| 599
    
        brainguard 12.08.21✎ 12:06 | 
        (597) Вы полагаете, что вопрос каким быть ЯП 1С не важен? Или место неподходящее?     | |||
| 600
    
        Вафель 12.08.21✎ 12:11 | 
        (598) Читайте статью (с) Где-то я уже это слышал. Уж ли не мой гений дарит вам? | |||
| 601
    
        brainguard 12.08.21✎ 13:08 | 
        (600) Ну, статьи пишут, чтобы их читали. Неудивительно, что вы это уже слышали     | |||
| 602
    
        Пиняев 12.08.21✎ 13:11 | 
        (599) Я полагаю, что вы последний человек, которого будут слушать разработчики платформы.     | |||
| 603
    
        Пиняев 12.08.21✎ 13:12 | 
        (598) Ну, мы вас поздравляем. Теперь не будете кривой код при получении данных из регистров сведений писать.     | |||
| 604
    
        brainguard 12.08.21✎ 13:36 | 
        (602) И какие практические выводы вы делаете из этого своего полагания?     | |||
| 605
    
        Пиняев 12.08.21✎ 13:51 | 
        (604) Что надо читать документацию от авторов платформы. И не ждать от платформы решения частных задач Миши Каллимулина.     | |||
| 606
    
        brainguard 12.08.21✎ 16:00 | 
        (605) И все это потому, что разработчики слушают меня в последнюю очередь?
 А если бы они слушали меня в первую очередь? Какой бы вы тогда сделали вывод? | |||
| 607
    
        Пиняев 12.08.21✎ 16:06 | 
        (606) Что вы врёте, конечно. Если бы разработчики слушали всех, кого попало, не было бы никакой платформы.     | |||
| 608
    
        Eiffil123 12.08.21✎ 16:10 | 
        (588) т.е. тебя не смущает, что в выборке будут 2 записи по одной номенклатуре с разными ценами? тогда это тоже не срез, а черт знает что     | |||
| 609
    
        Пиняев 12.08.21✎ 16:11 | 
        (608) Зато "последних". Миша такой Миша :))     | |||
| 610
    
        Yardman 12.08.21✎ 16:12 | 
        (608) В предыдущих сериях было - он считает что нужно выбрать рандомную из них.
 (607) Слушать то можно кого угодно, просто предъявы автора выглядит наркоманией в чистом виде. | |||
| 611
    
        Митяйский 12.08.21✎ 16:21 | 
        Прекращайте его учить, давайте лучше будем им восторгаться!     | |||
| 612
    
        Пиняев 12.08.21✎ 16:22 | 
        (611) А я давно им восторгаюсь, уникальный человечище.     | |||
| 613
    
        brainguard 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С нехорошие и криворукие, поэтому чтобы перебороть их в вечной битве разрабов с юзерами, мы теперь будем хэшировать каждую строчку РТиУ. А потом проверять внесение изменений пересчетом хэшей. Всех. | |||
| 617
    
        brainguard 12.08.21✎ 16:34 | 
        (608) Нет, не смущает. Если эти записи последние, то наличие нескольких не является проблемой. Проблемой является появление в срезе последних старых записей, как это происходит сейчас.
 Вообще проблема дублей последних имеет свое очевидное решение, но это тема другого разговора | |||
| 618
    
        brainguard 12.08.21✎ 16:35 | 
        (615) Хороший же вопрос. Должны ли разработчики массового продукта слушать "улицу"?     | |||
| 619
    
        Пиняев 12.08.21✎ 16:38 | 
        (618) Не должны, конечно. Но могут и послушать. Но не в первую очередь, не всегда самые крикливые на улице являются самыми умными :)     | |||
| 620
    
        Пиняев 12.08.21✎ 16:41 | 
        (617) Ну тогда не надо их называть "срез последних". Потому как в терминологии 1С "срез последних" - это последние записи по всему набору измерений. Не называйте это срезом последних, назовите "набором последних", "прибором последних", "перебором последних". И тогда к вам не будет ровно никаких претензий.     | |||
| 621
    
        brainguard 12.08.21✎ 17:06 | 
        (620) А может быть не стоит называть срезом последних то, что не дает последних записей? Вы не находите это более логичным?     | |||
| 622
    
        Eiffil123 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С, что свои термины выдумывают, но а смысл?     | |||
| 626
    
        brainguard 12.08.21✎ 19:08 | 
        (622) Зато есть общепринятый смысл слова "последний"     | |||
| 627
    
        brainguard 12.08.21✎ 19:11 | 
        (623) Что значит мои проблемы? Я потерял время. Не так много, конечно. Но таких, как я десятки тысяч. И мы все так или иначе несем потери. В этом конкретном случае из-за того, что разработчикам было не лень делать никому не нужный срез первых, но лень сделать нормально срез последних. Но разве этот случай единственный?     | |||
| 628
    
        Пиняев 12.08.21✎ 19:17 | 
        (627) Это и есть твои проблемы -  "Я потерял время". Ты потерял его из-за незнания документации, и не почему другому.     | |||
| 629
    
        brainguard 12.08.21✎ 19:20 | 
        (628) Встречный вопрос. А разработчики документацию к русскому языку читали? Видимо, нет. Никто не будет лезть в документацию за расшифровкой очевидного     | |||
| 630
    
        Пиняев 12.08.21✎ 19:21 | 
        (626) Ещё раз, выдирать слова из контекста - глупо. Очень глупо. Термин звучит "срез последних", и никак иначе. Исчерпывающий его смысл приведён в документации. Если бы 1С обозвал, условно "синус" как "срез угла", претензии были бы обоснованы. А так - 1С придумал свой термин, дал его определение и использует его согласно этого определения.     | |||
| 631
    
        Пиняев 12.08.21✎ 19:22 | 
        (629) Мда, бесполезно. Ты упёртый, как баран.     | |||
| 632
    
        brainguard 12.08.21✎ 19:29 | 
        (630) А делать массовый продукт, в котором "+" и "-" будут поменены местами и говорить потом: ну вот же, ребята, мы в документации все написали, плюс это минус, а минус это плюс, не читали? сами виноваты! Вот так делать не глупо? Здесь ведь то же самое     | |||
| 633
    
        Yardman 12.08.21✎ 19:37 | 
        (628) > А разработчики документацию к русскому языку читали? Видимо, нет. Никто не будет лезть в документацию за расшифровкой очевидного
 Как бы Вы, видимо прочитавший документацию к русскому языку, назвали то что сейчас в 8ке называется СрезПоследних? | |||
| 634
    
        brainguard 12.08.21✎ 19:58 | 
        (631) И, кстати, в синтакс-помощнике сказано буквально следующее:
 "Получает наиболее поздние записи регистра, соответствующие установленным в параметрах метода значениям ключевых полей. Записи подбираются для каждого сочетания из всех имеющихся значений измерений регистра." И как из ЭТОГО можно однозначно понять работу среза? "... из всех имеющихся значений ...". Имеющихся где? В моем запросе? Вот я ровно так и понял. Все-таки есть польза в длинных обсуждениях. До этого момента я был уверен, что я просто не дочитал чего-то в документации или просто забыл. А выходит, что я ничего не забыл. И действовал как раз по документации. Спасибо вам, ребята! | |||
| 635
    
        brainguard 12.08.21✎ 19:58 | 
        (633) Срез последних, с явной ошибкой в реализации     | |||
| 636
    
        brainguard 12.08.21✎ 20:01 | 
        С недокументированной явной ошибкой в реализации     | |||
| 637
    
        brainguard 12.08.21✎ 21:17 | 
        Там же, в синтакс-помощнике, в разделе "Работа с запросами" описание виртуальной таблицы среза последних:
 Предназначена для получения наиболее поздних записей регистра сведений на указанную дату (включительно). Включает только активные записи. По каждой комбинации измерений будет найдена наиболее поздняя запись, но не более поздняя, чем указанная дата. Ха-ха! На протяжении 600 постов в ветку приходят самые разные люди и строго отчитывают ТС за то, что он не читал документацию. ТС поддавшись стадному чувству в это верит. И только на 634 посте он решает проверить и выясняется, что документацию никто, кроме ТС не читал. "Документацию не читал, но осуждаю тех, кто не читал" Прикольно! Эта ветка станет легендарной | |||
| 638
    
        Чинухов 12.08.21✎ 21:24 | 
        (634) (637) То есть, ты не в состоянии понять то, что написано, и обвиняешь в этом 1С? Фееричненько.     | |||
| 639
    
        brainguard 12.08.21✎ 21:39 | 
        (638) А ничего не написано. Прочтите сами     | |||
| 640
    
        brainguard 12.08.21✎ 21:46 | 
        (639) Вернее, написано прямо противоположное тому, что вы утверждаете. Прямо соответствующее моим ожиданиям. И не соответствующее тому, что реализовано
 "... по каждой комбинации измерений..." Как это можно понять еще, кроме как то что вы получите последние записи и по "Номенклатура+Поставщик" и по "Номенклатура"? | |||
| 641
    
        Вафель 12.08.21✎ 22:22 | 
        Очевидно же сто по каждой комбинации ЗНАЧЕНИЙ измерений     | |||
| 642
    
        mikecool 12.08.21✎ 22:34 | 
        7я сотня сообщений из пустого в порожнее...
 автор, ты в этой ветке потерял гораздо больше времени | |||
| 643
    
        brainguard 12.08.21✎ 22:40 | 
        (642) Ошибаетесь. Не знаю как для кого, а для меня ветка на редкость продуктивная. Давно такой не было     | |||
| 644
    
        brainguard 12.08.21✎ 22:42 | 
        (641) Это теперь, в контексте обсуждения, очевидно. А так нет, конечно же     | |||
| 645
    
        Чинухов 12.08.21✎ 22:49 | 
        (644) Вот тебе это в контексте обсуждения стало очевидно. А другим это было очевидно сразу. И кто тут не прав?     | |||
| 646
    
        Вафель 12.08.21✎ 23:01 | 
        Ну понятно же что ни про какие сочетания изменений речи и быть не может. Кто то просто слишком много тервера изучал | |||
| 647
    
        acanta 12.08.21✎ 23:05 | 
        (646) что? И что теперь делать без терверах и разных сочетаний измерений в срезе последних?     | |||
| 648
    
        brainguard 12.08.21✎ 23:15 | 
        (645) Кому это было очевидно сразу? И как это можно проверить?     | |||
| 649
    
        brainguard 12.08.21✎ 23:16 | 
        (646) Тервер здесь ни при чем. Просто последние записи должны быть последними. Вот и все     | |||
| 650
    
        brainguard 12.08.21✎ 23:22 | 
        (647) Писать срез последних самостоятельно всякий раз, когда надо получить его по неполному набору измерений     | |||
| 651
    
        Чинухов 12.08.21✎ 23:23 | 
        (648) Тем, кто читал документацию, и понял её, конечно. А как можно проверить, что ты психически нормальный?     | |||
| 652
    
        Чинухов 12.08.21✎ 23:24 | 
        (650) Гениально! Никто до этого раньше не додумался...     | |||
| 653
    
        brainguard 12.08.21✎ 23:31 | 
        (651) Да никто ее не читал, кроме меня, как выяснилось     | |||
| 654
    
        acanta 12.08.21✎ 23:34 | 
        (653) а зачем это читал ты?     | |||
| 655
    
        brainguard 12.08.21✎ 23:43 | 
        (654) А меня застыдили )))     | |||
| 656
    
        Ыцшесрук 13.08.21✎ 05:08 | 
        (616) АХАХАХАХ %)
 Божечки, это шедевр. Он же реально Геня 2.0. | |||
| 657
    
        Eireen_zh97 13.08.21✎ 07:14 | 
        Выше вы спрашивали, надо будет 4 измерения, делать регистр с 4? Ответ - Да. Правильней всего в вашей задачей делать несколько регистров. Надо по одному измерению, делайте еще один регистр с одним измерением.  Надо с 2мя - делать с 2мя еще. И это нормальное решение. А не менять работу СрезПоследних. Меня устраивает, как работает срез, а вы как умный разработчик можете написать свой запрос для среза под конкретно ваш кейс :)     | |||
| 658
    
        brainguard 13.08.21✎ 10:40 | 
        (657) Вот у вас есть, например, оборотный регистр "Продажи" с измерениями "Номенклатура","Контрагент","Склад". Вы ведь не делаете из него шесть регистров. Вы получаете продажи по Номенклатура+Контрагент, Номенклатура+Склад, Склад+Контрагент и т.д. все из одного регистра     | |||
| 659
    
        Kassern 13.08.21✎ 10:46 | 
        (658) Не путайте теплое с мягким. РН<>РС     | |||
| 660
    
        Йохохо 13.08.21✎ 10:48 | 
        (658) "Вы получаете продажи по Номенклатура+Контрагент" и чем период лучше склада? почему по нему надо вдруг взять максимум? в общем случае ничем.
 хранить итоги with rollaup забавно конечно было бы) | |||
| 661
    
        brainguard 13.08.21✎ 10:52 | 
        (659) (660) И там и там выполняется агрегирование. Просто разными способами     | |||
| 662
    
        fisher 13.08.21✎ 10:56 | 
        (616)(656) ЕМНИП, я встречал на инфостарте ГОТОВУЮ РЕАЛИЗАЦИЮ логов на концепции блокчейна. Еще в те времена, когда слово "блокчейн" только-только на слуху появилось.
 Но там это подавалось более вменяемо. Без мясорубки Бородина, как у ТС. Просто с целью контроля вмешательства админов. Без пересчетов - просто с функцией контроля целостности и обнаружения факта вмешательства. | |||
| 663
    
        brainguard 13.08.21✎ 11:01 | 
        (662) Интересно. Не найдете публикацию? Я в свое время искал все, что есть по теме, но то, о чем вы говорите не находил     | |||
| 664
    
        fisher 13.08.21✎ 11:03 | 
        (663) Навскидку не нахожу.     | |||
| 665
    
        brainguard 13.08.21✎ 11:05 | 
        (664) Ну ладно, тогда     | |||
| 666
    
        brainguard 16.08.21✎ 13:47 | 
        Обещанная статья здесь: https://habr.com/ru/post/572446/
 и здесь: https://brainguard.ru/page21448209.html | |||
| 667
    
        Вафель 16.08.21✎ 14:01 | 
        Уникальность даты - это что-то новое     | |||
| 668
    
        brainguard 16.08.21✎ 14:08 | 
        (667) Эйнштейн велит, ничего не поделаешь )))
 А если серьезно. А почему нет? Ну раньше байты экономили. Сейчас какие проблемы? | |||
| 669
    
        Пиняев 16.08.21✎ 14:37 | 
        (666) "Мой гений дарит вам" (с)     | |||
| 670
    
        Arbuz 16.08.21✎ 14:40 | 
        Это уже шизофрения, не?
 Но Вы не волнуйтесь, голубчик, она не лечится, а с годами только прогрессирует. (с) Для безопасности это неважно. (с) Неофитов только жаль немного, которым в голову это льют такие "преподаватели". Хотя по собственному опыту такие были всегда, по крайней мере 40 лет назад у меня, по итогу трудоёмкого снятия лапши, они вызывали оторопь от той чуши, которою на полном серьёзе и с чувством собственного превосходства выливали на ничего не подозревающих нас, под видом сакральной истины доступной их снисходительному гению. | |||
| 671
    
        Вафель 16.08.21✎ 14:44 | 
        (668) дата дискретна. и размер ограничен     | |||
| 672
    
        brainguard 16.08.21✎ 15:20 | 
        (671) В реальном мире дата континуальна. Конечно, любая модель будет дискретна. Но тут вопрос практический. 32 байта дают число сравнимое с количеством атомов в наблюдаемой вселенной. Если нам жаль 32 байтов, то давайте прикинем сколько у нас всего будет документов в информационной базе. Миллион? Миллиард? Триллион? Последнее влезает в 4 байта.     | |||
| 673
    
        brainguard 16.08.21✎ 15:20 | 
        (670) По существу есть что возразить?     | |||
| 674
    
        Вафель 16.08.21✎ 15:24 | 
        (672) вот поставил ты дату в конец дня и все далее уже ничего не записать     | |||
| 675
    
        Вафель 16.08.21✎ 15:26 | 
        (672) по твоей логике и секунды вполне хватает. что кто то цены устанавливает чаще чем раз  в секунду?     | |||
| 676
    
        brainguard 16.08.21✎ 15:28 | 
        (675) Да постоянно. У вас может быть куча документов на начало дня или на конец дня. Ни разу не сталкивались?     | |||
| 677
    
        Вафель 16.08.21✎ 15:29 | 
        (676) и как тогда уникальность даты обеспечивать?     | |||
| 678
    
        brainguard 16.08.21✎ 15:31 | 
        (674) Это как платформу спроектировать. Конец дня - это 23:59:59. Именно этим понятием оперирует разработчик. А дальше платформа сама впихивает в эту секунду документы один за другим. И, в принципе, может впихнуть хоть все     | |||
| 679
    
        brainguard 16.08.21✎ 15:32 | 
        (677) Ровно также, как обеспечивается уникальность всего прочего. Там нет никакой магии     | |||
| 680
    
        Вафель 16.08.21✎ 15:33 | 
        (678) а как порядком в этой секунде рулить тогда?     | |||
| 681
    
        brainguard 16.08.21✎ 15:35 | 
        (680) Что значит - рулить порядком?     | |||
| 682
    
        Raxla 17.08.21✎ 00:47 | 
        brainguard, вы несёте ахинею: вы не конфигурируете срез, тем что внутри скобочек прописываете значения измерений. Значения внутри скобочек это фильтр к уже готовому срезу, размерность которого равна размерности регистра и никак иначе. Таким образом, вы можете отфильтровать данные среза и только. Никаких срез эН измерений вам никто не обещал, просто довольствйтесь тем, что к срезу есть фильтр уменьшающий данные выборки.     | |||
| 683
    
        Raxla 17.08.21✎ 00:50 | 
        Вы серьёзно, хреначите 20 лет запросы, с пониманием ниже плинтуса предметной области и никто вам по рукам не дал?     | |||
| 684
    
        brainguard 17.08.21✎ 01:15 | 
        (682) Ничто не мешало разработчикам вместо того, чтобы делать никому не нужный срез первых, сделать нормальный срез последних. Всех делов-то правильную группировку задать, в соотвествии с выбранными измерениями     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |