Введение
Рано или поздно перед специалистом, занимающимся организацией учета и технической поддержкой систем на базе 1С:Предприятие, встает проблема проверки ведения учета пользователями. Можно разработать сколь угодно большое количество инструкций, регламентов и методик, но ошибки ведения учета всегда будут иметь место быть.
Есть несколько подходов к реализации проверок ведения учета, в данном решении применен механизм расширений, ставший уже довольно полноценным. Такой подход позволил достигнуть хорошей комбинации гибкости, функциональных возможностей, скорости разработки и проведения проверок.
Проверки являются достаточно независимыми, что позволяет работать нескольким разработчикам. При этом разработка проверок выполняется в пользовательском режиме с использованием отладчика и конструктора запросов, что позволяет максимально упростить эту процедуру.
Расширение разрабатывалось и тестировалось на платформе 1С:Предприятие 8.3 (8.3.16.1502), конфигурация Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.14.97).
Решение находится на этапе тестирования, первым 10 обратившимся предоставляется бесплатно.
Назначение
Расширение предназначено для реализации механизма проверок ведения учета, доступных рядовым пользователям. Основными функциями являются:
- Ведение перечня категорий проверок ведения учета (ежедневные, ежемесячные, для начальника отдела кадров и т.д.);
- Создание проверок ведения учета, основанных на запросах как к данной, так и к внешним информационным базам;
- Создание запросов с помощью конструктора запросов;
- Отладка проверок ведения учета во встроенном отладчике;
- Использование в проверка параметров, как пользовательских, так и заданных разработчиком проверки;
- Выполнение проверок пользователями с возможностью прокомментировать каждую ошибку;
- Разделение пользовательских и административных проверок;
- Сохранение в файл и загрузка настройки проверок из файла.
У решения есть следующие ограничения или особенности в связи с отсутствующим функционалом. Некоторый функционал не был введен сознательно с целью избежать излишнего усложнения настроек. Такой функционал может быть доработан вами самостоятельно, или будет реализован в одной из следующих версий:
- Конструктор запросов работает только с запросами к данной информационной базе (запросы к внешним соединениям преобразовываются в описание временных таблиц);
- На всех информационных базах, используемых для внешних соединений, должна быть та же версия платформы, что и на данной информационной базе;
- Значения непредопределенных параметров в отладчике не сохраняются;
- Пользовательские параметры могут принимать значения только данной информационной базы;
- Подключение к внешним информационным базам доступно только в клиент-серверном режиме;
- В запросах к внешним информационным базам недоступны ранее созданные временные таблицы;
- Сохранение и загрузка настроек в веб-клиенте не реализована;
- Персонализация наборов проверок для пользователей не предусмотрена;
- Выполнение программного кода не предусмотрено, все данные должны быть получены в запросах;
- Конструктор запросов имеет особенности использования;
- Типы и перечень параметров нужно определять вручную, параметр со списком значений не поддерживается;
- Для того, чтобы расширение было встроено без изменений, в основной конфигурации должен присутствовать справочник Пользователи, параметр сеанса ТекущийПользователь и роль ПолныеПрава;
- При сохранении настроек в файл пароли внешних соединений хранятся открытым текстом;
- Автоматическая проверка по расписанию с последующими действиями (например - отправка на электронную почту) не предусмотрена.
Процедура установки
Процедура добавления расширения в информационную базу не отличается особенностями. Добавить можно в пользовательском режиме:
- Вызовите окно "Все функции" с помощью меню "Сервис и настройки";
- В группе "Стандартные" найдите обработку "Управление расширениями конфигурации";
- Нажмите "Добавить" и выберите файл расширения;
- Если собираетесь использовать функционал внешних подключений - снимите флажок "Безопасный режим" и "Защита от опасных действий";
- Перезапустите 1С.
или с помощью конфигуратора:
- Запустите конфигуратор, вызовите список расширений и создайте новое расширение (параметры не имеют значения);
- Выделите созданное расширение, вызовите команду "Конфигурация - Загрузить расширение из файла";
- Выберите скачанный файл расширения и нажмите "Открыть", согласитесь с загрузкой;
- Если собираетесь использовать функционал внешних подключений - снимите флажок "Безопасный режим" и "Защита от опасных действий".
Расширение предоставляет две команды - открытия отчета Проверка ведения учета и открытия списка справочника Проверки ведения учета. Обе команды располагаются в основном разделе. Если команды не появились - убедитесь что у расширения установлен признак "Использовать основные роли для всех пользователей".
Обновление решения в режиме конфигуратора выполняется аналогично встраиванию. В пользовательском режиме для обновления воспользуйтесь кнопкой "Загрузить".
Расширение работает в режиме совместимости с версией 8.3.14. При необходимости режим совместимости может быть понижен без особых доработок до версии 8.3.12 - для пользователей нужно будет вручную предоставлять роль, предоставляемую расширением, либо добавлять в расширение одну из существующих ролей.
Настройка категорий
Категории являются способом группировки (одна проверка может входить в несколько категорий) и применяются исключительно для организации проверок и удобства использования в разработке и бизнес-среде.
Перед разработкой проверок желательно определить категории в зависимости от стоящих перед вами задач. Например для системы кадрового учета и расчета заработной платы категориями могут быть:
- Ежедневные проверки;
- Перед выплатой аванса;
- Перед выплатой заработной платы;
- Контрольные проверки кадрового учета;
- Административные.
Для удобства формирования отчетов по всем проверкам каждая категория может быть отнесена к пользовательским или административным. При этом пользователям недоступны проверки, не включенные ни в одну пользовательскую категорию.
Настройка проверок
Настройка проверок выполняется разработчиком применительно к конкретным особенностям учета конкретной предметной области. Основными параметрами проверки являются:
- Активность: при формировании отчета будут выполняться только проверки с установленным признаком активности;
- Настройки и параметры - Привилегированный режим: при установленном признаке запросы проверки будут выполнены в привилегированном режиме. Режим не относится к вешним соединениям - запросы к внешним соединениям выполняются с правами пользователя, указанного в соединении.
- Настройки и параметры - Использовать внешние соединения: включает видимость элементов управления, отвечающих за внешние соединения.
- Настройки и параметры - Информация и Рекомендация: текст, выводимый в соответствующую колонку отчета. Переопределяется одноименным полем на вкладке Запросы.
- Настройки и параметры - Параметры: параметры запросов. Имена параметров должны удовлетворять требованиям к именам параметров запросов. Параметр с установленным значением считается предопределенным. Одноименные непредопределенные параметры рекомендуется делать однотипными во всех проверках. Предопределенные параметры независимы и могут быть разнотипными. Параметры внешних запросов могут быть только предопределенными.
- Соединения: перечень соединений, доступный для проверки. Расширение будет пытаться поддерживать установленные соединения при работе с разными формами.
- Запросы: основной раздел проверки, описан ниже.
- Категории: категории, к которым относится проверка.
В командной панели проверки присутствует возможность включения режима отладки. В режиме отладки появляется возможность выбрать запросы, результат которых будет выведен в табличный документ, а также задать значения непредопределенных параметров.
Также в командной панели проверки присутствует возможность сохранения отдельно взятой проверки в файл и загрузки из файла. Аналогичные команды в форме списка проверок выполняют действия в отношении всех объектов решения. При загрузке всех настроек сопоставление выполняется по ссылкам объектов - новые объекты будут созданы, старые - перезаписаны. Обратите внимание, что в текущей версии пароли внешних соединений хранятся в файле настроек открытым текстом.
Разработка запросов
Основная настройка выполняется на вкладке Запросы в элементе справочника Проверки ведения учета. В табличной части запросов разработчик может определить перечень запросов, которые будут выполнены при проведении проверки. При этом следует учитывать следующие особенности:
- Выполнены будут только запросы с установленным признаком Активность;
- В отчет попадут только результаты запросов с установленным признаком Выборка;
- Запросы к внешним соединениям выполняются в первую очередь, по-одному;
- При выполнении проверки все запросы будут скомпонованы в один пакет, в том порядке, в котором они заданы в табличной части;
- Результаты запросов к внешним соединениям будут будут доступны в запросах к данной информационной базе через временные таблицы по имени запроса к внешнему соединению;
- Параметры простых типов (число, строка, стандартный период, дата) с пустым полем Соединение являются общими для всех запросов одной проверки;
- Параметры ссылочных типов (перечисление, справочник, план счетов) и параметры простых типов с заполненным полем Соединение являются общими для всех запросов, где значение поля Соединение совпадает с таковым у параметра.
Для разработки запросов можно применять штатный конструктор запросов. Его использование имеет следующие особенности:
- Запросы к внешним соединениям будут преобразованы в описание временных таблиц. Изменения таких таблиц в конструкторе не сохраняются;
- Не рекомендуется изменять порядок таблиц пакета запросов в конструкторе - часть изменений может не сохраниться.
Текст запроса должен быть разработан с учетом следующих особенностей:
- В результате запроса с признаком Выборка обязательно должно присутствовать поле ОбъектСОшибкой;
- В результате запроса могут присутствовать поля "Регистратор", "НомерСтроки" (регистратора), и "Статус" (1 - Ошибка, 2 - Предупреждение, остальное - Информация), которые выводятся в соответствующие колонки отчета;
- Параметр типа Стандартный период указывается в запросах как "&ИмяПараметра_ДатаНачала" и "&ИмяПараметра_ДатаОкончания".
В тексте запроса доступны следующие дополнительные предопределенные параметры:
- ТекущаяДата - устанавливается равным "ТекущаяДата()" перед выполнением пакета запросов;
- ТолькоОшибки - устанавливается равным значению реквизита "Только ошибки" на форме отчета;
- ПустойУникальныйИдентификатор - устанавливается равным "Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000")".
Использование
Чтобы воспользоваться проверкой следует открыть отчет Проверка ведения учета. После выбора варианта комбинации проверок на форме появятся непредопределенные параметры всех проверок. Заполнив значения параметров, отчет можно сформировать с помощью соответствующей команды.
Значения в колонке "Рекомендация" доступны для изменения пользователями и сохраняются. Данный механизм можно использовать для формирования информации о результатах расследования ошибок для контролеров.
0.1.4.2
Исправление замеченных ошибок
0.1.4.1
Добавлена возможность программной обработки результатов запроса перед выводом в таблицу и использованием расшифровки
0.1.3.1
Добавлена возможность использования планов видов расчета в качества параметров