Концепция программы

Перейти на пред.страницу Базовые сведения о 1С8

В этой статье будет рассмотрена концепция «О-Судейство», а также константы и соревновательная панель.

Концепция «О-Судейство».

Поскольку «О-Судейство» создавалась как программа для проведения соревнований по спортивному ориентированию, то вполне логично, что основным прикладным объектом «О-Судейство» является справочник «Соревнования». Элементами этого справочника будут соревнования. Справочник иерархический, допускает создание групп, что позволяет по вашему усмотрению располагать соревнования в справочнике — например, однотипные соревнования (повторяющиеся каждый год) можно размещать в одной группе.

Для проведения соревнования в «О-Судейство» необходимо пошагово выполнить следующие действия:

  • Создание структуры соревнования. Вы заблаговременно создаете новое соревнование в справочнике «Соревнования». Затем создаете элементы в подчиненных соревнованию справочниках «Номера программы соревнования», «Группы участников», «Разряды участников» (впрочем, разряды участников можно будет создать и на следующем шаге). Причем для справочников «Группы участников» и «Разряды участников» вы можете использовать обработку «Копирование подчиненных справочников», скопировав в ваше соревнование группы и разряды (а при необходимости и элементы других подчиненных справочников) из другого (ранее созданного) соревнования.
  • Загрузка заявок участников. Соревнование переводите в состояние «Открыто для заявок». Загружаете в соревнование заявки участников, используя обработки «Загрузка заявок из таблицы» (если заявки в виде xls- или иной таблицы) и/или «Загрузка заявок из xml-файла с сайта orgeo.ru» (если заявка через сайт orgeo.ru). В результате загрузки будут созданы документы «Заявка (инд.зачет)» и/или «Заявка на эстафету». При необходимости документы «Заявка (инд.зачет)» и/или «Заявка на эстафету» можно создать самостоятельно (без использования обработок). На этом шаге уже можно указать участникам номера арендованных чипов (номера собственных чипов участники уже должны были указать в заявках), но можно это сделать и на этапе формирования протокола старта (или даже в момент регистрации на старте – если такая регистрация задана в номере программы).
  • Создание дистанций для номеров программы. Используя обработку «Импорт дистанций из xml-файла», импортируете в каждый номер программы дистанции из xml-файла (полученного экспортом из OCAD). Или создаете дистанции сами (например, для маркированной трассы).
  • Формирование протоколов старта. Соревнование переводите в состояние «Проводится». Для каждого номера программы создаете как минимум один документ «Протокол старта (инд.зачет)» или «Протокол старта на эстафету». Табличную часть документа заполняете (в несколько кликов) по данным из заявок участников или из результатов предыдущих номеров программы (для финальных номеров программы с отбором участников). Изменяете табличную часть, используя обработку «Изменение табличной части…» – в этой обработке производится присвоение времени старта участникам (жеребьевкой или простым присвоением или прибавлением/вычитанием определенного интервала), присвоение номеров участникам, присвоение или распределение (в случае использования рассеивания) дистанций участникам и т.п. Для номеров программы с электронной отметкой и без регистрации на старте на этом шаге необходимо, чтобы всем участникам были присвоены номера чипов. Если в номере программы используется регистрация на старте, то номер чипа участникам (у которых он еще не был указан) можно указать в момент регистрации на старте. После проведения документа(ов) «Протокол старта (инд.зачет)» или «Протокол старта на эстафету» формируете стартовые протоколы (при помощи отчетов «Протокол старта на один номер программы» и/или «Протокол старта на несколько номеров программы»), а также печатаете (если необходимо) номера участников (при помощи отчетов «Печать номеров участников на один номер программы» и/или «Печать номеров участников на несколько номеров программы»). Так же при необходимости печатаете карточки отметки (при помощи отчета «Печать карточки отметки»).
  • Проведение номера программы. Номер программы (на время его проведения) переводите в состояние «Проводится». При использовании электронной отметки подключаете к компьютеру считывающую станцию, запускаете обработку «Работа с usb-станцией через COM-порт» или «Чтение чипа SportTime из csv-файла через KuKuD» (в последнем случае вы должны запустить еще и программу KuKuD) в режиме «Создание документов Финиш по чипу». Если электронная отметка не используется, вы создаете документ «Финиш по часам». Участники стартуют согласно стартового протокола. Если для номера программы задана регистрация на старте – то необходимо документом «Регистрация перед стартом» зарегистрировать вышедших на старт участников, при необходимости присвоить номер чипа участнику. Участники проходят дистанцию и финишируют, вы фиксируете их финиш либо путем считывания чипа в считывающей станции (тогда для каждого уникального считывания обработкой автоматически будет создан документ «Финиш по чипу») либо в документе «Финиш по часам». По окончании финиша, если были нестартовавшие участники (и они не были зарегистрированы документом «Регистрация перед стартом» как нестартовавшие в случае использования регистрации перед стартом), вы создаете дополнительный документ «Регистрация перед стартом» с операцией «Не стартовавшие участники», в котором заполняете (одним кликом) нестартовавших участников. Затем формируете протокол результатов (при помощи отчетов «Протокол результатов» и/или «Сплиты результатов» и/или «Командный протокол результатов (поверх инд.)» и/или «Сводный протокол результатов» и/или «Сводный командный протокол результатов (поверх инд.)»). Номер программы переводите в состояние «Завершено».
  • Закрытие соревнования. После проведения всех номеров программы соревнование переводите в состояние «Завершено».

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

Константы.

В 1С8 в качестве основных прикладных объектов данных (наряду со справочниками и документами) являются также константы. Строго говоря, константы – это данные, которые всегда остаются неизменными. На самом деле в 1С8 практикуется изменение констант. Одна константа может содержать одно значение. В «О-Судейство» тоже есть константы, для доступа к ним откройте меню «Сервис», «Настройка параметров учета…». Откроется окно настройки параметров учета (рис.1), которое по сути является экранной формой констант:

Рис.1
Окно настройки параметров учета

Рассмотрим эти параметры:

  • Режим обновления результатов. Если переключатель (рис.1) установлен в положении Обновлять результаты сразу, то после регистрации финиша участника (автоматическим созданием документа «Финиш по чипу» или в документе «Финиш по часам») будет выполнено обновление результатов. Под обновлением результатов понимается пересчет занятых мест и времени отставания по основному зачету (по всем участникам группы, в которую входит финишировавший участник), а также пересчет результатов по всем дополнительным и сводным зачетам (по всем участникам независимо от группы). А если для номера программы задано выполнение разрядов, то еще будет пересчитано и выполнение разрядов. Как показала практика, на слабеньком ноутбуке в 3-й день соревнований (количество участников около 280 и задан сводный зачет по сумме 3-х дней соревнований) при параллельно работающих (на этом же ноутбуке) табло результатов и табло сводных результатов (вывод результатов, в том числе и сводных, на дополнительный монитор) во время интенсивного финиша участников иногда в табло возникало сообщение об ошибке «конфликт блокировок при выполнении транзакции». Эту ошибку 1С8 выдает, как правило, при интенсивном обращении к данным информационной базы во время проведения документов. Самое неприятное было в том, что это сообщение отображалось на дополнительном мониторе и для закрытия этого сообщения приходилось поворачивать монитор и кликать по кнопке «Закрыть» в окне сообщения об ошибке. Переключатель в положении Обновлять результаты в фоновом режиме призван снизить нагрузку на информационную базу. В этом случае результаты будут обновляться не сразу после регистрации финиша каждого участника, а в фоновом режиме через заданный интервал. Тут необходимо пояснить, что в общем случае информационная база 1С8 может быть создана как файловая (в папке на диске – это наш случай) или как серверная (возможно только в случае, когда 1С8 работает в режиме сервера). Фоновый режим в чистом виде поддерживается 1С8 только на серверной информационной базе и тогда сервер 1С8 сам запускает фоновые (регламентные) задания по расписанию, независимо от того, работает кто-то из пользователей в 1С8 в момент запуска или нет. Для серверной информационной базы в «О-Судейство» создано регламентное задание «Обновление результатов», которое будет запускаться каждые 60 секунд. А для файловой информационной базы фоновый режим не поддерживается. Но выход есть – фоновый режим можно имитировать. Для этого необходимо указать пользователя (рис.1) и войти под этим пользователем в 1С8. И тогда через заданный интервал будут  обновляться результаты и в файловой информационной базе. Главное, чтобы все это время была запущена 1С8 под этим пользователем (это можете быть вы сами). Кроме того, на соревновательной панели (об этом будет далее на рис.2) есть кнопка «Обновить результаты». Если кликнуть по этой кнопке (в сеансе 1С8, запущенной под пользователем, указанным в поле «Пользователь» на рис.1), то результаты будут обновлены немедленно и следующее обновление будет через заданный интервал. Если кликать по кнопке «Обновить результаты» в моменты, когда нет интенсивного финиша (или приостанавливать на несколько секунд считывание чипов на время немедленного обновления результатов), то можно серьезно снизить нагрузку на обращения к информационной базе и исключить появление ошибки «Конфликт блокировок при выполнении транзакции».
  • Основная валюта учета. Пока не используется, финансовый блок в «О-Судейство» планируется внедрить в будущем.
  • Вывод сообщений. Если установить флажок Дублировать сообщения в журнал регистрации, то все сообщения, выводимые в окно «Служебные сообщения», будут продублированы в журнале регистрации (меню «Сервис», «Журнал регистрации»). Имеет смысл устанавливать на время тестирования и отладки. Если установить флажок Разрешить выводить сообщения в панель комментариев, то сообщения будут выводиться не в окно «Служебные сообщения» (открывается автоматически в нижней части окна «О-Судейство»), а в панель комментариев (в правой части окна «О-Судейство»).
  • Номер версии. Отображает номер версии «О-Судейство». Значение этой константы изменяется автоматически во время обновления «О-Судейство».

Соревновательная панель.

В главном окне «О-Судейство» (рис.2), помимо главного меню и стандартных блоков экранных кнопок, расположена еще соревновательная панель:

Рис.2
Соревновательная панель

Кнопка Активные соревнования открывает список соревнований с установленным отбором по значению реквизита «Состояние», равному «Открыто для заявок» или «Проводится». То есть, в этом списке будут отображены не все соревнования, а только соревнования с состоянием «Открыто для заявок» или «Проводится».

Кнопка Активные номера программы открывает список номеров программы соревнования с установленным отбором по значению реквизита «Состояние», равному «Проводится». То есть, в этом списке будут отображены не все номера программы, а только номера программы с состоянием «Проводится».

Кнопка Обновить результаты предназначена для немедленного пересчета занятых мест и времени отставания по основному зачету и результатов по всем дополнительным и сводным зачетам. А если для номера программы задано выполнение разрядов, то еще будет пересчитано и выполнение разрядов. Пересчет производится только по данным индикаторов – записей в регистрах сведений «Индикатор пересчета результатов», «Индикатор пересчета результатов доп. (инд.зачет)», «Индикатор пересчета сводных результатов (инд.зачет)», «Индикатор пересчета выполнения разрядов (инд.зачет)». В этих записях фиксируются номер программы и (опционально) группа, для которых требуется выполнить пересчет. Записи в этих индикаторах добавляются в момент проведения документов, регистрирующих финиш участников (и в ряде других случаев), а по окончании пересчета записи из индикаторов удаляются.

Перейти на след.страницу Создание структуры соревнования