Универсальная обработка - КонсольКода1С


Универсальная обработка - консоль кода для визуальной отладки пакетных (и не только) запросов и замена обработки УниверсальныйПодборИОбработкаОбъектов.

Основное назначение данной консоли:
 1. визуальная отладка запросов;
 2. замена обработки УниверсальныйПодборИОбработкаОбъектов.

1. Визуальная отладка запросов
 При разработке запроса немаловажно, особенно при освоении языка запросов,
видеть результат запроса. А именно - важно видеть результат действия различных
видов соединений, условий соединений, результат действия и взаимодействия
подзапросов, скорость выполнения запроса (в файловой базе и в серверной,
с пустым кэшем и с кэшированными данными) и проч.
 Эта важность усиливается при создании "многоэтажных" и многоуровневых
запросов (с глубиной вложенности подзапросов большей или равной 3)!

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

2. Замена обработки УниверсальныйПодборИОбработкаОбъектов.
 На мой (сугубо субъективный) взгляд, обработка
УниверсальныйПодборИОбработкаОбъектов хотя и называется универсальной,
таковой универсальностью обладает не в полной мере.
 Поясню:
  1. можно произвести обработку только документов или справочников или
   бизнес-процессов (причем именно ИЛИ);
  2. выбор необходимых объектов производится только по значению
   реквизитов этих объектов по условию И; т.е. отобрать объекты по
   более сложным условиям (хотя бы по условию ИЛИ) можно только
   программно, что достаточно сильно увеличивает время обработки
   выбранных объектов;
  3. при программном определении различных дополнительных значений
   приходится пользоваться не всегда надежными методами,
   такими как НайтиПоНомеру() или НайтиПоКоду();
  4. при обработке каждого объекта выборки производится получение
   объекта (методом ПолучитьОбъект()). Получение объекта производится
   даже в том случае, когда обработка объекта не требуется!
   А это в значительной степени увеличивает время обработки объектов.
 
 Данная разработка позволяет обойти все указанные (и многие другие) недостатки:
для отбора объектов можно использовать самый универсальный инструмент - запрос!
 Поясню:
  1. с помощью запроса можно получить весьма неординарную выборку из
   объектов различного типа;
  2. выбор объектов можно производить по условиям различной степени
   сложности; но даже если условия отбора объектов не могут быть
   описаны на языке запросов - есть возможность вывести необходимые
   реквизиты в результат запроса и обработать выборку программно!
   Время обработки выборки без вызова метода ПолучитьОбъект() будет
   зависеть только от оптимальности алгоритма программной обработки;
  3. различные дополнительные значения можно определить как параметры
   пакета или элемента и использовать их без вызова таких методов,
   как НайтиПоНомеру() или НайтиПоКоду();
  4. получение объекта обработки производится (явно) только при
   необходимости, что сокращает время обработки объектов.

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

 Уточнение: примеры не полные и показывают только часть возможностей консоли.

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

Файлы обработки:

-