|
Запросом получить только те документы, у которых во всех строках таблицы документа поле " | ☑ | ||
---|---|---|---|---|
0
Kadyroff
30.12.20
✎
13:41
|
Старый запрос выводил документы с условиями, что в табличной части стоит нужная номенклатура и "Сдал"= Истина
"ВЫБРАТЬ | ЛистОбследования.Ссылка, | ЛистОбследования.Номер, | ЛистОбследования.Дата КАК Дата, | ЛистОбследования.Пациент, | ЛистОбследования.Пациент.Наименование КАК ФИО, | ЛистОбследования.Контрагент, | ЛистОбследованиятчПрофосмотр.Номенклатура, | ЛистОбследованиятчПрофосмотр.Направлен, | ЛистОбследованиятчПрофосмотр.Сдал |ИЗ | Документ.ЛистОбследования КАК ЛистОбследования | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЛистОбследования.тчПрофосмотр КАК ЛистОбследованиятчПрофосмотр | ПО ЛистОбследования.Ссылка = ЛистОбследованиятчПрофосмотр.Ссылка |ГДЕ | ЛистОбследования.Закрыт = Ложь | И ЛистОбследования.ПометкаУдаления=Ложь | И ЛистОбследованиятчПрофосмотр.Номенклатура = &Врачи | И ЛистОбследованиятчПрофосмотр.Сдал = Истина Стоит новая задача: запросом получить только те документы, у которых во всех строках таблицы документа поле " Сдал" = Истина в каком направлении двигаться? |
|||
1
Ёпрст
30.12.20
✎
13:45
|
Запросом получить ссылки на документы, где в тч емть строки с сдал= ложь
В основном запросе фильтр на эти доки |
|||
2
Ёпрст
30.12.20
✎
13:47
|
Ну или группировать основной запрос и смотреть, что сумма строк та же..
|
|||
3
acht
30.12.20
✎
13:47
|
имеющие
сумма(выбор когда листобследованиятчпрофосмотр.сдал тогда 1 иначе 0) = количество(листобследованиятчпрофосмотр.сдал) |
|||
4
acht
30.12.20
✎
13:48
|
Профосмотр номенклатуры пугает
|
|||
5
acht
30.12.20
✎
13:49
|
А за сравнение Номенклатура = &Врачи ваще обидно
|
|||
6
ДенисЧ
30.12.20
✎
13:50
|
(4) НОМЕНКЛАТУ́РА
Женский род 2. Совокупность лиц, назначаемых на должность высшей инстанцией офиц.. |
|||
7
acht
30.12.20
✎
13:50
|
(6) Это у которых шапки пирожками?
|
|||
8
Kassern
30.12.20
✎
13:52
|
(0) Что за конфа такая? Полностью самописная?
|
|||
9
Kassern
30.12.20
✎
13:54
|
(0) Как то странно Профосмотр пихать в ТЧ. Если например, одного врача не прошли и снова его пройти получится только через полтора месяца, то вы задним числом залезете в этот документ и поставите сдал?
|
|||
10
ДенисЧ
30.12.20
✎
13:56
|
(7) Не обязательно. Могут быть и папахи. И шляпы в летнее время
|
|||
11
Cthulhu
30.12.20
✎
14:08
|
СУММА(ВЫБОР(КОГДА ЛистОбследования.Закрыт = Ложь И ЛистОбследования.ПометкаУдаления=Ложь
И ЛистОбследованиятчПрофосмотр.Номенклатура = &Врачи И ЛистОбследованиятчПрофосмотр.Сдал = Истина ТОГДА 1 ИНАЧЕ 0 КОНЕЦ )) КАК КвоОк, СУММА(1) КАК КвоИт сгруппировать эту беду подокументно и отфильтровать по КвоОк=КвоИт нэ? |
|||
12
Kadyroff
30.12.20
✎
14:35
|
(4) :) Я вас сейчас еще больше испугаю, принесли базу, где на базе торговли реализован медицинский учет...Бывает и такое....
|
|||
13
Kadyroff
30.12.20
✎
14:39
|
(9) Да, самописная, медицина на базе торговли и склада. Здесь смысл такой, что администратор вводит документ лист обследования, далее врачи в своем интерфейсе вводят результаты осмотра, при проведении этого документа "РезальтатОсмотра", корректируется ЛистОбследования.
|
|||
14
Малыш Джон
30.12.20
✎
16:06
|
(12) Среднюю себестоимость пациента ещё считать не заставляли?)
|
|||
15
Kassern
30.12.20
✎
16:10
|
(14) Это ладно, с НГ еще маркировать заставят, вот будет весело)
|
|||
16
Dmitrii
гуру
30.12.20
✎
17:03
|
(0) Ну так и напиши в конце текста запроса к уже имеющимся условиям ГДЕ.
И НЕ ЛистОбследования.Ссылка В (ВЫБРАТЬ РАЗЛИЧНЫЕ ЛистОбследованиятчПрофосмотр.Ссылка ИЗ Документ.ЛистОбследования.тчПрофосмотр КАК ЛистОбследованиятчПрофосмотр ГДЕ НЕ (ЛистОбследованиятчПрофосмотр.Ссылка.Закрыт ИЛИ ЛистОбследованиятчПрофосмотр.Ссылка.ПометкаУдаления ИЛИ ЛистОбследованиятчПрофосмотр.Сдал) И ЛистОбследованиятчПрофосмотр.Номенклатура = &Врачи |
|||
17
Dmitrii
гуру
30.12.20
✎
17:04
|
+ к (16) Скобочку закрывающую в конце текста забыл.
|
|||
18
Ногаминебить
30.12.20
✎
17:19
|
Не предлагали еще запрос с Группировкой по документу и Минимум Сдал? Во временную таблицу и потом из результата выбрать все истины.
|
|||
19
Kassern
30.12.20
✎
17:31
|
Насколько я понимаю не может быть закрытых листов обследования, где не все осмотры сданы. Могу предложить частное решение задачки: перед записью ЛистОбследования проверять, если тчПрофосмотр.Количество()>0 И тчПрофосмотр.Найти(Ложь,"Сдал")=Неопределено тогда Закрыт = Истина. А далее просто отбор ЛистОбследования.Закрыт = Истина. По уму конечно регистр прикрутить и к нему уже обращаться для запроса.
|
|||
20
Kadyroff
14.01.21
✎
13:59
|
(16) Спасибо. Это то, что нужно! Только условие по номенклатуре сделала отдельным, так нужный врач не попадает.
Подскажите, если по старому условию я отбираю все строки, где Поле Сдал=Истина, то в новом условии необходимо отобрать все строки сдал=Истина кроме той, где Номенклатура=Профпатолог, т.е. эта строка должна быть ложью? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |