|
Как сделать отбор по реквизиту подчиненого период-го РС, а не по регистратору? | ☑ | ||
---|---|---|---|---|
0
snegovik
14.12.12
✎
08:36
|
В ЗУП есть периодический регистр сведений "Состояние работников организаций", подчиненный регистратору. Меня же интересует состояние выбранного работника на определенную дату, а регистратор не нужен. По методичке такой код:
НаборЗаписей = РегистрыСведений.СостояниеРаботниковОрганизаций.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ВыбранныйРегистратор); НаборЗаписей.Прочитать(); Для Каждого Запись Из НаборЗаписей Цикл Сообщить(Запись.Состояние); КонецЦикла; А хотелось бы что-то типа такого: НаборЗаписей = РегистрыСведений.СостояниеРаботниковОрганизаций.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Сотрудник.Установить(Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(ВыбСотрудник)); НаборЗаписей.Прочитать(); Для Каждого Запись Из НаборЗаписей Цикл Сообщить(Запись.Состояние); КонецЦикла; |
|||
1
Александр_
Тверь 14.12.12
✎
08:37
|
(0) а тупо запрос сделать?
|
|||
2
Александр_
Тверь 14.12.12
✎
08:38
|
а... ты записывать хочешь.
|
|||
3
snegovik
14.12.12
✎
08:40
|
(2) Нет, только прочитать данные, писать не буду.
|
|||
4
НЕА123
14.12.12
✎
08:40
|
(2)
а запрос-то нужен. |
|||
5
Александр_
Тверь 14.12.12
✎
08:41
|
скорее всего тебе придется запросом получить все документы в которых есть интересующий тебя пациент, а после уже каждый по записям каждого отдельного документа менять то, что ты хочешь.
|
|||
6
Александр_
Тверь 14.12.12
✎
08:42
|
(3) если читать то 100% запрос. Какие еще сомнения?
|
|||
7
НЕА123
14.12.12
✎
08:42
|
ОФФ
>НаборЗаписей.Отбор.Сотрудник.Установить(Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(ВыбСотрудник)); ВыбСотрудник - Кто это? |
|||
8
snegovik
14.12.12
✎
08:44
|
(6) Ладно, буду мастрячить запрос. Просто не силён в них:-)
Ну и чисто теоретически стало интересно - почему нельзя простым отбором выбрать записи из регистра, если есть подчинение регистратору. |
|||
9
snegovik
14.12.12
✎
08:45
|
(7) ВыбСотрудник - переменная с типом значения "справочник сотрудников".
|
|||
10
Defender aka LINN
14.12.12
✎
08:50
|
(7) А что, были сомнения? :)
|
|||
11
snegovik
14.12.12
✎
08:53
|
(7), (10) Пардон, была такая строчка, разумеется:
НаборЗаписей.Отбор.Сотрудник.Установить(ВыбСотрудник); |
|||
12
НЕА123
14.12.12
✎
08:56
|
(10)
да. думал, что такое невозможно. просто додуматься до такого... |
|||
13
snegovik
14.12.12
✎
08:57
|
(12) Ну, не так скопировал, не издевайтесь)
|
|||
14
snegovik
14.12.12
✎
09:17
|
Давайте покритикуем запрос:
Известно, что у этого сотрудника в РС есть запись с датой 28.01.2012. Так вот, когда ВыбПериод = Дата(2012, 01, 28), то запрос выдает результат, а когда ВыбПериод = Дата(2012, 01, 29) - то результата нет. ТекСотрудник = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию("Иванов Иван Иванович"); ВыбПериод = Дата(2012, 01, 29); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СостояниеРаботниковОрганизацийСрезПоследних.Период, | СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник, | СостояниеРаботниковОрганизацийСрезПоследних.Состояние |ИЗ | РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних(&ВыбПериод) КАК СостояниеРаботниковОрганизацийСрезПоследних |ГДЕ | СостояниеРаботниковОрганизацийСрезПоследних.Период = &ВыбПериод | И СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник.Ссылка = &ВыбСотрудник"; Запрос.УстановитьПараметр("ВыбСотрудник", ТекСотрудник); Запрос.УстановитьПараметр("ВыбПериод", ВыбПериод); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка.Сотрудник); Сообщить(Выборка.Состояние); КонецЦикла; |
|||
15
h_miha
14.12.12
✎
09:19
|
"|ГДЕ
| СостояниеРаботниковОрганизацийСрезПоследних.Период = &ВыбПериод" убери |
|||
16
snegovik
14.12.12
✎
09:27
|
(15) Спасибо, заработало)
|
|||
17
НЕА123
14.12.12
✎
09:30
|
да и сотрудника неплохо в параметры засунуть.
|
|||
18
НЕА123
14.12.12
✎
09:31
|
параметры = параметры таблицы
|
|||
19
snegovik
14.12.12
✎
09:32
|
(17) Запрос.УстановитьПараметр("ВыбСотрудник", ТекСотрудник);
Не оно? |
|||
20
НЕА123
14.12.12
✎
09:32
|
(17)
хотя... может и не надо. |
|||
21
Sammo
14.12.12
✎
09:43
|
(20) Можно, тогда отбор будет перед срезом.
|
|||
22
НЕА123
14.12.12
✎
09:47
|
(21)
я к тому, что может ему надо несколько состояний. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |