Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Конфигурация собственной разработки . Разработка отчета          
denis84 Подменю пользователя
сообщение 16.12.20, 11:56
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 429
Из: Украина
Спасибо сказали: 137 раз
Рейтинг: 138.5

Добрый день! Есть задача:
Сотрудник в течении месяца может работать на 2-х участках во вредных условиях, т.е. 40 часов работал на участке 3100 и 60 часов на участке 3141. У этих участков «родитель» один «31».
Необходимо посчитать сотрудников по участкам и по верхнему уровню иерархии(родителю) в зависимости от того сколько он получил «вредняка». Т.е. « <=100» столько людей, «>100 и <=200» столько людей и т.д.
Если по участкам считать итоги, то этот сотрудник должен быть и на одном и на другом участке, но в итогах по родителю считаться один раз.
Написал такой запрос:

Запрос.Текст = 
        "ВЫБРАТЬ
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Сотрудник.Ссылка КАК Сотрудник,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Сотрудник.Ссылка КАК СотрудникСсылка,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Сотрудник.Представление,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Подразделение.Ссылка КАК СотрудникПодразделениеСсылка,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Подразделение.Представление,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Профессия КАК Профессия,
        |    СУММА(СредниеИЭффективныеЗначенияОстаткиИОбороты.ВнутреннееОборот) КАК ВнутреннееОборот,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Подразделение.Родитель КАК ПодразделениеРодитель
        |ИЗ
        |    РегистрНакопления.СредниеИЭффективныеЗначения.ОстаткиИОбороты(&НачДата, &КонДата, , , ) КАК СредниеИЭффективныеЗначенияОстаткиИОбороты
        |ГДЕ
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Подразделение.Ссылка.Код <> &Уч
        |
        |СГРУППИРОВАТЬ ПО
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Подразделение.Родитель,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Подразделение.Ссылка,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Сотрудник.Ссылка,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Профессия,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Сотрудник.Ссылка,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Сотрудник.Представление,
        |    СредниеИЭффективныеЗначенияОстаткиИОбороты.Подразделение.Представление
        |
        |УПОРЯДОЧИТЬ ПО
        |    ПодразделениеРодитель,
        |    СотрудникПодразделениеСсылка,
        |    Сотрудник
        |ИТОГИ
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Сотрудник),
        |    СУММА(ВнутреннееОборот)
        |ПО
        |    ОБЩИЕ,
        |    ПодразделениеРодитель,
        |    СотрудникПодразделениеСсылка,
        |    СотрудникСсылка
        |АВТОУПОРЯДОЧИВАНИЕ";


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

Сообщение отредактировал denis84 - 16.12.20, 12:01

TohaMonster Подменю пользователя
сообщение 17.12.20, 12:54
Сообщение #2

Говорящий
***
Группа: Пользователи
Сообщений: 69
Спасибо сказали: 28 раз
Рейтинг: 28

denis84 @ Вчера, 12:56 * ,

Не уверен, что правильно понял задачу, но предполагаю, что таким запросом её не решить. У Вас должна быть группировка по ПодразделениеРодитель без группировки по Подразделению, иначе Вы неправильно получите диапазон "вредняка", в который у Вас попадет данный сотрудник.

То есть, у Вас в запросе будут переменные типа
ВЫБОР
КОГДА ВнутреннееОборот>0 И ВнутреннееОборот<=100 ТОГДА 1 ИНАЧЕ 0
КОНЕЦ КАК Диапазон1,

ВЫБОР
КОГДА ВнутреннееОборот>100 И ВнутреннееОборот<=200 ТОГДА 1 ИНАЧЕ 0
КОНЕЦ КАК Диапазон2,

И если Вы не сгруппируете предварительно результат по ПодразделениеРодитель, Вы не получите правильные значения ВнутреннееОборот


Но, конечно же, есть и хорошая новость. Если Вам нужен именно отчет, то СКД в данном случае всё сделает идеально. Указанные выше функции прописываете в Вычисляемые поля, а потом хорошенько колдуете на закладке "Ресурсы" (там нельзя делать ресурс СУММА(Диапазон1), а нужно повозиться с етой формулой)

Спасибо сказали: denis84,

denis84 Подменю пользователя
сообщение 17.12.20, 12:59
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 429
Из: Украина
Спасибо сказали: 137 раз
Рейтинг: 138.5

TohaMonster @ Сегодня, 12:54 * ,
Спасибо за ответ. Буду пробовать!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.04.24, 6:00
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!