Сводный журнал результатов анализов: различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| Строка 46: | Строка 46: | ||
При использовании в параметре множественных значений (<code>Multivalue</code>) и множественном выборе в SQL в качестве значений для фильтра <code>WHERE</code> (независимо от типа данных в параметре - и <code>String</code>, и <code>Integer</code>) будет передаваться плоская строка со значениями через запятую, которая будет интерпретироваться SQL как набор литералов. | При использовании в параметре множественных значений (<code>Multivalue</code>) и множественном выборе в SQL в качестве значений для фильтра <code>WHERE</code> (независимо от типа данных в параметре - и <code>String</code>, и <code>Integer</code>) будет передаваться плоская строка со значениями через запятую, которая будет интерпретироваться SQL как набор литералов. | ||
Сравнение будет проводиться по схеме '' | Сравнение будет проводиться по схеме ''"поиск строки в наборе строк"''). | ||
Для корректной работы блок <code>WHERE</code> в SQL должен выглядеть так: | Для корректной работы блок <code>WHERE</code> в SQL должен выглядеть так: | ||
| Строка 59: | Строка 59: | ||
'''Внимание!''' | '''Внимание!''' | ||
В параметре Дата завершения в принимаемой колонке date_value хранятся не только даты, но и время (тип данных Timestamp). При этом устанавливается Дата завершения 00:00:00. | В параметре <code>Дата завершения</code> в принимаемой колонке <code>date_value</code> хранятся не только даты, но и время (тип данных <code>Timestamp</code>). При этом устанавливается <code>Дата завершения 00:00:00</code>, то есть несмотря на символ <code><=</code> по сути параметр принимает значение ''"не включая"''. | ||
Чтобы «захватить» весь последний день целиком нужно добавить один день. | Чтобы «захватить» весь последний день целиком нужно добавить один день. | ||
Версия от 07:45, 5 марта 2026
Параметры
В форме используются 5 фильтров параметров:
| № | Параметр | Тип поля | Данные | Сортировка |
|---|---|---|---|---|
| 1 | Выберите лабораторию:
|
выбор одного значения | лаборатории, имеющие записи в журналах | по алфавиту |
| 2 | Выберите источники анализа:
|
выбор нескольких значений | источники анализа, относящиеся к выбранной лаборатории (п.1)
|
по алфавиту |
| 3 | Выберите объекты анализа:
|
выбор нескольких значений | объекты анализа, относящиеся к выбранному источнику (п.2)
|
по алфавиту |
| 4 | Дата начала:
|
ввод или выбор даты | начало периода (включительно) | - |
| 5 | Дата завершения:
|
ввод или выбор даты | конец периода (включительно) | - |
Внимание!
При использовании в параметре множественных значений (Multivalue) и множественном выборе в SQL в качестве значений для фильтра WHERE (независимо от типа данных в параметре - и String, и Integer) будет передаваться плоская строка со значениями через запятую, которая будет интерпретироваться SQL как набор литералов.
Сравнение будет проводиться по схеме "поиск строки в наборе строк").
Для корректной работы блок WHERE в SQL должен выглядеть так:
WHERE ssf."CHILD_ID"::text IN (@ss_id)
AND ao."ID"::text IN (@ao_id)
Внимание!
В параметре Дата завершения в принимаемой колонке date_value хранятся не только даты, но и время (тип данных Timestamp). При этом устанавливается Дата завершения 00:00:00, то есть несмотря на символ <= по сути параметр принимает значение "не включая".
Чтобы «захватить» весь последний день целиком нужно добавить один день.
Для корректной работы условие в блоке WHERE в SQL должно выглядеть так:
attribute_jrecord_cte.date_value <= (@end_date::Date + interval '1 day')
Атрибуты
В наборе данных MainDataSet в таблице ATTRIBUTE_NAME используются атрибуты со следующими значениями NAME:
- Дата и время отбора пробы
- Номер пробы
- Примечание для журнала
Внимание!
Описание атрибутов приведено в соответствии с базой данных ASTRA-PG13 на основе созданных пользователем полей.
В других базах этих полей может не быть либо их наименование может отличаться!!!
Отсутствующие в базе атрибуты не будут выводиться в документе. Для корректной работы документа актуализируйте атрибуты в соответствии с приведенным списком.
Поля, данные, выражения, элементы интерфейса и код
Верхний колонтитул
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Название лаборатории | Parameters!ReportParameterLaboratory.Value
|
=Parameters!ReportParameterLaboratory.Value
|
| Владелец версии | Code.Globals.GetVersionOwner()
|
="Владелец версии: " & Code.Globals.GetVersionOwner()
|
Основная информация
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| № п/п | GroupIndex()
|
=GroupIndex() + 1
для объединения одинаковых ячеек по вертикали (№п/п, дата и время и др.) создана группа на основе поля |
| Дата, время регистрации | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Результаты >> Дата и время отбора пробы
|
=Fields!date_value.Value.ToString("dd.MM.yyyy hh:mm")
|
| Шифр пробы | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Номер пробы
|
=Fields!code.Value
|
| Информация о пробе | Объекты анализа >> Тип и Наименование
|
=Fields!ao_type.Value & vblf & Fields!ao_name.Value & vblf & Fields!sample_source.Value
|
| Показатель, ед. изм., НД на методику анализа, Дата анализа | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Результаты >> Показатель; Методика анализа; Дата и время отбора пробы
|
=Fields!ind_meth_name.Value & ", " & Code.RemoveTagsSimple(Fields!unit.Value) & vbLF & Fields!norm_document.Value & vbLF & Fields!date_value.Value.ToString("dd.MM.yyyy hh:mm")
Function RemoveTagsSimple(ByVal input As String) As String
Dim tags() As String = {"<span>", "</span>", "<sub>", "</sub>", "<sup>", "</sup>"}
Dim txt As String = input
For Each tag As String In tags
txt = Replace(txt, tag, "", , , CompareMethod.Text)
Next
Return txt
End Function
|
| Результат ед. опр. | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Результаты >> Выбрать показатель >> Раскрыть >> Результат измерения
|
=Fields!single_result.Value
|
| Проверка приемлемости (контроль повторяемости) r ≤ rₙ | >>
|
=Fields!RAZMAH.Value
|
| Результат анализа, Х ± Δ(U) | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Результаты >> Результат; Показатель точности
|
=Fields!result_val.Value & "±" & Fields!result_dc.Value
|
| Норма | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Результаты >> Норма
|
=Code.NormProcessing(Fields!min.Value, Fields!max.Value)
Function NormProcessing(ByVal min As String, ByVal max As String) As String
Dim result As String = ""
Dim hasMin As Boolean = Not String.IsNullOrEmpty(min) AndAlso min <> "0"
Dim hasMax As Boolean = Not String.IsNullOrEmpty(max) AndAlso max <> "0"
If hasMin And hasMax Then
result = min & "-" + max
Else If hasMin Then
result = "≥" & min
Else If hasMax Then
result = "≤" & max
Else
result = "-"
End If
Return result
End Function
|
| Ф.И.О. исполнителя | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Результаты >> Исполнитель
|
=IIF(Not IsNothing(Fields!e_surname.Value), Fields!e_surname.Value & " " & Left(Fields!e_name.Value, 1) & "." & Left(Fields!e_patronymic.Value, 1) & ".", "-")
|
| Примечание | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Результаты >> Примечание
|
=IIF(Not IsNothing(Fields!note.Value), Fields!note.Value, "-")
|
Нижний колонтитул
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Имя программы | Code.Globals.GetProgramName()
|
=Code.Globals.GetProgramName()
|
| Нумерация страниц | Номер страницы Globals!PageNumber и всего страниц Globals!TotalPages
|
="Страница " & Globals!PageNumber & " из " & Globals!TotalPages
|