Как стать автором
Обновить
4
0
Сергей @Ildarovich

Пользователь

Отправить сообщение

Буквально на днях тут была статья https://habr.com/ru/companies/itglobalcom/articles/768482/ в которой меньше абстрактной философии и больше конкретики.

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

Непонятно, как построена картинка с полем, что отложено по осям, каковы величины поля (не приведена легенда). Это желательно перепроверить. Там закон Кулона - школьная физика.

После этого нужно посмотреть, есть ли средства, позволяющие это поле как-то замерить.

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

Резонанс, как я понял, там из-за того, что эквивалентная схема такой системы - колебательный контур, где роль конденсатора играют изолированные друг от друга спиральные проводники.

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

Отсюда и рассуждения о том, что в напечатанном виде эта катушка эффекта не производит. То есть все дело в неточностях укладки проводников в спираль? Как ее смоделировать? Получается, что чем неаккуратнее изготовлена катушка, тем лучше она работает?

Ну, а когда мы попытаемся обнаружить и измерить это поле датчиками, придется считаться с тем, что действие электрического поля экранируется очень многими материалами, которые нас окружают и вряд-ли проникает глубже поверхности кожи.

Слова про стоячую волну и поворот поля вообще трудно принимать всерьез. Тут длина волны 1000 метров. Это совсем про другие частоты.

Все эти размышления приводят меня к хорошему и оптимистическому выводу: с такой катушкой прибор должен быть абсолютно безвреден.

Это не последние записи, но это записи виртуального регистра срез последних "цены поставщиков". В термине срез последних вы забываете слово "срез". А это важно...

Зайдем с другой стороны.

Есть запрос

ВЫБРАТЬ Поставщик, Номенклатура, Цена ИЗ ВТ

И запрос к той же таблице

ВЫБРАТЬ Номенклатура, Цена ИЗ ВТ

Вы наивно ожидаете, что они вернут разное количество записей?

Почему вы ожидаете того же самого от запросов

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

и

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

Срез последних - это состояние дел на сейчас, проекция всех изменений на настоящее время, state of art. Очень полезный виртуальный регистр. С опциональной возможностью материализации. С ходу по последнему запросу могу предложить больше десятка сценариев обработки его результатов: определить максимальную, минимальную, среднюю, медианную цену каждого товара "на сейчас", самый дорогой, дешевый, самый волатильный товар "на данный момент", товар с самой старой, самой молодой, с прошлогодней ценой (если период как в статье еще будет), всякие топы, кластеры, самый распространенный, самый экзотический товар и т.п.

А вы по своей желаемой выхолощенной таблице сможете все это определить? Сколько пользовательских сценариев поддержит это только вашим очам видное решение?

В общем логос в данной риторике пора заканчивать, попробуем пафос:

Есть анекдот: "Шеф, в вашем районе один ненормальный едет навстречу движению! Шеф: Какой один? - Их тут сотни!"

Так вот, вопрос: С каким из героев данного анекдота вы себя ассоциируете?

"...в соответствии с названием, мы ожидаем..."

Мне кажется, имеет место семантическое когнитивное искажение. Оно заключается в тенденции полагать, что знаешь значение слова, хотя на самом деле знаешь лишь область его применения и употребления.

"Срез последних".

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

"Срез последних значений". Смысл несколько меняется. - Не находите?

Надеюсь, слово "последние" мы понимаем одинаково.

А вот слово "срез"? Вы, наверное, считаете: "отрезанный кусок". - Но тогда лучше было бы "набор" (часто встречается в документации, не добавляет лишних сущностей). А я считаю: состояние в определённый момент развития, движения. Ну, или "Место, по которому что-л. срезано; // Круто обрывающаяся поверхность с обнажившимися пластами почвы, горной породы".

В общем, читай медленно, пиши быстро, как говорит пример классика русского языка.

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

Ну и, кстати, в данном случае, лично я защищаю не разработчиков, а свое понимание работы этого механизма.

Стараюсь вас понять...

Кажется, назвав таблицу с датой документом, вы упростили себе понимание и объяснение понятие документа другим людям. А затем уже зафиксировали это в голове и не стали переосмысливать. Суть понятия "документ" от этого потерялась. И то, зачем, кроме документа, еще и регистр сведений, тоже.

Далее, в названии "регистр накопления" слово "накопление" вы поняли буквально. Считая, что накопление идет по измерениям. А оно относится только ко времени. Если группировки по измерениям не будет или оно будет выполняться другим агрегатом, от этого регистр не перестанет быть регистром накопления. Это обычный "интегратор" - деталь многих систем управления.

Далее, результат запроса к виртуальному регистру "срез последних" вы смешали с собственно со способом представления виртуального регистра в базе данных, который можно материализовать и который должен соответствовать ограничениям. От этого вопросы про теорию баз данных.

Тема интересная. Надеюсь когда-нибудь поподробнее узнать ход мыслей и резоны разработчиков платформы непосредственно от действующих лиц, хотя многое уже сейчас можно почерпнуть из двухтомника по платформе. А домыслы, приведенные в статье, мне кажутся очень поверхностными или просто неверными.

Начиная с того, что такое документ и регистр.

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

Тогда документ необходим для фиксации событий (мгновенного изменения состояния) системы. Время документа - момент события. Его реквизиты - "обстоятельства" события.

Собственно состояние фиксируется в регистрах. При проведении документа. Тут имеет место денормализация, которая делается намеренно. Потому, что события могут быть разнородными. Регистр - это "общий знаменатель" - хранилище результата разнородных событий.

Регистры накопления и регистры сведений с этой точки зрения различаются мало. В одних (накопления) фиксируется величина изменения параметра. В других (сведений) - фиксируется значение параметра после изменения.

Выбор делается исходя из того есть ли в реальности возможность зафиксировать все изменения или нет. Контролируется ли граница? В бассейне (на огороженном складе) можно поставить датчики прихода и расхода. Используем регистр накопления. В озере (на производстве) фиксируем уровень воды (инвентаризируем остатки незавершенного производства) - используем регистр сведений. Что удобнее или эффективнее, если удается посчитать, на усмотрение модельера. Есть и взаимно-однозначное преобразование.

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

Для регистров сведений эта группировка имеет смысл еще реже. Вот ее и не сделали. Из экономии, чтобы зря не считать то, что редко кому нужно и зря не выбрасывать из результата запроса нужные данные.

Если представить данные регистра сведений как экран многоканального осциллографа, то срез последних (состояние на заданный момент) вернет логичное количество строк, даже при пропущенном измерении "поставщик" в запросе.

Как в дизайне регистров сведений нарушается теория баз данных я тоже не понял. Прочитал еще раз главу 23 Дейта (про хронологические базы данных). Вроде бы все по канонам (полу-хронологическое представление).

Конечно, изначально стройная концепция справочники-документы-регистры разработчиками прикладных решений часто вынужденно размывается, но это совсем другой разговор. Не про велосипед, а про более сложные вещи.

Исследовал в свое время этот вопрос. Довольно давно, но не думаю, что что-то сильно изменилось. Некоторые результаты вот в этой статье: infostart.ru/public/294285. Правда, там основной акцент сделан на разработке инструмента для измерения копипаста — «копипастомера», но результаты тоже озвучены.
Коротко говоря, копипаста много.
Вот здесь (Простой способ индексирования интервалов) описан, на мой взгляд, «полезный нетривиальный алгоритм работы с отрезками для решения бизнес-задач».
Вот статья 2011 года: Игра «Жизнь» в одном запросе,
где та же задача решена на языке запросов платформы 1С: Предприятие,
который по сути — тот же SQL.
Запрос там поместился на восьми строчках:
ВЫБРАТЬ Клетки.Х, Клетки.У ПОМЕСТИТЬ Популяция ИЗ &Популяция КАК Клетки
;
ВЫБРАТЬ -1 КАК Шаг ПОМЕСТИТЬ Дельта ОБЪЕДИНИТЬ ВЫБРАТЬ 0 ОБЪЕДИНИТЬ ВЫБРАТЬ 1
;
ВЫБРАТЬ Х + Вправо.Шаг КАК Х, У + Вниз.Шаг КАК У
ИЗ Популяция, Дельта КАК Вправо, Дельта КАК Вниз
СГРУППИРОВАТЬ ПО Х + Вправо.Шаг, У + Вниз.Шаг
ИМЕЮЩИЕ СУММА(ВЫБОР КОГДА Вправо.Шаг = 0 И Вниз.Шаг = 0 ТОГДА 9 ИНАЧЕ 1 КОНЕЦ) В (3, 11, 12)

Или на английском:
SELECT Клетки.Х AS Х, Клетки.У AS У INTO Популяция FROM &Популяция AS Клетки
;
SELECT -1 AS Шаг INTO Дельта UNION SELECT 0 UNION SELECT 1
;
SELECT Популяция.Х + Вправо.Шаг AS Х, Популяция.У + Вниз.Шаг AS У
FROM Популяция AS Популяция, Дельта AS Вправо, Дельта AS Вниз
GROUP BY Популяция.Х + Вправо.Шаг, Популяция.У + Вниз.Шаг
HAVING SUM(CASE WHEN Вправо.Шаг = 0 AND Вниз.Шаг = 0 THEN 9 ELSE 1 END) IN (3, 11, 12)
В свое время нашел неожиданное для себя применение коду Грэя при создании варианта пространственного индекса: infostart.ru/public/551583. Спасибо за статью — она пояснила мне полученный тогда эффект с новой стороны. Еще про октадеревья нужно будет подумать.
Я видел. Руководитель направления не производит впечатления клиенто-ориентированного человека, хотя хорошо эрудирован и выступать умеет. По мнению директора Камина — его антипода (с точки зрения клиенто-ориентированности), 1С сделала ошибку с выбором системы, когда давным давно ее покупала. На рынке тогда были более сильные игроки и более качественные системы. Отсюда ошибка с выбором расчетной модели в 77 и правильных абстракций, которые перетекли в восьмерку и до сих пор сказываются. То есть я считаю, что тут дело не только в разработчиках (они добавляют), но и в платформе (в части «регистров периодических расчетов»).
Не понимаю, как вас туда занесло, это худший ресурс для обсуждения 1С, который я когда либо видел. Там действует отрицательный отбор и он дал результаты. Где-то здесь был интересный, построенный чуть ли не на биг-дате анализ причин этой ситуации. Перестал туда заходить — психологически некомфортно. За вашими разработками слежу по этому ресурсу. Это правильное место для их обсуждения. Только нужно, видимо, на более мелкие части делить статьи — слишком длинное обсуждение получается.
Мне пришлось разбираться с конфигурацией в которой почти не было «Документов» и все было сделано на «Бизнес процессах»
— Интересная тема для меня. Это было тиражное решение (название не помните)? Какая предметная область? Проблемы только в том, что трудно въехать или еще что-то?
Меня это интересует с той стороны, что все известные мне «убийцы 1С» эксплуатируют один и тот же набор «справочник-документ-регистр», не пытаясь выйти за его рамки. И я вот думаю: почему?
1с пока что не имеет в своем арсенале оптимальных модулей календарного планирования для сложных изделий и многооперационных техпроцессов
Занимаюсь данной темой, сомневаюсь, что возможно типовое решение, а тем более, что оно должно быть в платформе.
Не согласен.
На вашем рисунке в случае 2 делимый интервал должен начинаться не в 0, а в Тmin. И тогда также получится три кластера.
Под 0 подразумевалось начало «островка».
Не думал, что это вызовет спор.
Нужно было написать еще Т = Тmах — Tmin для полной определенности.

А как вы меня поняли, то вообще имеете ввиду не алгоритм, а простейшую формулу
ДатаПартииНовая = Цел (ДатаПартии / С) * С,
в которой будут случаи, где из-за регулярной сетки партий слева от островка и справа от него иногда будет пустое место, которое вместе составит целый кластер. И, сместив, начало первого кластера, можно будет один сэкономить. Вероятность этого можно посчитать, она небольшая, но есть. Поэтому алгоритм немного лучше, чем формула, но я ее и не предлагал.
В целом я просто хотел сказать, что никакой сложной математики в этой части задачи нет. Математика элементарная. И упоминать кластеризацию, теорию графов, задачу о минимальных покрытиях было, по моему мнению, не нужно.

А вообще выход видится в уникальных штрих-кодах на каждую единицу продукции. Такая этикетка и даст нужную прослеживаемость. А эмуляция маленькой бумажной этикетки партии целой складской ячейкой и приводит к затратам на компрессию, в ходе которой прослеживаемость исчезает чуть ли не полностью. Жалко, когда математика служит неправильно поставленным целям «разработать алгоритм, который будет методично все сваливать в кучи».
Могу ошибаться, но предположу, что задача классифицирована неправильно.
По-моему, это занимательная «математическая» задача, но не более того.
Ведь если изобразить партии на временной оси (0, T), то, если там нет пропусков длиной более C, тогда минимальное число партий ВСЕГДА будет ] T / С [, то есть ближайшее сверху целое от деления размера интервала между первой и последней партией на «масштабный коэффициент» С.
Если промежутки есть, то к каждому разделенному промежутками «островку» применяется та же формула, определяющая число партий.
То есть минимальное число партий однозначно определяется простой формулой. Из нее же следует очевидный алгоритм разбиения на партии. Для реализации которого и 1С будет достаточно (даже запросом можно обойтись).
Некоторая вариативность просматривается в мелком движении границ партий, если до ближайшего сверху есть зазор ] T / С [ — T / С. Но на число партий это не повлияет.
А еще легче было бы вообще помечать партии не днем, а месяцем выпуска. В итоге бизнес-результат, думаю, был бы тем же.
А вот если бы декомпозиции на две задачи: «укрупнение партий» и «компрессия ячеек» не было, то задача в целом была бы поинтереснее.
Итерационные алгоритмы практичнее, они эффективны по памяти и работают на больших и очень больших (разреженных) матрицах. Гаусс не выдерживает большого количества переменных. Крамер тем более. Управлять погрешностями тоже непросто. Сложнее распараллеливается. Так что правильнее говорить: «почему НЕ Гаусс?».
Отличное исследование, поздравляю! Результаты и их интерпретация совпадают с субъективными ощущениями.
Не знаю, насколько это сложно, но на этом наборе данных, наверное, можно было бы определить пол, возраст, образование, место проживания, происхождение, службу в армии, род занятий и прочие данные профиля участника форума и построить зависимость позиции по конкретным вопросам (вера в лунный заговор, например).
Еще интересная задача — по триграммам дубликаты аккаунтов попытаться определить.
Лично меня позиция сторонников теории лунного заговора задевает за живое. Эмоционально. Возможно, потому, что с детства увлечен космонавтикой, благодаря чему не один год проработал на Байконуре, общался со многими специалистами из космической отрасли, видел живьем циклопические сооружения типа стартового комплекса Энергии, Протона, Зенита, Союза, сами ракеты, пуски, обломки Н-1 и прочее. Сомнений в возможностях специалистов решить задачу такого уровня сложности как организация полета человека на Луну при наличии соответствующих ресурсов у меня нет. Но, сохраняя хладнокровие, считаю, что автор данной статьи поддается эмоциям и делает ошибку, вступая в эту полемику. Попытаюсь объяснить, почему.
Для меня полет американцев на луну является научным фактом. В широком смысле. Он состоялся и лег кирпичиком (или большой глыбой — кому как нравится) в здание современной науки. Официальной науки. С научными журналами, редколлегиями, исследовательскими центрами, лабораториями, книгами и энциклопедиями. Организация науки основана на сложившемся порядке отбора и признания авторитетов отдельных экспертов в своих узких предметных областях. Эта организация доказала свою эффективность. По крайней мере, в двадцатом веке.
Поэтому, объективно говоря, Попов и автор играют каждый на чужом для себя поле, если утверждаемые или разоблачаемые ими тезисы не относятся к их области научных интересов. Где их авторитет действительно признан. А забежать на минуточку, часок, денек в чужую лабораторию и высказаться, что тут занимаются ерундой или, наоборот, делают все правильно — это дилетантизм, профанация.
Кстати, думаю, психология даст не одно объяснение феномена «поповщины». Потому что приходилось встречаться с похожими докторами наук, опровергающими, например, теорию относительности.
Ну а мой микро-рецепт борьбы с этим невежеством такой: понимая, что этот вопрос вряд ли будет включен в ЕГЭ, я просто задаю его в числе прочих на собеседовании при приеме на работу.

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность