Друзья есть отчет который выводит список Сотрудников
Все работает как надо, но руководство попросило добавить фильтвов (во вложении файл)
Слево Фильтр - папки в Справочнике Сотрудники
Справо фильтр - Это Подпапки , Папки АУП из Справочника Сотрудники
В общем не могу сделать так что бы выводился отчет Ерархией в зависимости какая галка Нажата.
Спасибо
Все работает как надо, но руководство попросило добавить фильтвов (во вложении файл)
Слево Фильтр - папки в Справочнике Сотрудники
Справо фильтр - Это Подпапки , Папки АУП из Справочника Сотрудники
В общем не могу сделать так что бы выводился отчет Ерархией в зависимости какая галка Нажата.
Спасибо
Процедура ВыделитьВсеКолонки(Парам)
Для н=1 По СписГрупп.РазмерСписка() Цикл
СписГрупп.Пометка(н,Парам);
КонецЦикла;
КонецПроцедуры
Процедура ВыделитьВсеКолонки1(Парам)
Для н=1 По СписАУП.РазмерСписка() Цикл
СписАУП.Пометка(н,Парам);
КонецЦикла;
КонецПроцедуры
Процедура Видимость()
Если АктивацияФильтра =1 Тогда
Форма.СписАУП.Видимость(1);
Форма.СписГрупп.Видимость(1);
Иначе
Форма.СписАУП.Видимость(0);
Форма.СписГрупп.Видимость(0);
КонецЕсли;
КонецПроцедуры
Процедура Сформировать()
Перем Запрос, ТекстЗапроса;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Т51)
//|Период с ДатаНач по ДатаКон;
|Сотрудник = Справочник.Сотрудники.ТекущийЭлемент;
|Основной = Справочник.Сотрудники.Основной;
|НеРаботает = Справочник.Сотрудники.НеРаботает;
|ДатаУвольнения = Справочник.Сотрудники.ДатаУвольнения;
|ДатаПриема = Справочник.Сотрудники.ДатаПриема;
|Действует = Справочник.Сотрудники.Действует;
|НеСотрудник = Справочник.Сотрудники.НеСотрудник;
|ФИОВЗУП = Справочник.Сотрудники.ФИОВЗУП;
|Группировка Сотрудник;
|Группировка ФИОВЗУП;
|Группировка ДатаПриема;
|Группировка ДатаУвольнения;
|Условие (ДатаПриема < ДатаКон);
|Условие (НеСотрудник = 0);
|Условие (НеРаботает = 0);
|";
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Таблица = СоздатьОбъект("Таблица");
Таблица.ИсходнаяТаблица("СписокСотрудников");
Таблица.ВывестиСекцию("Шапка");
ТабЗначСотрудников = СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(ТабЗначСотрудников,0,0);
ТабЗначСотрудников.Сортировать("Сотрудник+");
ИтогСотрудников = 0;
НомерСтроки = 1;
ТабЗначСотрудников.ВыбратьСтроки();
ФИОВЗУПСтарое = "";
Пока ТабЗначСотрудников.ПолучитьСтроку() = 1 Цикл
Если ((ПустоеЗначение(ТабЗначСотрудников.ДатаУвольнения) = 1)
или ((ТабЗначСотрудников.ДатаУвольнения <= ДатаКон)
и(ПустоеЗначение(ТабЗначСотрудников.ДатаУвольнения) = 0))) Тогда
Сотрудник = ТабЗначСотрудников.Сотрудник;
ФИОВЗУП = ТабЗначСотрудников.ФИОВЗУП;
ФИОВЗУП = ?(ПустоеЗначение(ФИОВЗУП)=1,Сотрудник,ФИОВЗУП);
Если ПустоеЗначение(ФИОВЗУП) = 0 Тогда
КонецЕсли;
ДатаПриема = ТабЗначСотрудников.ДатаПриема;
Если ФИОВЗУПСтарое = ФИОВЗУП Тогда
Таблица.ВывестиСекцию("Строка2");
Иначе
Таблица.ВывестиСекцию("Строка1");
ИтогСотрудников = ИтогСотрудников+1;
НомерСтроки = НомерСтроки+1;
КонецЕсли;
ФИОВЗУПСтарое = ФИОВЗУП;
КонецЕсли;
КонецЦикла;
Таблица.ВывестиСекцию("Итого");
Таблица.ТолькоПросмотр(1);
Таблица.Опции(0,0,0,0,"_ПАРАМЕТРЫ_ПЕЧАТИ_СписокСотрудников_");
Таблица.ПараметрыСтраницы(,,,,,,,,,,1,);
Таблица.Показать("СписокСотрудников");
КонецПроцедуры
ДатаКон = РабочаяДата();
Форма.СписАУП.Видимость(0);
Форма.СписГрупп.Видимость(0);
СписГрупп.ДобавитьЗначение("АУП","АУП");
СписГрупп.ДобавитьЗначение("МЕДСЕСТРЫ","МЕДСЕСТРЫ");
СписГрупп.ДобавитьЗначение("СПЕЦИАЛИСТЫ","СПЕЦИАЛИСТЫ");
СписГрупп.ДобавитьЗначение("ТЕХПЕРСОНАЛ","ТЕХПЕРСОНАЛ");
СписАУП.ДобавитьЗначение("Кассиры","Кассиры");
СписАУП.ДобавитьЗначение("Контакт-центр","Контакт-центр");
СписАУП.ДобавитьЗначение("ОтделИТ","Отдел ИТ");
СписАУП.ДобавитьЗначение("ОтделПерсонола","Отдел персонола");
СписАУП.ДобавитьЗначение("ОтделПродаж","Отдел продаж");
СписАУП.ДобавитьЗначение("Пиар","Пиар");
СписАУП.ДобавитьЗначение("Рецепция","Рецепция");
СписАУП.ДобавитьЗначение("Руководство","Руководство");
СписАУП.ДобавитьЗначение("ФинансовыйОтдел","Финансовый отдел");
СписАУП.ДобавитьЗначение("ЮридическийОтдел","Юридический отдел");
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Борис Нуралиев ответил на вопросы сообщества “Инфостарт”
- Группировка по подразделению в "Задачи мне" (расширение для 1С:Документооборот)
- Список вопросов для собеседования кандидатов на должность "Программист 1С"
- Группировка номенклатуры в отгрузочных документах УНФ на основании заказа покупателя
- Пользовательские настройки отчетов 1С. Часть 2. Группировки и варианты
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот