Перейти к содержанию

Сводный журнал результатов анализов: различия между версиями

Материал из Химсофт Вики
Строка 89: Строка 89:
|-
|-
|№ п/п
|№ п/п
|<code style="background-color: #d4edda;></code> >> <code style="background-color: #d4edda;></code>
|<code>GroupIndex()</code>
<code style="background-color: #fff3e0;></code> >> <code style="background-color: #fff3e0;> / </code> >> <code style="background-color: #fff3e0;> / </code>
|<syntaxhighlight lang="vb">=GroupIndex() + 1</syntaxhighlight>
|<syntaxhighlight lang="vb">=GroupIndex() + 1</syntaxhighlight>
 
для объединения одинаковых ячеек по вертикали (№п/п, дата и время и др.) создана группа на основе поля <code>date_value</code>; сама группировка в таблице не отображается (в настройках таблицы отключены значения <code>Include group header</code> и <code>Include group footer</code>), но позволяет нумеровать строки по группам (фактически - по паре "дата-время")
|-
|-
|Дата, время регистрации
|Дата, время регистрации

Версия от 07:05, 27 января 2026

Параметры

В форме используются 5 фильтров параметров:

Параметр Тип поля Данные Сортировка
1 Выберите лабораторию: выбор одного значения лаборатории, имеющие записи в журналах по алфавиту
2 Выберите источники анализа: выбор нескольких значений источники анализа, относящиеся к выбранной лаборатории (п.1) по алфавиту
3 Выберите объекты анализа: выбор нескольких значений объекты анализа, относящиеся к выбранному источнику (п.2) по алфавиту
4 Дата начала: ввод или выбор даты начало периода (включительно) -
5 Дата завершения: ввод или выбор даты конец периода (включительно) -

Атрибуты

В наборе данных MainDataSet в таблице ATTRIBUTE_NAME используются атрибуты со следующими значениями NAME:

  • Дата и время отбора пробы
  • Номер пробы
  • Примечание для журнала

Внимание!

Описание атрибутов приведено в соответствии с базой данных ASTRA-PG13 на основе созданных пользователем полей.

В других базах этих полей может не быть либо их наименование может отличаться!!!

Отсутствующие в базе атрибуты не будут выводиться в документе. Для корректной работы документа актуализируйте атрибуты в соответствии с приведенным списком.

Поля, данные, выражения, элементы интерфейса и код

Верхний колонтитул

Поля Интерфейс ... >> ...

и данные ... >> ...

Код и комментарии
Название лаборатории Parameters!ReportParameterLaboratory.Value
=Parameters!ReportParameterLaboratory.Value
Владелец версии Code.Globals.GetVersionOwner()
="Владелец версии: " & Code.Globals.GetVersionOwner()

Основная информация

Поля Интерфейс ... >> ...

и данные ... >> ...

Код и комментарии
№ п/п GroupIndex()
=GroupIndex() + 1

для объединения одинаковых ячеек по вертикали (№п/п, дата и время и др.) создана группа на основе поля date_value; сама группировка в таблице не отображается (в настройках таблицы отключены значения Include group header и Include group footer), но позволяет нумеровать строки по группам (фактически - по паре "дата-время")

Дата, время регистрации >>

>> / >> /

=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