Не выполняется процедуры обработки данных. Обработка данных

17.04.2018

НОВЫЙ РЕЛИЗ 3.1.60.46

Пользователям программного продукта "Айлант:Управление ЖКХ" доступен для скачивания новый релиз 3.1.60.46 от 17.04.2018. Напоминаем, что пользователи редакций 2.0 и 3.0 программного продукта перед установкой данного релиза должны убедиться, что приобретен Комплект перехода на редакцию 3.1. В противном случае, активация программного продукта будет не возможна.

Файлы обновления предназначены для обновления с релизов 3.1.59.45

ПРИМЕЧАНИЕ: Перед обновлением на релиз 3.1.60.46 программы «Айлант: Управление ЖКХ» необходимо проверить, выполнены ли процедуры обновления предыдущего релиза, и, при необходимости, выполнить их.

Для этого под Администратором зайти в Меню/ Администрирование/ Обслуживание/ Результаты обновления программы/Результаты обновления и дополнительная обработка данных. Если ссылка показывает, что не все процедуры выполнены, то есть нет сообщения «Все процедуры обновления выполнены успешно», то необходимо:

1. Создать хотя бы одного сотрудника в справочнике "Сотрудники".

2. Запустить заново дополнительные процедуры обработки данных. Для этого под Администратором зайти в Меню/Администрирование/Обслуживание/Результаты обновления программы/Результаты обновления и дополнительная обработка данных. Кликнуть на ссылку, указывающую на количество выполненных процедур обновления.

Откроется окно "Дополнительные процедуры обработки данных". Внизу окна нажать кнопку "Запустить".

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

Базовая версия

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

Найти улицу;

Определить порядок нумерации домов, где четные и нечетные номера домов;

Определить направление возрастания номеров;

Двинуться в нужном направлении;

Найти дом или убедиться в его отсутствии.

В таких действиях есть элементы обработки данных, таких как сортировка, поиск.

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

Сортировка (упорядочение);

Выборка;

Слияние;

Корректировка;

Сортировка.

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

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

Например, телефонный справочник квартирных телефонов:

а) упорядочен по возрастанию фамилий, и.о.;

б) в тоже время относительно адреса - телефонная книга имеет достаточно случайный характер.

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

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

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

Файл (исходный) -> сортировка -> Файл (результирующий)

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

Теоретически доказано, что минимально возможное число сравнений для упорядочения n элементов (записей) приближенно оценивается по формуле:

С - число операций сравнения;

n - количество записей в массиве;

]x[ - наименьшее целое, не меньшее х.

Сортировка - процесс расположения записей согласно принятому критерию.

Сортировки подразделяют в зависимости от алгоритма и вида используемой при сортировке памяти на:

- внутренние (пузырьковая, Шелла, вставки, квадратичной выборки) в оперативной памяти;

- внешние (балансная, каскадная, многофазная) с использования внешних носителей информации.

Методы сортировки:

Метод пузырька .

Очень простой, но не эффективный способ. Название получил по аналогии с пузырьком, всплывающим в жидкости. Сортировка проводится по алгоритму: первый ключ сравнивается со всеми последующими, пока не будет найден ключ j-й ключ, меньший первого. Тогда ключи меняются местами, т.е. делается их перестановка. Таким образом, совершается процедура со всеми последующими ключами до конца массива. Для первого ключа требуется (n-1) сравнение. Затем берется второй ключ и процедура повторяется, осуществляется (n-2) сравнения. И т.д. до (n-1)-го ключа, который сравнивается с последним, одно сравнение.

Всего проводится сравнений:

C(n)=(n-1)+(n-2)+...+1=n(n-1)/2.

Число возможных перестановок ключей: max P(n)n(n-1)/2, среднее P(n)n(n-1)/4.

Метод вставки .

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

Оценка числа сравнений C(n)n(n-1)/4.

Число перестановок ключей в процессе сортировки оценивается как P(n)n(n-1)/4.

Метод Шелла .

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

Первоначально группы состоят из двух элементов, например, из 1-го и +1-го, 2-го и +2-го и т.д.

При использовании метода Шелла время сортировки пропорционально, как подтверждено экспериментально, .

Число сравнений С(n)  0.5n.

Внешние сортировки (на внешнем носителе):

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

Существует несколько видов внешних сортировок.

Балансная сортировка .

Известны модификации этой сортировки - метод слияния, обменная сортировка.

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

Рассмотрим пример. Пусть р=2. Массив состоит из 10 записей. Схема сортировки будет выглядеть следующим образом.

Исходный 1-й этап 2-й этап 3-й этап Выходной







массив массив

Система КРАФТ построена на технологии клиент-сервер и использует реляционную СУБД Firebird (или Oracle). Это означает, что обработка данных в-основном осуществляется на сервере БД, что значительно убыстряет процесс.

Работа с данными в системе КРАФТ основана на запатентованной технологии Sybase DataWindow, которая предоставляет мощные средства для обработки, фильтрации, сортировки информации, а также на средствах встроенного языка программирования K-Script. Рассмотрим основные виды обработки данных в системе и как они выполняются.

Чтение данных

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

Выполнение отчетов

Отчет — это разновидность чтения данных, представленных в специальной форме. В системе КРАФТ любой отчет — это объект конфигурации с заданным SQL-запросом и форматом представления данных. В отличие от некоторых других информационных систем, в КРАФТ не существует никакой промежуточной обработки данных отчета после выдачи их сервером БД! Это означает, что скорость выполнения любых отчетов в КРАФТ ограничена лишь производительностью оборудования сервера и практически не зависит от мощности рабочей станции (то есть полностью реализуются преимущества SQL и технологии клиент-сервер). В системе КРАФТ время выполненения даже самых сложных отчетов не превышает 30 сек (обычно не более 5-10 сек).

Ввод и изменение данных

Ввод и изменение данных происходит в основном через формы ввода информации, назначенные для соответствующих бизнес-объектов. Использование технологии Sybase DataWindow обеспечивает высокую скорость операций изменения данных. При вводе и изменении данных полностью поддерживается механизм транзакций Firebird (Oracle), что гарантирует надежность записи данных в БД. При модификации документов системы (как сложных объектов) в системе КРАФТ дополнительно может использоваться режим блокировки на уровне сессий пользователей, что позволяет исключить возможность одновременного редактирования документа разными пользователями.

Обработка бизнес-логики объектов

При вводе и изменении данных сложных объектов, таких например как документы, могут выполняться ассоциированные процедуры бизнес-логики. В системе КРАФТ для конфигурации прикладных модулей чаще всего применяется 3-х звенная реализация обработки бизнес-логики, как показано на рисунке ниже.

Использование промежуточного уровня бизнес-логики позволяет выделить данный слой в отдельный процесс на сервере приложений (если таковой имеется), что значительно ускоряет выполнение процедур, так как большую часть алгоритма, не зависящую от интерфесной части, можно перенести туда. Также, наиболее «тяжелая» часть алгоритма обработки собственно данных часто помещается в хранимые процедуры на сервере БД. При такой схеме обработки бизнес-процедур достигается оптимальное распределение нагрузки между клиентом и сервером и максимальное быстродействие.

Выполнение сложных процедур обработки данных

К таковым относятся например процедуры массового перепроведения документов или ревизии данных. Все подобные процедуры (равно как и процедуры любой другой бизнес-логики модулей) реализованы на встроенном языке конфигурации K-Script. Здесь разработчику предоставляются широкие возможности выбора по реализации. Наличие встроенной поддержки SQL в языке K-Script (включая курсоры) позволяет полностью написать обработку данных любой сложности в процедуре конфигурации. При этом, кроме SQL-операторов (Insert, Update, Delete) и SQL-курсоров возможно также использование «динамических» SQL-операторов (строящихся «на лету» в программном коде), а также специального встроенного объекта буфера данных — Data Store. Однако, оптимальным решением часто бывает разнесение собственно бизнес-логики и алгоритмически нагруженных частей на клиентскую и серверную части, где серверная часть реализуется в виде хранимых процедур на сервере БД, вызываемых из процедуры конфигурации на встроенном языке системы.

Типовые конфигурации модулей КРАФТ, предлагаемые Бином Софт, оптимизированы по быстродействию обработки данных и максимально используют преимущества технологий системы КРАФТ.

2019-03-13T12:14:01+00:00

О каких таких обработчиках идёт речь?

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

Таких обработчиков бывает 2 вида: основные и отложенные .

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

Обновлятор по умолчанию выполняет и те и другие обработчики в своём цикле обновления сразу.

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

Что делать, если обновлятор говорит о невыполненных отложенных обработчиках обновления?

В этом меню раскройте раздел "Обработки":

И в нём найдите и откройте подпункт "Результаты обновления программы":

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

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

Выполнение отложенного обновления ИБ

В некоторых случаях может потребоваться принудительный запуск регламентного задания "Отложенное обновление ИБ".

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

В открывшемся диалоге раскройте раздел "Обработки". Найдите и откройте там следующий пункт:

В окне регламентных заданий найдите "Отложенное обновление ИБ", выделите его и нажмите кнопку "Выполнить сейчас":

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

  • либо разработчики обновления допустили ошибку в коде проблемного обработчика
  • либо есть проблемы в базе на уровне данных (заполнение справочников, регистров и документов), которые требуют вмешательства специалиста

С уважением, Владимир Милькин (преподаватель и разработчик