Каталог решений - Создаем сортировку по подразделению в любом документе (Зарплата и Кадры 7.7)

Создаем сортировку по подразделению в любом документе (Зарплата и Кадры 7.7)

Создаем сортировку по подразделению в любом документе (Зарплата и Кадры 7.7)

В наличии

Создаем сортировку по подразделению (Зарплата и Кадры 7.7) на примере документа Выплата заработной платы

Категория:

Описание

На предприятии часто просят одну и ту же цифру дать в разных разрезах, данная статья о том, как быстро сделать сортировку по каким либо показателям.
На форме документа создадим новую кнопку «Сортировать», в свойствах этой кнопки на вкладке «Дополнительно» укажем формулу «СортироватьСотрудников()» (без кавычек)
В модуле формы создаем процедуру:

Процедура СортироватьСотрудников()
    ТзС = СоздатьОбъект("ТаблицаЗначений");
    ТзС.очистить();
    ТзС.НоваяКолонка("Сотр");//сотрудники
    ТзС.НоваяКолонка("Сумма");
    ТзС.НоваяКолонка("подр");//подразделение
    Меню = СоздатьОбъект("СписокЗначений");
    //Создаем меню где будем выбирать по какому принципу будем сортировать
    Меню.ДобавитьЗначение(1, "ФИО");
    Меню.ДобавитьЗначение(2, "Подразделение");
    Меню.ДобавитьЗначение(3, "Сумма");
    Если Меню.ВыбратьЗначение(ВыбранныйНомер,,,,1)=0 Тогда
        Возврат
    КонецЕсли;
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
        ТзС.НоваяСтрока();
        ТзС.Сотр = Сотрудник;
        ТзС.Сумма = Сумма;
        ТзС.Подр = Сотрудник.Подразделение.Получить(ДатаДок)
    КонецЦикла; //Пренесли все данные в таблицу значения
    УдалитьСтроки(); //удаляем старые данные
    Если ВыбранныйНомер=1 Тогда
        ТзС.Сортировать("Сотр");
    ИначеЕсли ВыбранныйНомер=2 Тогда
        ТЗС.Сортировать("подр,сотр");
    ИначеЕсли ВыбранныйНомер=3 Тогда
        ТЗС.Сортировать("Сумма,сотр") ;
    КонецЕсли;
    ТзС.ВыбратьСтроки();
    Пока ТзС.ПолучитьСтроку() = 1 Цикл
        НоваяСтрока();
        Сотрудник = ТзС.Сотр;
        Сумма = ТзС.Сумма;
    КонеЦЦикла
КонецПроцедуры

Сохраняем и проверяем. 

П.С. Для многих это покажется слишком легко и смешно, этот пример рассчитан на новичков. И дорогие ветераны 1С, если вы знаете, как можно еще сильнее упростить данный модуль, пожалуйста, сообщите…

has been added to your cart:
Оформление заказа