Сергей

5078
Рейтинг
+1 за сутки

Сергей
ildarovich



  •   Регистрация: 19.04.2008 (9 лет назад)

  •   Был(а) на сайте: вчера в 17:37


Группы

Профессиональный разработчик

Рейтинг 5078

Простой способ индексирования интервалов 136

Программист v8 Абонемент ($m)

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

1 стартмани

28.09.2016    8801    28    15    

Простая и быстрая эмуляция операций с битовыми строками 59

Программист v8 Бесплатно (free)

Битовые строки могли бы упростить реализацию некоторых алгоритмов на языке платформы «1С: Предприятие 8». Но пока в платформе операций с битовыми строками нет. В то же время уже сделанные попытки смоделировать эти операции преобразованиями над числами опираются на циклы обработки отдельных битов, что плохо сказывается на скорости их работы. Предлагается новое простое решение, основанное на представлении битовых строк строками символов «0» и «1». Приводится примеры кода выполнения основных логических операций AND, OR, XOR, NO без использования циклов. В качестве прикладной задачи рассмотрено получение последовательных значений кода Грэя, который можно использовать для ускорения перебора вариантов.

22.06.2016    8236    0    14    

Настраиваемый генератор числовой последовательности для запроса 40

Программист v8 Бесплатно (free)

В большинстве широко известных решений для генерации числовой последовательности в запросе порядок длины последовательности должен быть определен при написании текста запроса. Это вызывает определенные трудности при его модификации. Предлагается решение, свободное от этого недостатка. Решение ориентировано на модификацию запроса с использованием объекта "схема запроса".

08.05.2016    6033    0    6    

Еще один способ расчета остатков на каждый день в запросе 118

Программист v8 Абонемент ($m)

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

1 стартмани

24.04.2016    11664    28    21    

Минимализмы 2 231

Программист v8 Бесплатно (free)

Следующая серия "минимализмов" [http://infostart.ru/public/306536/]. Также, как и в предыдущей статье, здесь приведена подборка коротких оригинальных решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

23.02.2016    20325    0    76    

Поиск пропусков в нумерации документов запросом 30

Администратор Программист Бухгалтер v8 1cv8.cf Абонемент ($m)

Предлагается отчет на основе системы компоновки данных для выявления нарушений последовательности нумерации документов. Применяются методы из статей "Выразить строку как число и строку как дату в запросе" [http://infostart.ru/public/170336/] и "Быстрое определение интервалов в запросе" [http://infostart.ru/public/402534/]. Это позволяет решить задачу быстро и непосредственно в запросе.

1 стартмани

24.12.2015    7277    21    7    

Быстрое определение интервалов в запросе 149

Программист v8 Абонемент ($m)

В статье описывается новый метод определения интервалов между данными различных записей в запросе. В отличие от общеизвестного метода, время работы предлагаемого метода зависит от объема данных ЛИНЕЙНО. Это обеспечивает ему значительный выигрыш по быстродействию на больших объемах данных. В качестве иллюстрации возможностей метода приведен отчет, показывающий гистограмму распределения времени между продажами.

1 стартмани

01.10.2015    16873    28    18    

Расчет хэш-функции в запросе 127

Программист v8 1cv8.cf Бесплатно (free)

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

20.03.2015    29377    0    39    

Выразить число как строку и дату как строку в запросе 224

Программист v8 1cv8.cf Бесплатно (free)

Предлагается новый и более компактный метод преобразования даты и числа в строку в запросе

22.02.2015    44087    0    36    

Лучшие методы сравнения таблиц значений 248

Программист v8 1cv8.cf Абонемент ($m)

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

1 стартмани

02.02.2015    40094    35    42    

Минимализмы 487

Программист v8 1cv8.cf Бесплатно (free)

Приводится подборка кратчайших решений некоторых задач. Ранее эти решения были разбросаны по комментариям к чужим публикациям.

08.10.2014    42648    0    78    

Расчет вероятностей запросом 57

Программист v8 1cv8.cf Абонемент ($m)

Предлагается метод расчета вероятностей сложных событий с использованием языка запросов. Метод иллюстрируется примерами решения трех задач: расчет вероятности сдачи теста «1С: Профессионал», расчет вероятности отказа дискового массива RAID-10, расчет вероятности критического превышения сроков выполнения проекта. Все описанные решения можно протестировать с помощью прилагаемого отчета.

1 стартмани

20.09.2014    9936    4    8    

Запрос – комбинатор 43

Программист v8 Абонемент ($m)

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

1 стартмани

07.08.2014    11591    20    16    

КопиПастаМер 129

Программист v8 1cv8.cf Абонемент ($m)

Предлагается отчет, который за приемлемое время находит и показывает ВСЕ повторяющиеся фрагменты в текстах программных модулей анализируемой конфигурации. Приводятся подробности реализации отчета, основанного на алгоритме Манбера и Майерса построения суффиксного массива и на алгоритме Касаи построения LCP-массива. В данной реализации поиск повторов ведется до уровня строк. Отчет можно применять для определения повторяющихся последовательностей строк и в любых других текстах.

1 стартмани

30.07.2014    17831    135    71    

Компаратор оборотов в информационных базах 53

v8 1cv8.cf Абонемент ($m)

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

1 стартмани

04.05.2014    11682    123    37    

Наш ответ американским лекторам 40

Программист v8 1cv8.cf Абонемент ($m)

Это спойлер к замечательной публикации «Алгоритмы. Часть 1.1. Динамические соединения». Здесь описывается гораздо более быстрый способ решения задачи динамического связывания при отсутствии ограничений на используемые структуры данных

1 стартмани

11.04.2014    11550    7    36    

Определение кратчайших путей, критических путей одним запросом 91

Программист v8 1cv8.cf Абонемент ($m)

Еще два примера применения алгоритма каскадного матричного умножения, впервые описанного в статье «Транзитивное замыкание запросом» http://infostart.ru/public/158512/

1 стартмани

07.04.2014    18650    53    30    

Будни автоматизации или "мне нужна программка для 3D упаковки" 148

Программист v8 1cv8.cf УУ Оптовая торговля Бесплатно (free)

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

24.03.2014    22617    0    113    

Неоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали 195

Программист v8 v8::СКД КА1 УТ10 УПП1 УУ Дебиторская и кредиторская задолженность Абонемент ($m)

Предлагается метод для быстрого нахождения неоплаченных долгов при распределении оплаты по правилу ФИФО, основанный на дихотомии. Описывается реализация метода в виде достаточно простого запроса, решающего за линейное время указанную задачу, считавшуюся ранее существенно более трудоемкой. Приводятся примеры использования запроса в отчетах на СКД для конфигураций УТ, КА, УПП.

1 стартмани

28.02.2014    33395    550    86    

"Возраст" остатков номенклатуры 16

Аналитик v8 УТ10 УПП1 УУ Оптовая торговля Учет ТМЦ Абонемент ($m)

Отчет показывает остатки номенклатуры с дополнительным делением по длительности нахождения ("возрасту") номенклатуры на складе. Отчет построен на основе СКД и предназначен для конфигураций, содержащих регистр накопления "ТоварыНаСкладах" (УТ10.3, УПП 1.3 и т.п.).

1 стартмани

27.01.2014    10845    125    6    

Баттерфляй - метод быстрого расчета нарастающего итога в запросе 189

Программист Абонемент ($m)

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

1 стартмани

20.09.2013    36026    75    47    

Агрегатное суммирование строк в запросе – сложно, но не невозможно 94

Программист v8 Абонемент ($m)

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

1 стартмани

09.09.2013    36669    38    53    

Рефакторинг без тормозов (десять приемов в одной задаче) 43

Программист v8 Абонемент ($m)

На примере рефакторинга одной простой функции показаны приемы преобразования текста программы на языке 1С, которые можно использовать при улучшении кода.

1 стартмани

06.09.2013    10166    2    50    

Как нарисовать граф на 1С 327

Программист v8 Абонемент ($m)

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

1 стартмани

09.08.2013    35066    434    108    

Выразить строку как число и строку как дату в запросе 204

Программист v8 1cv8.cf Абонемент ($m)

Приведены и прокомментированы запросы, помогающие решать указанные задачи в составе пакетных запросов. Отличием от других известных решений является простая структура, относительная компактность, высокие быстродействие и устойчивость к ошибкам исходных данных. Применяется техника искусственных таблиц, изначально упомянутая в статье "Порождающий запрос" [http://infostart.ru/public/90367/].

1 стартмани

24.01.2013    47050    79    51    

Новый запрос и новая таблица значений как функции 147

Программист v8 Абонемент ($m)

Предлагается две простые функции, использование которых уменьшает объем кода в конфигурациях на платформе «1С:Предприятие 8». Эти функции можно добавлять к своему общему модулю, что сделает процесс программирования более эффективным.

1 стартмани

27.11.2012    22747    38    46    

Опять двойка! 54

Программист Абонемент ($m)

Продолжение тем, связанных с использованием степеней двойки «Порождающий запрос» [http://infostart.ru/public/90367/], «Транзитивное замыкание запросом» [http://infostart.ru/public/158512/]. На этот раз речь пойдет об операциях со строками.

1 стартмани

26.11.2012    15863    10    30    

Уровни, глубина, прародители, циклы и аналоги запросом 315

Программист v8 1cv8.cf Абонемент ($m)

В продолжение публикации «Транзитивное замыкание запросом» [http://infostart.ru/public/158512/] добавлены другие варианты использования того же приема. Приведены запросы для быстрого определения уровней всех элементов справочника, максимальной глубины справочника, прародителей произвольных элементов справочника, запрос для быстрого определения циклов (на примере справочника спецификаций «1С:Управление производственным предприятием») и определения множеств аналогов номенклатуры (также на примере конфигурации «1С:Управление производственным предприятием»).

1 стартмани

13.11.2012    63456    254    92    

Транзитивное замыкание запросом 255

Программист v8 1cv8.cf Абонемент ($m)

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

1 стартмани

29.10.2012    43608    155    101    

Расчет средних по периодам в запросе - это элементарно! 129

Программист v8 1cv8.cf Россия Абонемент ($m)

Распространено мнение, что расчет средних по периодам в запросе - это сложно. В статье приводится прием, позволяющий опровергнуть это заблуждение. Приводится описание метода, его обоснование и ограничения использования. Как примеры прилагаются два практичных отчета на СКД: для расчета среднедневных остатков товаров и для расчета среднедневной задолжности контрагентов. Отчеты созданы на платформе 8.1 для конфигурации УТ10.3 .

1 стартмани

29.09.2011    33050    141    31    

Игра "Жизнь" в одном запросе 81

Программист v8 1cv8.cf Россия Абонемент ($m)

В статье приводится запрос, одного которого достаточно, чтобы реализовать всю механику игры "Жизнь" (http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) на бесконечном поле. Запрос основан на технике искусственных таблиц, применяемой также в примерах из http://infostart.ru/public/90367/. Приведен отчет-игра "Эволюция", реализующий игровой процесс на основе рассматриваемого запроса. Отчет не привязан к метаданным и должен работать в любой конфигурации.

1 стартмани

24.09.2011    8999    71    12    

Порождающий запрос 231

Программист v8 1cv8.cf Абонемент ($m)

Иногда в запросе необходимо получить искусственную таблицу заданного размера, не связанную с данными информационной базы. Эта получаемая «из воздуха» таблица может быть заполнена, например, числами натурального ряда или функционально связанными с ними значениями. Такая таблица может пригодится как временная таблица в запросе для соединения с реальными таблицами. Другой вариант – быстрое получение таблиц значений заданного размера, списков, массивов и прочее. В последних версиях MS-SQL есть возможности непроцедурной генерации таблиц посредством специального «итеративного» описания. Ну а для 1С пригодится следующее решение:

1 стартмани

15.09.2011    35967    142    85    

Эффективная обработка данных в оперативной памяти за счет использования коллекции "соответствие" 222

Программист v8 1cv8.cf Россия Абонемент ($m)

Разработчики, перешедшие с 7-ки на 8-ку по привычке продолжают использовать универсальные коллекции "список значений", "таблица значений" в задачах, которые в 8-ке существенно быстрее решаются с использованием новой коллекции "соответствие". Эта статья для тех, кто еще не оценил всех преимуществ новой структуры данных. Статья позволит создавать Вам максимально быстрые программы. Приведено несколько примеров, в том числе, решение для задач на графах.

1 стартмани

11.12.2010    26888    228    38    

Как не «попасть на миллион», решая задачу разузлования 44

Программист v8 1cv8.cf Россия Абонемент ($m)

Часто, столкнувшись с долгим временем выполнения какого-либо фрагмента кода, мы начинаем искать технологические программные решения: переносить вычисления в СУБД, либо в оперативную память, устранять неявные запросы в циклах, применять другие известные приемы оптимизации или просто ругать платформу. Хотя на самом деле проблема может быть всего лишь в неверно выбранном алгоритме. В статье рассказывается об одном таком случае, возникшем при решении задачи «разузлования». Надеюсь, прочитав эту статью и ознакомившись с текстом варианта программы, построенной по давно известному алгоритму, Вы избежите подобных ошибок. Тем более программа получилась совсем небольшой.

1 стартмани

21.11.2010    16614    170    52    

Еще один взгляд на проблему «жизнь без последовательностей». Часть вторая (практическая) 61

Программист v8 КА1 БП2.0 УТ10 Розница УПП1 УНФ Россия Абонемент ($m)

В [1 - http://infostart.ru/public/62938/] был предложен метод корректировки списаний по партиям при изменении документов задним числом. Использование данного метода позволяет контролировать остатки при неоперативном проведении и поддерживать учет по партиям всегда в актуальном состоянии, то есть обходиться без механизма последовательности документов. Собственно метод заключался в решении задачи правильного списания по партиям как задачи линейного программирования. В доказательство работоспособности метода приводится следующая «каркасная» конфигурация «Полигон», в которой этот метод реализован.

1 стартмани

19.08.2010    13577    163    35    

Отбор по ОКАТО для ЗУП для документа "Сведения о доходах физлиц" 8

v8 ЗУП2.5 Зарплата Абонемент ($m)

Эта микрообработка оставляет в табличной части документа "Сведения о доходах физлиц" только физлиц с выбранным ОКАТО. Подключается как внешняя обработка заполнения табличных частей.

1 стартмани

10.02.2010    8739    81    8    

Еще один взгляд на проблему "жизнь без последовательностей" 20

Россия Бесплатно (free)

Предлагаю свой взгляд на решение проблемы "документы без последовательности". Решение навеяно обсуждениями http://infostart.ru/public/62785/ и http://infostart.ru/forum/forum11/topic28666/. Даже попытался описать его там (152). Теперь думаю, что оно может быть опубликовано и самостоятельно. Я считаю это решение теоретически исчерпывающим и готовым к практическому воплощению, а что скажете Вы?

21.12.2009    8069    0    23    

Бухгалтерские проводки в программе "Управление торговлей" 32

Бухгалтер v8 УТ10 Россия БУ Абонемент ($m)

При внедрении связки УТ и БП часто приходится слышать вопрос пользователей УТ: "Где можно посмотреть бухгалтерские проводки?". Выслушав объяснения, что теперь проводки только в БП, пользователи делают простой вывод: "В УТ нет проводок! Нам недодали! В ТиС77 проводки были!". В этом свете крутизна УТ несколько меркнет. Однако в случае обмена УТ и БП через прямое подключение существует простой выход: получить проводки из БП через COM-соединение. При автоматическом обмене это выглядит особенно эффектно. Пользователи просто видят проводки там, где хотели! Прилагаемая внешняя печатная форма реализует предложенный подход.

1 стартмани

03.10.2009    12721    276    14    

Комментарии

DevВыразить число как строку и дату как строку в запросе#35 15.06.17 13:57
(34) Конечно, у "добавить к дате" есть ограничения на величину параметров. И &Число * 6000 не может быть слишком большим. Можно проверить, ограничение порядка 2^32, то есть четырехбайтовое целое.

Это ограничение приведенного приема.

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

СтаршаяЧасть = ВЫРАЗИТЬ(&Число / 10000000, КАК Число(15, 0));
МладшаяЧасть = &Число - СтаршаяЧасть * 10000000.

Об этом написано в самой статье
Цитата
Ограничением рассмотренного подхода является максимальное число секунд при работе с датами. Оно таково, что мы можем выделить не более 10-ти десятичных знаков в числе. Если число значащих знаков больше, исходное число потребуется предварительно разделить на две части «обычным» способом с использованием операции ВЫРАЗИТЬ КАК.
DevНеоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали#86 25.05.17 14:50
(84) + (85) Скачал отчеты, посмотрел как в них. Все оказалось гораздо проще. Оказалось, что в статье по сравнению с отчетом не хватает условия
Код
ГДЕ
   Обороты.СуммаВзаиморасчетовОборот > 0
То есть условие было просто пропущено не в обработках, а именно в статье.
Исправил теперь в статье, учел комментарий (67) про точность в статье и в обработках.
DevНеоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали#85 25.05.17 13:17
(84) Сейчас отвечу наспех, по тексту в статье, не заглядывая в текст отчета в обработке. Наверное, вы правы. Видимо, о том же было замечание в (20). Учитывая еще (67), концовку действительно следует переписать. Но умозрительно кажется, что указанная вами неточность, должна приводить не к искажению суммы долга в строке, а к появлению в выдаче лишних строк с отрицательным долгом, которые легко убрать настройками в СКД.
Вспоминая свои тогдашние размышления, хотел для статьи написать запрос покороче, без лишних временных таблиц. А так, конечно, до временной таблицы Обороты нужно получить таблицу оборотов с регистратором, которую затем соединять с таблицей Шаг0.
ToolsАнализ данных и прогнозирование#8 12.05.17 16:51
(7) А тема какая, кто руководитель? Можете в личном сообщении ответить. Мне действительно интересно.

Но по сути вопроса вряд ли стоит ожидать найти точную информацию, кроме страниц 101-121 во втором томе двухтомника [Профессиональная разработка в системе "1С:Предприятие": в 2 т. / 2-е изд. - М.: 1С-Паблишинг, 2012].
Думаю, и разработчики вряд ли будут раскрывать особенности реализации методов, кроме описанных в документации, оставляя себе возможности их модернизации.

Вообще интересно было бы узнать востребованность этих механизмов платформы. По моим представлениям, она незначительная. Можно предположить, что свою роль в том, что эти механизмы были реализованы в платформе задолго до открытия "цифровой нефти" и дата-майнинга, сыграло "статистическое прошлое" Б. Г. Нуралиева.

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

Прикрепленные файлы:

merged.pdf
ToolsАнализ данных и прогнозирование#6 11.05.17 23:07
А можно узнать причину этого любопытства?

- Сначала все же лучше заглянуть в документацию, набор параметров достаточно характеризует метод решения, чтобы затем можно было хотя бы в Википедию посмотреть. В двухтомнике по платформе есть соответствующая глава.
DevРабота с диапазоном чисел#4 03.04.17 11:58
Вот тут Минимализмы (Задача 2) есть готовая функция для решения этой задачи.
DevОптимизация запроса#37 06.03.17 11:12
(33) Пока нет времени самому попробовать.
Но вот информация, про которую говорилось в (32):
Цитата
В запросе к внешнему источнику данных возможно использование временных таблиц. При этом производится попытка создания временной таблицы непосредственно в базе данных, связанной с внешним источником данных. Если СУБД не поддерживает создание внешних источников данных – будет вызвано исключение. Имя временной таблице, при обращении к ней, формируется следующим образом:
ВнешнийИсточникДанных.<Имя внешнего источника данных>.ВременнаяТаблица.<Имя временной таблицы>
Пример:
ВЫБРАТЬ Name, ProductID
ПОМЕСТИТЬ ВнешнийИсточникДанных.AdventureWorks.ВременнаяТаблица.Остатки
ИЗ &ТаблицаЗначений
ВЫБРАТЬ Name, ProductID
ПОМЕСТИТЬ ВнешнийИсточникДанных.AdventureWorks.ВременнаяТаблица.Остатки
ИЗ ВнешнийИсточникДанных.AdventureWorks.Таблица.Production_Balance
Это вот отсюда:http://its.1c.ru/db/v837doc#bookmark:dev:TI000000870 . То есть появилось в версии 8.3.7.
Кстати, предложение из (25) как альтернативу "олимпийскому" методу тоже можно использовать. Его проблема - это необходимость выбора размера "окна", но она решаемая. Но все же думаю, что олимпийский метод будет побыстрее.
Еще есть вот такой вариант:
Код
ВЫБРАТЬ РАЗЛИЧНЫЕ
    Т1.Ч КАК НачалоИнтервала,
    Т2.Ч КАК КонецИнтервала
ПОМЕСТИТЬ Темп
ИЗ
    БазоваяТаблица КАК Т1
     ВНУТРЕННЕЕ СОЕДИНЕНИЕ БазоваяТаблица КАК Т2
     ПО Т1.Ч < Т2.Ч
        И (Т2.Ч В
            (ВЫБРАТЬ МИНИМУМ(ВНЗ.Ч)
             ИЗ БазоваяТаблица КАК ВНЗ
             ГДЕ Т1.Ч < ВНЗ.Ч))
из статьи Опять эти запросы... (Задача 5). В определенных случаях, как видно из результатов, приведенных в статье и соответствующего плана запроса, он очень эффективен.
DevОптимизация запроса#32 05.03.17 23:35
(30) Есть новая информация по внешнему источнику данных. Возможно, все и получится. А какая там СУБД? Хочу сам сначала попробовать, чтобы зря не обнадеживать.
DevОптимизация запроса#22 04.03.17 0:42
(21) А время указано "чистое" или с учетом записи в регистр? А записи по одной добавлялись или сразу всем набором?
Хотя зависимость линейная, но все же время для миллиона записей кажется слишком большим.

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

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