Имя: Пароль:
1C
1С v8
Как получить дату записи(период) после команды ПолучитьПоследнее()
,
0 Andrey2C
 
19.02.15
12:20
Подскажите как получить дату последней записи в периодическом регистре сведений?
КадрИстория = РегистрыСведений.РаботникиОрганизаций;
Кадр = КадрИстория.ПолучитьПоследнее(ТекущаяДата(),Выбор);
Сообщить(Кадр.Период); Выдает ошибку поле не найдено.
1 vicof
 
19.02.15
12:21
В таблице среза последних нет поля "период" и быть не может.
2 vicof
 
19.02.15
12:21
Обращайся к физической таблице
3 Andrey2C
 
19.02.15
12:26
А как это примерно сделать, чтобы получить дату последнего перемещения сотрудника?
4 vicof
 
19.02.15
12:31
Написать запрос к физ.таблице, с отбором по перемещению, выбором первой строки и упорядочиванием по убыванию дат
5 LordCMEPTb
 
19.02.15
12:34
(4) Если уж писать запрос, то там можно и виртуальную таблицу взять.
(1) Как вариант можно вместо "ПолучитьПоследнее()" использовать "СрезПоследних()", и уже в таблице смотреть период.
6 Andrey2C
 
19.02.15
12:41
Из-за одной какой то даты прийдеться все переписывать запросом.( Обидно.
7 vicof
 
19.02.15
12:44
(6) Отучайся от этих получитьпоследнее(). Это некошерно.
8 vicof
 
19.02.15
12:45
И если что, то это тоже запрос, только неявный.
9 Kain_wrath
 
19.02.15
12:47
(7) а как кошерно?
10 vicof
 
19.02.15
12:53
(9) см (4)
11 vicof
 
19.02.15
12:57
(1) Сорри, это я с виртуальной таблицей остатков попутал %). Но все равно запросом выбирать, как в (5).
12 Andrey2C
 
19.02.15
16:54
Это текст запроса на получение даты. Если у кого вдруг будет подобный вопрос. Тема закрыта
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
|РаботникиОрганизаций.Сотрудник.Код Как Работник,
|МАКСИМУМ(РаботникиОрганизаций.Период) Как ДатаПеремещения
|ИЗ РегистрСведений.РаботникиОрганизаций КАК
|РаботникиОрганизаций
|ГДЕ РаботникиОрганизаций.Сотрудник.Код = &Сотрудник
|И РаботникиОрганизаций.Должность = &Должность
|И РаботникиОрганизаций.ПодразделениеОрганизации =
|&Подразделение
|СГРУППИРОВАТЬ ПО
|РаботникиОрганизаций.Сотрудник.Код,
|РаботникиОрганизаций.Период
|УПОРЯДОЧИТЬ ПО РаботникиОрганизаций.Период УБЫВ";

Запрос.УстановитьПараметр("Сотрудник",ВыбКод);
Запрос.УстановитьПараметр("Должность",ВыбДолжность);
Запрос.УстановитьПараметр"Подразделение",Выбподразделение);
Результат = Запрос.Выполнить();
Выборка   = Результат.Выбрать();