7.7 Список сотрудников

Тема в разделе "Типовые решения "1С:Предприятие 7.7"", создана пользователем kisol, 7 авг 2012.

  1. TopicStarter Overlay
    kisol
    Offline

    kisol Профессионал в 1С

    Регистрация:
    25 июл 2012
    Сообщения:
    386
    Симпатии:
    41
    Баллы:
    54
    Имееться Зик 7.7.
    Требуеться вывести список сотрудников работающих по сегоднящий день на предприятии.
    Набросал обработку, но она мне выводит всех сотрдуников которые работали и работали на предприятии за все время.
    Прикрепил обработку.

    Код:
    //*******************************************
    // Процедура генерации запроса Сформировать.
    //
    Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |ДатаРождения = Справочник.Сотрудники.ДатаРождения;
    |Должность = Справочник.Сотрудники.Должность;
    |Наименование = Справочник.Сотрудники.Наименование;
    |СостояниеФизлица = Справочник.Сотрудники.СостояниеФизлица;
    |Группировка Наименование;
    |Группировка ДатаРождения;
    |Группировка Должность;
    |Группировка СостояниеФизлица;
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
    // Заполнение полей Наименование
    //Таб.ВывестиСекцию("Наименование");
    Пока Запрос.Группировка(2) = 1 Цикл
    // Заполнение полей ДатаРождения
    //Таб.ВывестиСекцию("ДатаРождения");
    Пока Запрос.Группировка(3) = 1 Цикл
    // Заполнение полей Должность
    // Таб.ВывестиСекцию("Должность");
    Пока Запрос.Группировка(4) = 1 Цикл
    // Заполнение полей СостояниеФизлица
    Таб.ВывестиСекцию("СостояниеФизлица");
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
    КонецПроцедуры
    
    

    Вложения:

  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Добавьте условие в запрос по переменной СостояниеФизлица. Учтите что реквизит периодический. И получите состояние только на конец указанного периода (особенность запроса 7ки)
  3. TopicStarter Overlay
    kisol
    Offline

    kisol Профессионал в 1С

    Регистрация:
    25 июл 2012
    Сообщения:
    386
    Симпатии:
    41
    Баллы:
    54
    Решение найдено. Через универсальную печать справочников.
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Насколько я помню там условие по периодике не срабатывало (если речь идет о UPS.ERT). Хотя могу и ошибаться

Поделиться этой страницей