Запросы

  • Автор темы Helena
  • Дата начала
Статус
Закрыто для дальнейших ответов.
H

Helena

Гость
#1
Справочник Сотрудники имеет периодичекий реквизит История. Не получается по каждому сотруднику выводить текущее значение Истории.
Подскажите, плиз, почему

Процедура Сформировать()
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
Таб.ВывестиСекцию("Шапка");
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|Сотр=Справочник.Сотрудники.ТекущийЭлемент;
|Ист= Справочник.Сотрудники.История;
|Группировка Сотр упорядочить по Сотр.Наименование;
|";
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

Таб.ВывестиСекцию("Строка");
Пока Запрос.Группировка("Сотр") = 1 Цикл
Если Запрос.Сотр.ЭтоГруппа() = 0 Тогда
Таб.ВывестиСекцию("Строка2");
КонецЕсли;
КонецЦикла;

КонецПроцедуры
 
L

LSH

Гость
#2
Периодические реквизиты в черном запросе - глюк 1С (или фича?)...
Дело в том, что значение периодического реквизита можно получить только если в запросе прописан период, и только на дату "по". Т.к. в вашем запросе даты не важны - можете смело указывать период построения запроса.
Как вариант - можете в группировке по "Сотр" вытягивать значение в переменную, а из нее - в отчет.
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#3
Вопросец один наклюнулся... Почему именно запрос? Если ваш запрос - это все, что необходимо сделать, проще будет выборкой, которая, кстати, именно в этом конкретном случае будет работать быстрее.
 
H

Helena

Гость
#4
В общем итоге мне нужно выбрать работающих на конкретную дату сотрудников, посмотреть их Историю (периодический реквизит, хранит значения документов прием, увольнение, изменение) и в зависимости от неё выбрать документ Изменение, Увольнение или Прием на этого сотрудника
 
Статус
Закрыто для дальнейших ответов.