Обработка "Универсальные подбор и обработка объектов" предназначена для поиска объектов в справочниках и документах по произвольному условию и дальнейшей обработки найденных объектов.
Для подбора объектов необходимо в поле выбора "Объект поиска"] выбрать искомый объект, задать необходимые условия поиска в табличном поле на закладке "Отбор по значениям реквизитов" и нажать кнопку "Найти объекты". Кнопка "Найти объекты" так же доступка на закладке "Найденные объекты".
Для поиска по строке во всех строковых полях объекта необходимо ввести искомую строку в поле ввода "Строка поиска" на закладке "Отбор по значениям реквизитов" и нажать кнопку "Найти объекты" (клавиша F9). При этом будут учтены и все условия, заданные в табличном поле.
Результат поиска выводится в табличное поле, расположенное на закладке "Найденные объекты". При двойном щелчке мыши или нажатии Enter в строке табличного поля открывается форма редактирования выбранного объекта. Для включения объекта в обработку необходимо включить флажок в соответствующей строке.
Для подробной настройки выводимой информации (настройка выводимых полей, порядок вывода) можно использовать форму настроек вывода, которая вызывается нажатием на кнопку "Настройки" на закладках "Отбор по значениям реквизитов" или "Найденные объекты".
Для обработки объектов необходимо перейти на закладку "Обработки".
В дереве "Доступные обработки" на первом уровне отображаются все доступные обработки. При двойном щелчке мыши или нажатии Enter на первом уровне дерева доступных обработок открывается форма новой настройки обработки с возможностью сохранения текущей настройки (кнопка "Сохранить настройку") и непосредственного выполнения обработки (кнопка "Выполнить"). Настройки обработок отображаются на втором уровне дерева доступных обработок. При добавлении новой строки создается новая настройка обработки, которую в дальнейшем можно изменять, удалять, копировать и выбирать для выполения. Сохранение и добавление настроек возможно только для обработок, в которых предусмотрена и необходима пользовательская настройка.
В табличном поле "Выбранные обработки" отображаются настройки доступных обработок, участвующие в групповой обработке объектов. Заполнение списка осуществляется выбором настройки в дереве доступных обработок и нажатаем кнопки "Добавить настройку в выбранные обработки". Для добавления обработки, не предусматривающей пользовательских натроек, необходимо при добавлении выбирать непосредственно обработку. При двойном щелчке мыши или нажатии Enter в строке табличного поля выбранных обработок открывается форма редактирования настройки обработки с возможностью сохранения текущей настройки (кнопка "Сохранить настройку") и непосредственного выполнения обработки (кнопка "Выполнить"). Групповая обработка объектов выполняется нажатием кнопки "Выполнить" панели "Выбранные обработки". Для включения настройки в групповую обработку необходимо включить флажок в соответствующей строке.
Сохранении и восстановление настроек обработок осуществляется нажатием кнопок "Сохранить настройки в файл" (Ctrl+S) и "Загрузить настройки из файла" (Ctrl+L) командной панели "Доступные обработки". При этом открывается диалог выбора файла для сохранения или восстановления настройки. Данная возможность позволяет переносить настройки обработок между различными конфигурациями баз данных между различными пользователями.
Доступные обработки:
* Произвольный алгоритм
* Установка реквизитов
* Перенумерация объектов
* Пометить на удаление
* Удалить
* Провести документы
* Отменить проведение документов
Вопросы и ответы по обработке: Как с помощью обработки установить реквизит "НаименованиеПолное" равным реквизиту наименование краткое?
Через произвольный алгоритм.
Предложение ДЛЯ ИЗМЕНЕНИЯ позволяет заблаговременно заблокировать некоторые данные (которые могут читаться транзакцией другого соединения) уже при считывании, чтобы исключить взаимные блокировки при записи. ДЛЯ ИЗМЕНЕНИЯ дает возможность указать в запросе таблицы, считываемые данные которых предполагается изменять. В этом случае другое соединение будет ожидать освобождения этих данных уже в момент считывания внутри транзакции, т.е. не сможет прочесть заблокированные данные до тех пор, пока не будет завершена транзакция, наложившая блокировку. Блокировка от изменения данных считываемых в транзакции выполняется независимо от предложения ДЛЯ ИЗМЕНЕНИЯ. Это значит, что если внутри какой-либо транзакции считаны некоторые данные, то из другого соединения эти данные не могут быть изменены до тех пор, пока блокировка не будет снята. Если запрос выполняется вне транзакции, то в нем могут быть считаны и заблокированные данные.
Блокировки устанавливаются в момент выполнения запроса, сбрасываются же при окончании транзакции. В случае если запрос выполняется вне транзакции предложение ДЛЯ ИЗМЕНЕНИЯ игнорируется.
В случае если после предложения ДЛЯ ИЗМЕНЕНИЯ отсутствуют имена таблиц, блокироваться будут считанные данные из всех таблиц, задействованных в запросе. В случае указания конкретных таблиц будут блокироваться только данные из перечисленных таблиц. Для блокировки можно указывать только таблицы верхнего уровня (т.е. не табличные части), участвующие в запросе. Должны приводиться именно имена таблиц, а не их псевдонимы, определенные в запросе. В случае указания виртуальной таблицы будут блокированы данные из всех таблиц, задействованных в виртуальной таблице. При указании виртуальной таблицы следует записывать ее имя без параметров.
Пример использования предложения ДЛЯ ИЗМЕНЕНИЯ можно посмотреть в типовой конфигурации "Управление торговлей" в модуле документа РеализацияТоваров, в функции СформироватьЗапросПоШапке(Режим), которая вызывается из обработчика проведения документа. В этой функции, в случае оперативного проведения выполняется запрос, в котором накладывается блокировка на регистр остатков:
Иногда возникает необходимость вывести в отчет информацию таким образом, чтобы некоторые итоговые значения были рассчитаны на каждую дату в заданном интервале с указанной периодичностью. Например, требуется получить обороты по неделям вне зависимости от того, были ли обороты в конкретную неделю или нет. Для решения подобной задачи в языке запросов предусмотрена конструкция ПЕРИОДАМИ. Данная конструкция указывается в предложении ИТОГИ после поля "Период". После ключевого слова ПЕРИОДАМИ в скобках указывается вид периода (одно из Секунда, Минута, Час, День, Неделя, Месяц, Квартал, Год, Декада, Полугодие), начальная и конечные даты интересуемого периода. В случае если начальные и конечные даты не указаны, будут использованы первая и последняя даты, участвующие в результате.
Пример:
Результат данного запроса будет дополнен записями на даты начала каждой недели.
Заметим, что так как для дополненных периодов в результате запроса отсутствуют детальные записи, то дополненные записи будут получаться из выборки только в том случае, если при обходе выборки будут получаться все периоды, участвующие в запросе, что достигается установкой третьего параметра функции "Выбрать" результата запроса.