Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 мая 2025, 05:57

помогите разобраться выводит весь список сотрудников, а нужны только уволенные.

Автор Staler, 22 дек 2017, 11:45

0 Пользователей и 1 гость просматривают эту тему.

Staler

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

          РезультатЗапроса = Запрос.Выполнить();
   
   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
   ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
   ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
   ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
   
   Результат.Очистить();
   Результат.Вывести(ОбластьЗаголовок);
   Результат.Вывести(ОбластьШапкаТаблицы);
   Результат.НачатьАвтогруппировкуСтрок();
   
   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
      Результат.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
   КонецЦикла;
   
   Результат.ЗакончитьАвтогруппировкуСтрок();
   Результат.Вывести(ОбластьПодвалТаблицы);

   
       
КонецФункции

&НаКлиенте
Процедура Уволенные(Команда)
   АдресДокНаСервере = УволенныеНаСервере();
   КонецПроцедуры

pavl_vs

Staler, а где условие, в котором определяется, что выбираются только уволенные?
Например, таким условием могло бы быть ДатаУвольнения не есть NULL, или что-то еще.

Staler

Цитата: pavl_vs от 22 дек 2017, 12:51
Staler, а где условие, в котором определяется, что выбираются только уволенные?
Например, таким условием могло бы быть ДатаУвольнения не есть NULL, или что-то еще.
Обьяснии дураку как именно) а то что то решение не могу найти...

pavl_vs

Staler, попробуйте после блока "ИЗ" добавить
ГДЕ
    ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)

т.е. пустое значение - это правильнее, чем условие на NULL.

Staler

Цитата: pavl_vs от 25 дек 2017, 11:57
Staler, попробуйте после блока "ИЗ" добавить
ГДЕ
    ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)

т.е. пустое значение - это правильнее, чем условие на NULL.
Спасибо Огромное!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск