Всем привет. Суть статьи в том, что ни один стандартный отчёт по производительности сотрудников в Axelot X5 не показывает нужные данных, поэтому я решил написать свой.
Для формирования нового внешнего отчёта по производительности нам понадобится Конфигуратор основной либо тестовой БД. И так , приступим
ШАГ 1 - Запускаем конфигуратор БД

ШАГ 2 - Создание нового внешнего отчёта
В основном окне конфигурации нажимаем на создание нового файла и выбираем "Внешний отчёт".

ШАГ 3 - Имя отчёта, создание новой схемы компоновки данных
Присваиваем отчёту Имя (Без пробелов), у меня будет ВыработкаСотрудников и нажимаем на кнопку «Открыть схему компоновки данных».

Далееу нас из предложенного будет всего один вариант — Схема компоновки данных (СКД). Выбираем и нажимаем «Готово».

ШАГ 4 - Создание нового Набора данных и использование конструктора запросов
Нажимаем на кнопку добавления новых данных, как на картинке и выбираем первую строку «Добавить набор данных — Запрос».

ШАГ 5 - Формирование полей, определение данных запроса.
Для определения данных запроса заходим в Конструктор запроса. Для автоматического формирования кода на языке 1С флаг «Автозаполнение» должен быть включён.

ШАГ 6 - Определяем из каких данных будем формировать наш отчёт.
Есть 2 регистра сведений который отвечают за отчётность по производительности.
-
Регистр Сведений — Выполненные задачи
Из данного регистра мы сможем сформировать данные по сотрудникам, очереди задач, по какому документу(задачи) работали и какое количество упаковок, паллет обработали. Самое главное преимущество первого варианта заключается в наличии реквизита Документ, по которому мы сможем формировать диапазон даты выполнения за сутки начиная, к примеру, с 8:00 утра и до 8:00 следующего дня.
-
Регистр Сведений — Выработка исполнителей
Из данного регистра можно сформировать данные по затрачиваемому времени на каждую операцию по сотрудникам, а так же получать данные по Срез первых, Срез последних
Рассмотрим первый вариант. В конструкторе запроса, в левой колонке выбираем Регистры сведений, находим Выполненные задачи и двойным щелчком по регистру переносим в поле Таблицы. Должно получится как на картинке.

Теперь нам нужно переместить нужные там реквизиты в столбец «Поля». Так же двойным щелчком перемещаем реквизиты и нажимаем ОК:
Период
Исполнитель
Документ
Очередь
КоличествоМестХранения
КоличествоУпаковок
Количество

ШАГ 7 — Создание Вычисляемого поля, определение Ресурсов, создание Параметров, формирование структуры отчёта
Для чего же нужно вычисляемое поле? Всё дело в том, что стандартный отчёт повыполненым задачам считаем одну операцию произведённую сотрудником, как две. То есть, к примеру, нам нужно переместить один паллет из точки А в точку Б. Стандартный отчёт по производительности выдаст:
1я операция — Сотрудник взял паллет из точки А
2я операция — Сотрудник поставил в точку Б
Получается что было сделано две операции, а по факту переместили то один паллет. Вот поэтому нужно создать вычисляемое поле, которое будет игнорировать одну из операций. В основной схеме компоновки данных переходим на вкладку Вычисляемые поля.

Нажимаем на зелёный крестик. В поле Путь к данным определяем название нашего поля(без пробелов). У меня это будет "ИтогМХ". Поле заголовок сформируемся автоматически. В поле Выражение нужно вставить код:

ВЫБОР КОГДА СОКРЛП(ВРЕГ(Строка(Очередь))) = СОКРЛП(ВРЕГ("Отбор МХ")) И СОКРЛП(ВРЕГ(Строка(Результат))) = СОКРЛП(ВРЕГ("Успешно")) И КоличествоМестХранения > 0 ТОГДА 0 КОГДА СОКРЛП(ВРЕГ(Строка(Очередь))) = СОКРЛП(ВРЕГ("Отбор ОХ")) И (СОКРЛП(ВРЕГ(Строка(Результат))) = СОКРЛП(ВРЕГ("Успешно (по плану)")) ИЛИ СОКРЛП(ВРЕГ(Строка(Результат))) = СОКРЛП(ВРЕГ("Успешно (изменено место хранения)"))) ИЛИ СОКРЛП(ВРЕГ(Строка(Результат))) = СОКРЛП(ВРЕГ("Успешно (изменена зона)")) ТОГДА 0 ИНАЧЕ КоличествоМестХранения КОНЕЦ
Перемещаемся на вкладку Ресурсы и двойным щелчком по реквизитам в левом поле, перемещаем нужные нам поля:
Ресурсы — это числовые поля, для которых автоматически вычисляются итоги (агрегатные функции) по группировкам и по отчету в целом.
Простыми словами: Ресурсы отвечают на вопрос «Что будем считать?» (сумму, количество, среднее, максимум и т.д.) в разрезе измерений (строк, колонок).
КоличествоМХИтог
КоличествоМестХраненияОХ
КоличествоУпаковок
В столбце выражение для каждого реквизита должно быть Сумма(название поля)

Перемещаемся на вкладку Параметры. Нам нужно будет создать 3 параметра. Нажимаем на зелёный крестик и поочерёдно создаём, определяя необходимый Тип под каждый параметр, выражение и настройки доступности:
Имя — «Период» — в поле Тип — через три точки выбираем СтандартныйПериод, в поле Выражение пустое
НачалоПериода — в поле Тип — через стрелочку выбираем Дата, в поле Выражение пишем
&Период.ДатаНачалаКонечПериода — в поле Тип — через стрелочку выбираем Дата, в поле Выражение пишем
&Период.ДатаОкончанияНастройки видимости выставляем как на картинке

Выражения &Период.ДатаНачала и &Период.ДатаОкончания в параметрах СКД — это механизм для создания удобного интерфейса выбора периода, который автоматически заполняет два отдельных параметра отчета (ДатаНачала и ДатаОкончания) на основе значения, выбранного пользователем в одном элементе управления.
Простыми словами: это «связка», которая позволяет пользователю выбрать период в удобном формате («Месяц», «Квартал», «С 10.01.2025 по 20.01.2025» и так далее), а СКД сама «разложит» этот выбор на две конкретные даты и передаст их в запрос.
Шаг 8
Переходим на вкладку Настройки для формирования полей и группировок отчёта.
-
Выделяем отчёт, нажимаем правую кнопку мыши и выбирает «Новая группировка»

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

Далее можно рядом с исполнителем вывести его принадлежность к Группе исполнителей (Комплектовщик, Карщик, Грузчик , Упаковщик и так далее). Для этого двойным щелчком нажмём на группировку исполнитель, далее на создание новой группировки и уже к ней добавим поле Исполнитель.Группа


Первая группировка готова. Добавим подгруппировки. Для этого выделяем первую группировку и нажимаем на кнопку создания новой.

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

Но нам так же интересно знать по каким задачам(документам) работал сотрудник, дата и время выполнения задачи и результат выполнения. Давайте добавим недостающие поля. Для этого двойным щелчком нажимаем на реквизит Очередь, добавить новую группировку > новое поле и как в предыдущий раз нажимаем на три точки и выбираем реквизит Документ.
По аналогичному принципу нужно так же добавить Документ.Дата выполнения (нужно раскрыть плюсик реквизита документ) и так же добавить реквизит Результат. Структура будет выглядеть следующим образом:


Продолжаем формирование нашего отчёта. Нажимаем на самое верхнее поле отчёт и на нижней вкладке параметры видим Период. Нажимаем на него правой кнопкой мыши и в контекстном меню выбираем «Свойства элемента пользовательских настроек». В открывшимся окне ставим галочку «Включать в пользовательские настройки». Данным действием мы добавили поле Период в форму нашего отчёта и сможем непосредственно в нём выбирать даты.


Переходим на вторую вкладку «Выбранные поля» и двойным щелчком добавляем поля‑Ресурсы в правое поле.

Далее переходим на вкладку Отбор (Филтры по Русскому))) Как и в предыдущем примере с Выбранными полями, перетаскиваем в Отбор реквизиты Очередь, Исполнитель, далее раскрываем реквизит Документ и от туда переносим два раза поле Документ.ДатаВыполнения
По каждому полю настраиваем параметры по столбцу Вид сравнения и правое значение как на картинке. Далее выделяем два поля Документ.ДатаВыполнения, нажимаем на правую кнопку мыши и выбираем Сгруппировать условия. Данным действием мы сделали группировку где условие будет работать так:
Когда
Документ.ДатаВыполнения больше или равно дате (выбираем дату в отчёте) И
Документ.ДатаВыполнения меньше или равно дате (выбираем дату в отчёте) тогда сформировать результат. Тем самым мы устанавливаем нужный нам диапазон дат.


На каждое добавленное поле в отборы нужно включить в Свойствах элемента пользовательских настройках "Включать в пользовательские настройки" аналогично тому как мы делали с параметром Период (см. выше)
На этом основное формирование отчёта закончено. Необходимо сохранить его в удобную для вас папку и запустить, нажав на кнопку F5 или Начать отладку

Откроется бада данных Axelot. В правом углу нажимаем на "Сервис и настройки" , выбираем Файл > Открыть и открываем наш сохранённый отчёт. Соглашаемся в окне предупреждения системы.

Отчёт в WMS
Красным выделил сформированный нами Параметр , жёлтым Отборы. В поле параметр можно сразу выбрать целый год, а уже полями Документ.ДатаВыполнения указывать диапазоны для формирования отчёта.

Сформированный отчёт:

В системе имеется множество разных результатов. В зависимости от данных задачи отбора.
Успешно — Если не заполнена конечная зона
Успешно по плану — Если конечное = текущей
Успешно изменено мест хранения — Если равны зоны, но не равны остальные данные ячейка и МХ
Успешно изменена зона — Зоны не равны в задаче
Проблема — Если операция с проблемой
Проблема взять и проблема положить — считается на каких операциях возникла проблема.
Учёт операции взять и положить, считается отдельными операциями. Это можно посмотреть в регистре Выполненные задачи.
В системе задан просчёт на каждую операцию положить и взять и поэтому считается как отдельная операция.
Поэтому мы и создали Вычисляемое поле КоличествоИтогМХ которое отображает только одну операцию и выводит корректный результат.
Всем спасибо за внимание. Просьба строго не судить, это моя первая статья.
ramil_trinion
Что дальше? Опишите как делать бекап базы?
catoffnet Автор
Для внешних отчётов я не делаю бэкап БД т.к изначально создаю их в тестовом контуре, предварительно загрузив в него БД с прода.
Выгрузка информационной базы (Выгрузка должна выполняться в монопольном режиме без пользователей в базе)
Запустите 1С:Предприятие, выберите нужную БД для выгрузки и откройте в режиме Конфигуратор
Вкладка Администрирование находим Выгрузить информационную базу
Сохраняем
Выгрузка только конфигурации
Если нужно сделать бэкап только конфигурации, то заходим во вкладку
Конфигурация > Выгрузить конфигурацию в файл:
Восстановление из резервной копии
Заходим в Администрирование > Загрузить информационную базу
Выбираем сохранённый файл
.dt! При загрузке текущая база будет полностью заменена данными из файла резервной копии.
ramil_trinion
Вообще то это был сарказм. Я могу догадаться что вы не раскусили мой сарказм потому что скормили мой комментарий ИИ. Гордыня и лень. Гордыня - потому что вы не принимаете критику. Лень - потому что вы даже сами не хотите отвечать.
catoffnet Автор
Ответы на всякого рода сарказмы как раз и нужно скармливать ИИ - это не Лень , а экономия своего времени.
Если есть что написать по теме СКД или дополнить описанное выше, буду рад ознакомится.
На самом деле очень мало информации по Axelot и формированию отчётов для этой WMS. Надеюсь что кому-то поможет и люди сделаю сами , а не будут оплачивать доработку за бешенные деньги, которая по всей логике должна была быть в стандартном наборе.