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

Протокол испытаний (вода): различия между версиями

Материал из Химсофт Вики
 
(не показаны 34 промежуточные версии этого же участника)
Строка 86: Строка 86:
'''Внимание!'''  
'''Внимание!'''  


Также для фильтров п.5 и п.8 используются составные поля в DataSet, образующиеся с помощью функции [[Scripts#FormatFio()|<code>FormatFio()</code>]]:
<gallery mode="packed" heights="100px">
<gallery mode="packed" heights="100px">
Файл:concat_filter_fields.png
Файл:concat_filter_fields.png
Файл:concat_filter_fields_2.png
</gallery>
</gallery>
Для фильтров п.5 и п.8 используются составные поля в DataSet, образующиеся с помощью функции [[Scripts#FormatFio()|<code>FormatFio()</code>]]:
Для фильтра п.4 используется составное поле в DataSet, образующееся с помощью следующей функции:
<syntaxhighlight lang="vb">
Public Function SetNumAndDate(num As String, minDate As Date, maxDate As Date) As String
Dim result As String = num
   
Dim hasMin As Boolean = (minDate <> DateTime.MinValue)
Dim hasMax As Boolean = (maxDate <> DateTime.MinValue)
If hasMin And Not hasMax Then
result &= ", " & minDate.ToString("dd.MM.yyyy")
ElseIf Not hasMin And hasMax Then
result &= ", " & maxDate.ToString("dd.MM.yyyy")
ElseIf hasMin And hasMax Then
If minDate.Date = maxDate.Date Then
result &= ", " & minDate.ToString("dd.MM.yyyy")
Else
result &= ", " & minDate.ToString("dd.MM.yyyy") & " - " & maxDate.ToString("dd.MM.yyyy")
End If
End If
       
Return result.Trim()
End Function
</syntaxhighlight>
</div>
</div>


Строка 123: Строка 149:
</div>
</div>


В наборах данных <code>FilterYearDataSet</code>, <code>FilterMonthDataSet</code> и <code>FilterNumAndDateDataSet</code> в таблице <code>ATTRIBUTE_NAME</code> используются атрибуты со следующими значениями <code>NAME</code>:
В наборах данных <code>FilterYearDataSet</code>, <code>FilterMonthDataSet</code>, <code>FilterNumAndDateDataSet</code>, <code>AoDataSet</code> и <code>SsDataSet</code> в таблице <code>ATTRIBUTE_NAME</code> используются атрибуты со следующими значениями <code>NAME</code>:
<div style="column-count: 2;">
<div style="column-count: 2;">
*№ акта
*№ акта
Строка 244: Строка 270:
|-
|-
|Заголовок
|Заголовок
|
|<code>Parameters!ReportParameterProtocolNum.Value</code> и <code>Parameters!ReportParameterDate.Value</code>
|<syntaxhighlight lang="vb">="ПРОТОКОЛ ИССЛЕДОВАНИЙ № " & Parameters!ReportParameterProtocolNum.Value & " от " & Parameters!ReportParameterDate.Value</syntaxhighlight>
|<syntaxhighlight lang="vb">="ПРОТОКОЛ ИССЛЕДОВАНИЙ № " & Parameters!ReportParameterProtocolNum.Value & " от " & Parameters!ReportParameterDate.Value</syntaxhighlight>
|-
|-
|1. Наименование объектов:
|1. Наименование объектов:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code>
 
<code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект>> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Дополнительная информация</code> >> <code style="background-color: #d4edda;>Краткое наименование</code>
 
<code style="background-color: #fff3e0;>Fields!ao_name.Value</code> >> <code style="background-color: #fff3e0;>ao_name / AoDataSet</code> >> <code style="background-color: #fff3e0;>NAME / ANALYSIS_OBJECT</code>, <code style="background-color: #fff3e0;>STRING_VALUE / ANALYSIS_OBJECT_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!ao_name.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!ao_name.Value)</syntaxhighlight>
|-
|-
|2. Наименование и контактные данные заказчика:
|2. Наименование и контактные данные заказчика:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Заказчик</code>, <code style="background-color: #d4edda;>Контактные данные заказчика</code>
<code style="background-color: #fff3e0;>Fields!employer.Value, Fields!contacts.Value</code> >> <code style="background-color: #fff3e0;>employer, contacts / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=ConcatFields(", ", Fields!employer.Value, Fields!contacts.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">=ConcatFields(", ", Fields!employer.Value, Fields!contacts.Value)</syntaxhighlight>
|-
|-
|3. Юридический адрес заказчика:
|3. Юридический адрес заказчика:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Юридический адрес заказчика</code>
<code style="background-color: #fff3e0;>Fields!juridical_address.Value</code> >> <code style="background-color: #fff3e0;>juridical_address / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!juridical_address.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!juridical_address.Value)</syntaxhighlight>
|-
|-
|4. Фактический адрес места осуществления деятельности заказчика:
|4. Фактический адрес места осуществления деятельности заказчика:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Фактический адрес заказчика</code>
<code style="background-color: #fff3e0;>Fields!fact_address.Value</code> >> <code style="background-color: #fff3e0;>fact_address / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!fact_address.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!fact_address.Value)</syntaxhighlight>
|-
|-
|5. Основание для отбора проб и проведения исследований:
|5. Основание для отбора проб и проведения исследований:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Основание для отбора проб</code>
<code style="background-color: #fff3e0;>Fields!basis.Value</code> >> <code style="background-color: #fff3e0;>basis / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!basis.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!basis.Value)</syntaxhighlight>
|-
|-
|6. План отбора проб:
|6. План отбора проб:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>План отбора</code>
<code style="background-color: #fff3e0;>Fields!plane.Value</code> >> <code style="background-color: #fff3e0;>plane / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!plane.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!plane.Value)</syntaxhighlight>
|-
|-
|7. Места отбора проб:
|7. Места отбора проб:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Источник</code> >> <code style="background-color: #d4edda;>Место отбора</code>
<code style="background-color: #fff3e0;>Fields!ss_name.Value</code> >> <code style="background-color: #fff3e0;>ss_name / SsDataSet</code> >> <code style="background-color: #fff3e0;>SHORT_NAME / SAMPLE_SOURCE</code>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!ss_name.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!ss_name.Value)</syntaxhighlight>
|-
|-
|8. Методы отбора и консервации проб:
|8. Методы отбора и консервации проб:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Метод отбора проб</code>
<code style="background-color: #fff3e0;>Fields!method_sample.Value</code> >> <code style="background-color: #fff3e0;>method_sample / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!method_sample.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!method_sample.Value)</syntaxhighlight>
|-
|-
|9. Регистрационный номер акта отбора проб, дата отбора:
|9. Регистрационный номер акта отбора проб, дата отбора:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>№ акта</code>, <code style="background-color: #d4edda;>Дата, время отбора</code>
<code style="background-color: #fff3e0;>Fields!act_num.Value, Fields!min_date_selection.Value, Fields!max_date_selection.Value</code> >> <code style="background-color: #fff3e0;>act_num, min_date_selection, max_date_selection / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE, DATE_VALUE / JOURNAL_RECORD_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=SetNumAndDate(Fields!act_num.Value,  Fields!min_date_selection.Value, Fields!max_date_selection.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">=SetNumAndDate(Fields!act_num.Value,  Fields!min_date_selection.Value, Fields!max_date_selection.Value)</syntaxhighlight>
|-
|-
|10. Дата поступления проб в Химическую лабораторию:
|10. Дата поступления проб в Химическую лабораторию:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Дата поступления пробы</code>
<code style="background-color: #fff3e0;>Fields!date_receipt.Value</code> >> <code style="background-color: #fff3e0;>date_receipt / MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / JOURNAL_RECORD_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=GetOrDash(Format(Fields!date_receipt.Value, "dd.MM.yyyy"))</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(Format(Fields!date_receipt.Value, "dd.MM.yyyy"))</syntaxhighlight>
|-
|-
|11. Даты проведения исследований:
|11. Даты проведения исследований:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Результаты</code> >> <code style="background-color: #d4edda;>Ввод результатов</code> >> <code style="background-color: #d4edda;>Дата анализа</code>
<code style="background-color: #fff3e0;>Fields!min_date_analysis.Value, Fields!max_date_analysis.Value</code> >> <code style="background-color: #fff3e0;>min_date_analysis, max_date_analysis / MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / JOURNAL_RESULT_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=RangeDate(Fields!min_date_analysis.Value, Fields!max_date_analysis.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">=RangeDate(Fields!min_date_analysis.Value, Fields!max_date_analysis.Value)</syntaxhighlight>
<syntaxhighlight lang="vb">
Public Function RangeDate(minDate As Object, maxDate As Object) As String
Dim hasMin As Boolean = Not minDate Is Nothing
Dim hasMax As Boolean = Not maxDate Is Nothing
If Not hasMin And Not hasMax Then Return "-"
If hasMin And Not hasMax Then
Return minDate.Date
ElseIf Not hasMin And hasMax Then
Return maxDate.Date
ElseIf hasMin And hasMax Then
If minDate.Date = maxDate.Date Then
Return minDate.Date
Else
Return minDate.Date & " - " & maxDate.Date
End If
End If
End Function
</syntaxhighlight>
|-
|-
|}
|}
Строка 302: Строка 362:
|-
|-
|Номер таблицы
|Номер таблицы
|
|Номер <code>GroupIndex()</code> задается по группе. Группировка задана по полю <code>Fields!code.Value</code>
|<syntaxhighlight lang="vb">=12 + GroupIndex() & "."</syntaxhighlight>
|<syntaxhighlight lang="vb">=12 + GroupIndex() & "."</syntaxhighlight>
|-
|-
|Шифр пробы:
|Шифр пробы:
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Шифр пробы</code>
|<syntaxhighlight lang="vb">=First(Fields!code.Value)</syntaxhighlight>
<code style="background-color: #fff3e0;>Fields!code.Value</code> >> <code style="background-color: #fff3e0;>code / ResultDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=Fields!code.Value</syntaxhighlight>
|-
|-
|Точка отбора (объект):
|Точка отбора (объект):
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Источник</code> >> <code style="background-color: #d4edda;>Место отбора</code>, <code style="background-color: #d4edda;>Точка отбора</code>
|<syntaxhighlight lang="vb">=First(Fields!parent_ss_name.Value) & ", " & First(Fields!child_ss_name.Value)</syntaxhighlight>
<code style="background-color: #fff3e0;>Fields!parent_ss_name.Value, Fields!child_ss_name.Value, Fields!ao_short_name.Value</code> >> <code style="background-color: #fff3e0;>ss_name / ResultDataSet</code> >> <code style="background-color: #fff3e0;>SHORT_NAME / SAMPLE_SOURCE</code>, <code style="background-color: #fff3e0;>STRING_VALUE / ANALYSIS_OBJECT_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=Fields!parent_ss_name.Value & ", " & Fields!child_ss_name.Value & " (" & Fields!ao_short_name.Value & ")"</syntaxhighlight>
|-
|-
|№ п/п
|№ п/п
|
|<code style="background-color: #fff3e0;>SQL</code>
|<syntaxhighlight lang="vb">=Fields!row_index.Value</syntaxhighlight>
|<syntaxhighlight lang="vb">=Fields!row_index.Value</syntaxhighlight>
|-
|-
|Определяемый показатель
|Определяемый показатель
|
|<code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка объекта анализа</code> >> Выбрать показатель >> <code style="background-color: #d4edda;>Карточка показателя</code> >> <code style="background-color: #d4edda;>Наименование</code>
<code style="background-color: #d4edda;>Методики анализа</code> >> Выбрать методику >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка методики анализа</code> >> <code style="background-color: #d4edda;>Наименование по методике</code>
 
<code style="background-color: #fff3e0;>Fields!met_ind_name.Value, Fields!ind_name.Value</code> >> <code style="background-color: #fff3e0;>met_ind_name, ind_name / ResultDataSet</code> >> <code style="background-color: #fff3e0;>INDICATOR_METHODOLOGY_NAME / METHODOLOGY_INDICATOR</code>, <code style="background-color: #fff3e0;>NAME / INDICATOR</code>
|<syntaxhighlight lang="vb">=IIF(Fields!met_ind_name.Value, Fields!met_ind_name.Value.Trim(), Fields!ind_name.Value.Trim())</syntaxhighlight>
|<syntaxhighlight lang="vb">=IIF(Fields!met_ind_name.Value, Fields!met_ind_name.Value.Trim(), Fields!ind_name.Value.Trim())</syntaxhighlight>
|-
|-
|Единица измерения
|Единица измерения
|
|<code style="background-color: #d4edda;>Методики анализа</code> >> Выбрать методику >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка методики анализа</code> >> <code style="background-color: #d4edda;>Единица измерения</code>
 
<code style="background-color: #fff3e0;>Fields!unit.Value</code> >> <code style="background-color: #fff3e0;>unit / ResultDataSet</code> >> <code style="background-color: #fff3e0;>HTML_NAME / UNIT</code>
|<syntaxhighlight lang="html">="<style> body {font-family: 'Times New Roman', Times, serif; font-size: 10pt; line-height: 1.0; text-align: center; margin-top: 2px;} sup {vertical-align: 2pt; font-size: 8pt;} sub {vertical-align: -1pt; font-size: 8pt;} </style> <body> " & Fields!unit.Value &"</body>"</syntaxhighlight>
|<syntaxhighlight lang="html">="<style> body {font-family: 'Times New Roman', Times, serif; font-size: 10pt; line-height: 1.0; text-align: center; margin-top: 2px;} sup {vertical-align: 2pt; font-size: 8pt;} sub {vertical-align: -1pt; font-size: 8pt;} </style> <body> " & Fields!unit.Value &"</body>"</syntaxhighlight>
|-
|-
|Результаты лабораторных исследований
|Результаты лабораторных исследований
|
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать подразделение >> Выбрать запись <code style="background-color: #d4edda;>Результаты</code> >> <code style="background-color: #d4edda;>Результат, Показатель точности</code> 
 
<code style="background-color: #d4edda;>Методики анализа</code> >> Выбрать методику >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка методики анализа</code> >> <code style="background-color: #d4edda;>Выбрать строку</code> >> <code style="background-color: #d4edda;>Карточка показателей качества</code> >> <code style="background-color: #d4edda;>Диапазон</code>
 
<code style="background-color: #fff3e0;>Fields!avg_result.Value, Fields!error.Value, Fields!min.Value, Fields!max.Value</code> >> <code style="background-color: #fff3e0;>avg_result, error, min, max / ResultDataSet</code> >> <code style="background-color: #fff3e0;>AVG_R, DC, RANGE_MIN, RANGE_MAX / JOURNAL_RESULT</code>
|<syntaxhighlight lang="vb">=GetOrDash(GetResult(Fields!avg_result.Value, Fields!error.Value, Fields!min.Value, Fields!max.Value))</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(GetResult(Fields!avg_result.Value, Fields!error.Value, Fields!min.Value, Fields!max.Value))</syntaxhighlight>
<syntaxhighlight lang="vb">
Public Function GetResult (avgR As Double, err As Double, min As Double, max As Double) As String
If avgR >= min And avgR <= max Then
Return avgR & " ± " & err
ElseIf avgR <= min Then
Return "менее " & min
ElseIf avgR > max Then
Return "более " & max
Else
Return "-"
End If
End Function
</syntaxhighlight>
|-
|-
|Применяемая методика измерений
|Применяемая методика измерений
|
|<code style="background-color: #d4edda;>Методики анализа</code> >> Выбрать методику >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка методики анализа</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Нормативный документ</code>
<code style="background-color: #fff3e0;>Fields!norm_doc.Value</code> >> <code style="background-color: #fff3e0;>norm_doc / ResultDataSet</code> >> <code style="background-color: #fff3e0;>NORMATIVE_DOCUMENT / METHODOLOGY</code>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!norm_doc.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!norm_doc.Value)</syntaxhighlight>
|-
|}
===Средства измерений (СИ), испытательное оборудование (ИО), применяемые для проведения исследований===
{|class="wikitable" style="margin:auto; background-color: #fff; width:100%;"
|-
!Поля
!Интерфейс <code style="background-color: #d4edda;>...</code> >> <code style="background-color: #d4edda;>...</code>
и данные <code style="background-color: #fff3e0;>...</code> >> <code style="background-color: #fff3e0;>...</code>
!Код и комментарии
|-
|Номер таблицы
|rowspan = 2|Подсчет номера таблицы и нумерации раздела в строках в зависимости от количества таблиц (по сути - количества шифров проб <code>Fields!code.Value</code>) предыдущего раздела с результатами (<code>ResultDataSet</code>)
|<syntaxhighlight lang="vb">=12 + CountDistinct(Fields!code.Value, "ResultDataSet") & "."</syntaxhighlight>
|-
|№ п/п
|<syntaxhighlight lang="vb">=12 + CountDistinct(Fields!code.Value, "ResultDataSet") & "." & RowNumber()</syntaxhighlight>
|-
|Наименование
|<code style="background-color: #d4edda;>Ресурсы</code> >> <code style="background-color: #d4edda;>Оборудование</code> >> Выбор записи >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка оборудования</code> >> <code style="background-color: #d4edda;>Наименование</code>
<code style="background-color: #fff3e0;>Fields!res_name.Value</code> >> <code style="background-color: #fff3e0;>res_name / ResourcesDataSet</code> >> <code style="background-color: #fff3e0;>NAME / RESOURCES</code>
|<syntaxhighlight lang="vb">=Fields!res_name.Value</syntaxhighlight>
|-
|Модель
|<code style="background-color: #d4edda;>Ресурсы</code> >> <code style="background-color: #d4edda;>Оборудование</code> >> Выбор записи >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка оборудования</code> >> <code style="background-color: #d4edda;>Марка</code>
<code style="background-color: #fff3e0;>Fields!res_mark.Value</code> >> <code style="background-color: #fff3e0;>res_mark / ResourcesDataSet</code> >> <code style="background-color: #fff3e0;>MARK / RESOURCES</code>
|<syntaxhighlight lang="vb">=Fields!res_mark.Value</syntaxhighlight>
|-
|Вид
|<code style="background-color: #d4edda;>Ресурсы</code> >> <code style="background-color: #d4edda;>Оборудование</code> >> Выбор записи >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка оборудования</code> >> <code style="background-color: #d4edda;>Тип оборудования</code>
<code style="background-color: #fff3e0;>Fields!res_service_type.Value</code> >> <code style="background-color: #fff3e0;>res_service_type / ResourcesDataSet</code> >> <code style="background-color: #fff3e0;>NAME / CATALOG_RECORD_TYPE</code>
|<syntaxhighlight lang="vb">=IIF(Fields!res_service_type.Value = "Средство измерений", "СИ", "ИО")</syntaxhighlight>
|-
|Заводской номер
|<code style="background-color: #d4edda;>Ресурсы</code> >> <code style="background-color: #d4edda;>Оборудование</code> >> Выбор записи >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка оборудования</code> >> <code style="background-color: #d4edda;>Заводской номер</code>
<code style="background-color: #fff3e0;>Fields!factory_number.Value</code> >> <code style="background-color: #fff3e0;>factory_number / ResourcesDataSet</code> >> <code style="background-color: #fff3e0;>FACTORY_NUMBER / RESOURCES</code>
|<syntaxhighlight lang="vb">=Fields!factory_number.Value</syntaxhighlight>
|-
|Сведения о поверке СИ / аттестации ИО*
|<code style="background-color: #d4edda;>Ресурсы</code> >> <code style="background-color: #d4edda;>Оборудование</code> >> Выбор записи >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка оборудования</code> >> <code style="background-color: #d4edda;>Обслуживание</code> >> <code style="background-color: #d4edda;>Номер документа об обслуживании</code>
<code style="background-color: #fff3e0;>Fields!res_service_doc.Value</code> >> <code style="background-color: #fff3e0;>res_service_doc / ResourcesDataSet</code> >> <code style="background-color: #fff3e0;>SERVICE_DOCUMENT / RESOURCE_SERVICE</code>
|<syntaxhighlight lang="vb">=Fields!res_service_doc.Value</syntaxhighlight>
|-
|СИ поверено до / ИО аттестовано до
|<code style="background-color: #d4edda;>Ресурсы</code> >> <code style="background-color: #d4edda;>Оборудование</code> >> Выбор записи >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка оборудования</code> >> <code style="background-color: #d4edda;>Обслуживание</code> >> <code style="background-color: #d4edda;>Дата следующего обслуживания по плану</code>
<code style="background-color: #fff3e0;>Fields!res_service_date.Value</code> >> <code style="background-color: #fff3e0;>res_service_date / ResourcesDataSet</code> >> <code style="background-color: #fff3e0;>NEXT_DATE / RESOURCE_SERVICE</code>
|<syntaxhighlight lang="vb">=Fields!res_service_date.Value</syntaxhighlight>
|-
|Определяемые показатели
|<code style="background-color: #fff3e0;>SQL</code>
|<syntaxhighlight lang="vb">=Fields!row_indices.Value</syntaxhighlight>
|-
|}
===Дополнительная информация===
{|class="wikitable" style="margin:auto; background-color: #fff; width:100%;"
|-
!Интерфейс <code style="background-color: #d4edda;>...</code> >> <code style="background-color: #d4edda;>...</code>
и данные <code style="background-color: #fff3e0;>...</code> >> <code style="background-color: #fff3e0;>...</code>
!Код и комментарии
|-
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Отклонения, дополнения или исключения из МИ</code>
<code style="background-color: #fff3e0;>Fields!note_1.Value</code> >> <code style="background-color: #fff3e0;>note_1 / NoteDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=Fields!note_1.Value</syntaxhighlight>
|-
|<code style="background-color: #d4edda;>Лабораторные журналы</code> >> Выбрать лабораторию >> <code style="background-color: #d4edda;>Вода. Регистрация и результаты</code> >> <code style="background-color: #d4edda;>Объекты анализа</code> >> Выбрать объект >> <code style="background-color: #d4edda;>Редактировать</code> >> <code style="background-color: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Условия проведения исследований</code>
<code style="background-color: #fff3e0;>Fields!note_2.Value</code> >> <code style="background-color: #fff3e0;>note_2 / NoteDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">=Fields!note_2.Value</syntaxhighlight>
|-
|<code style="background-color: #fff3e0;>Fields!count_result.Value, Fields!row_index.Value</code> >> <code style="background-color: #fff3e0;>count_result, row_index / ResultDataSet</code> >> <code style="background-color: #fff3e0;>VALUE / JRPARALLELVARS</code>; <code style="background-color: #fff3e0;>SQL</code>
|<syntaxhighlight lang="html">="<style> body {font-family: 'Times New Roman', Times, serif; font-size: 10pt; line-height: 1; margin-top: 1.5pt; margin-bottom: 1.5pt;}</style> <body>" &ProcessingCountResult(LookupSet(1, Fields!count_result.Value, Fields!row_index.Value, "ResultDataSet"), LookupSet(2, Fields!count_result.Value, Fields!row_index.Value, "ResultDataSet")) & "</body>"</syntaxhighlight>
|-
|<code>Parameters!ReportParameterNumEx.Value</code>
|<syntaxhighlight lang="vb">=Parameters!ReportParameterNumEx.Value</syntaxhighlight>
|-
|}
===Протокол подготовил===
{|class="wikitable" style="margin:auto; background-color: #fff; width:100%;"
|-
!Поля
!Интерфейс <code style="background-color: #d4edda;>...</code> >> <code style="background-color: #d4edda;>...</code>
и данные <code style="background-color: #fff3e0;>...</code> >> <code style="background-color: #fff3e0;>...</code>
!Код и комментарии
|-
|Должность
|<code style="background-color: #d4edda;>Персонал</code> >> Выбрать запись >> <code style="background-color: #d4edda;>Карточка сотрудника</code> >> <code style="background-color: #d4edda;>Должность</code>
<code style="background-color: #fff3e0;>Fields!position.Value</code> >> <code style="background-color: #fff3e0;>position / FilterDataSetFio</code> >> <code style="background-color: #fff3e0;>SURNAME; NAME; PATRONYMIC / EMPLOYEE</code>
|<syntaxhighlight lang="vb">=Fields!position.Value</syntaxhighlight>
|-
|И.О. Фамилия
|<code style="background-color: #d4edda;>Персонал</code> >> Выбрать запись >> <code style="background-color: #d4edda;>Карточка сотрудника</code> >> <code style="background-color: #d4edda;>Фамилия</code>; <code style="background-color: #d4edda;>Имя</code>; <code style="background-color: #d4edda;>Отчество</code>
<code style="background-color: #fff3e0;>Fields!surname.Value, Fields!name.Value, Fields!patronimyc.Value</code> >> <code style="background-color: #fff3e0;>surname, name, patronimyc / FilterDataSetFio</code> >> <code style="background-color: #fff3e0;>SURNAME; NAME; PATRONYMIC / EMPLOYEE</code>
|<syntaxhighlight lang="vb">=FormatFio(Fields!surname.Value, Fields!name.Value, Fields!patronymic.Value, 2)</syntaxhighlight>
*используется функция [[Scripts#FormatFio()|<code>FormatFio()</code>]]
|-
|}
===Нижний колонтитул===
{|class="wikitable" style="margin:auto; background-color: #fff; width:100%;"
|-
!Поля
!Интерфейс <code style="background-color: #d4edda;>...</code> >> <code style="background-color: #d4edda;>...</code>
и данные <code style="background-color: #fff3e0;>...</code> >> <code style="background-color: #fff3e0;>...</code>
!Код и комментарии
|-
|Протокол исследований №... распечатан ...
|<code>Parameters!ReportParameterProtocolNum.Value</code>
|<syntaxhighlight lang="vb">="Протокол исследований № " & Parameters!ReportParameterProtocolNum.Value & " распечатан " & Now().ToString("dd.MM.yyyy")</syntaxhighlight>
|-
|Нумерация страниц
|Номер страницы <code>Globals!PageNumber</code>,<br>всего страниц <code>Globals!TotalPages</code>
|<syntaxhighlight lang="vb">="Страница " & (Globals!PageNumber + 1) & " из " & Globals!TotalPages</syntaxhighlight>
|-
|-
|}
|}

Текущая версия от 09:49, 8 апреля 2026

Общий вид

Page1

Page2

Параметры

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

Параметр Тип поля Данные Сортировка
1 Выберите лабораторию: выбор значения перечень лабораторий по алфавиту
2 Выберите год: выбор значения годы, в которых создавались протоколы по убыванию
3 Выберите месяц: выбор значения месяцы лет года из п.2, в которых создавались протоколы по возрастанию
4 Выберите номер акта отбора проб: выбор значения протоколы года из п.2 и месяца из п.3 по возрастанию
5 Укажите Ф.И.О. сотрудника, утверждающего протокол: выбор значения сотрудники лаборатории (п.1) по алфавиту
6 Укажите дату утверждения протокола: поле-календарь текущие дата и время (значение по умолчанию) -
7 Введите номер протокола: ввод текста 1 (значение по умолчанию) -
8 Выберите Ф.И.О. сотрудника, подготовившего протокол: выбор одного или нескольких значений сотрудники лаборатории (п.1) по алфавиту
9 Укажите количество экземпляров: ввод текста Протокол распечатан в одном экземпляре (значение по умолчанию) -
10 Выберите тип протокола: выбор значения Новый протокол (значение по умолчанию) -
11 Выберите номер протокола на замену: ввод текста пустое поле по умолчанию -

Внимание!

Для фильтров п.5 и п.8 используются составные поля в DataSet, образующиеся с помощью функции FormatFio():

Для фильтра п.4 используется составное поле в DataSet, образующееся с помощью следующей функции:

Public Function SetNumAndDate(num As String, minDate As Date, maxDate As Date) As String
	Dim result As String = num
    
	Dim hasMin As Boolean = (minDate <> DateTime.MinValue)
	Dim hasMax As Boolean = (maxDate <> DateTime.MinValue)

	If hasMin And Not hasMax Then
		result &= ", " & minDate.ToString("dd.MM.yyyy")
	ElseIf Not hasMin And hasMax Then
		result &= ", " & maxDate.ToString("dd.MM.yyyy")
	ElseIf hasMin And hasMax Then
		If minDate.Date = maxDate.Date Then
			result &= ", " & minDate.ToString("dd.MM.yyyy")
		Else
			result &= ", " & minDate.ToString("dd.MM.yyyy") & " - " & maxDate.ToString("dd.MM.yyyy")
		End If
	End If
        
	Return result.Trim()
End Function

Атрибуты

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

  • Полное наименование
  • Юридический адрес

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

  • Официальное наименование лаборатории
  • Место осуществления деятельности
  • Контактные данные
  • Аттестат аккредитации

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

  • Заказчик
  • Контактные данные заказчика
  • Юридический адрес заказчика
  • Фактический адрес заказчика
  • Основание для отбора проб
  • План отбора
  • Метод отбора проб
  • № акта
  • Дата, время отбора
  • Дата поступления пробы
  • Шифр пробы
  • Дата анализа

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

  • № акта
  • Дата, время отбора

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

  • Шифр пробы
  • № акта
  • Дата, время отбора

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

  • Шифр пробы
  • № акта
  • Дата, время отбора
  • Оборудование 1
  • Оборудование 2

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

  • № акта
  • Дата, время отбора
  • Отклонения, дополнения или исключения из МИ
  • Условия проведения исследований

Внимание!

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

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

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

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

Информация об организации

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

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

Код и комментарии
Полное наименование головной организации Подразделения предприятия >> Выбрать основное предприятие >> Редактировать >> Карточка подразделения >> Дополнительная информация >> Полное наименование

Fields!full_name.Value >> full_name / HeadOrgInfoDataSet >> STRING_VALUE / COMPANY_LEVEL_ATTRIBUTE

=First(Fields!full_name.Value)
Краткое наименование головной организации Подразделения предприятия >> Выбрать основное предприятие >> Редактировать >> Карточка подразделения >> Краткое наименование

Fields!short_name.Value >> short_name / HeadOrgInfoDataSet >> SHORT_NAME / COMPANY_LEVEL

="(" & First(Fields!short_name.Value) & ")"
Юридический адрес головной организации Подразделения предприятия >> Выбрать основное предприятие >> Редактировать >> Карточка подразделения >> Дополнительная информация >> Юридический адрес

Fields!registered_address.Value >> registered_address / HeadOrgInfoDataSet >> STRING_VALUE / COMPANY_LEVEL_ATTRIBUTE

=First(Fields!registered_address.Value)
Официальное наименование лаборатории Подразделения предприятия >> + >> Выбрать предприятие >> Редактировать >> Карточка подразделения >> Дополнительная информация >> Официальное наименование лаборатории

Fields!official_name.Value >> official_name / OrgInfoDataSet >> STRING_VALUE / COMPANY_LEVEL_ATTRIBUTE

=First(Fields!official_name.Value)
Полное наименование лаборатории Подразделения предприятия >> + >> Выбрать предприятие >> Редактировать >> Карточка подразделения >> Полное наименование

Fields!full_name.Value >> full_name / OrgInfoDataSet >> FULL_NAME / COMPANY_LEVEL

=First(Fields!full_name.Value)
Адрес места осуществления лабораторной деятельности Подразделения предприятия >> + >> Выбрать предприятие >> Редактировать >> Карточка подразделения >> Дополнительная информация >> Место осуществления деятельности

Fields!place_activity.Value, Fields!contacts.Value >> place_activity, contacts / OrgInfoDataSet >> STRING_VALUE / COMPANY_LEVEL_ATTRIBUTE

="Адрес места осуществления лабораторной деятельности: " & ConcatFields(vbLF, Fields!place_activity.Value, Fields!contacts.Value)
Сведения об аккредитации Подразделения предприятия >> + >> Выбрать предприятие >> Редактировать >> Карточка подразделения >> Дополнительная информация >> Аттестат аккредитации

Fields!attestat.Value >> attestat / OrgInfoDataSet >> STRING_VALUE / COMPANY_LEVEL_ATTRIBUTE

="Уникальный номер записи в реестре аккредитованных лиц Национальной системы аккредитации " & Fields!attestat.Value

Блок утверждения

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

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

Код и комментарии
Должность Персонал >> Выбрать запись >> Карточка сотрудника >> Должность

Fields!position.Value >> position / FilterDataSetFio >> SURNAME; NAME; PATRONYMIC / EMPLOYEE

=First(Fields!position.Value)
И.О. Фамилия Персонал >> Выбрать запись >> Карточка сотрудника >> Фамилия; Имя; Отчество

Fields!surname.Value, Fields!name.Value, Fields!patronimyc.Value >> surname, name, patronimyc / FilterDataSetFio >> SURNAME; NAME; PATRONYMIC / EMPLOYEE

=FormatFio(Fields!surname.Value, Fields!name.Value, Fields!patronimyc.Value, 2)
Дата Parameters!ReportParameterDate.Value
=Format(Parameters!ReportParameterDate.Value, "dd.MM.yyyy")

Общие данные протокола исследований

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

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

Код и комментарии
Заголовок Parameters!ReportParameterProtocolNum.Value и Parameters!ReportParameterDate.Value
="ПРОТОКОЛ ИССЛЕДОВАНИЙ № " & Parameters!ReportParameterProtocolNum.Value & " от " & Parameters!ReportParameterDate.Value
1. Наименование объектов: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа

Объекты анализа >> Выбрать объект>> Редактировать >> Дополнительная информация >> Краткое наименование

Fields!ao_name.Value >> ao_name / AoDataSet >> NAME / ANALYSIS_OBJECT, STRING_VALUE / ANALYSIS_OBJECT_ATTRIBUTE

=GetOrDash(Fields!ao_name.Value)
2. Наименование и контактные данные заказчика: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Информация >> Заказчик, Контактные данные заказчика

Fields!employer.Value, Fields!contacts.Value >> employer, contacts / MainDataSet >> STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE

=ConcatFields(", ", Fields!employer.Value, Fields!contacts.Value)
3. Юридический адрес заказчика: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Информация >> Юридический адрес заказчика

Fields!juridical_address.Value >> juridical_address / MainDataSet >> STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE

=GetOrDash(Fields!juridical_address.Value)
4. Фактический адрес места осуществления деятельности заказчика: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Информация >> Фактический адрес заказчика

Fields!fact_address.Value >> fact_address / MainDataSet >> STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE

=GetOrDash(Fields!fact_address.Value)
5. Основание для отбора проб и проведения исследований: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Информация >> Основание для отбора проб

Fields!basis.Value >> basis / MainDataSet >> STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE

=GetOrDash(Fields!basis.Value)
6. План отбора проб: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Информация >> План отбора

Fields!plane.Value >> plane / MainDataSet >> STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE

=GetOrDash(Fields!plane.Value)
7. Места отбора проб: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Источник >> Место отбора

Fields!ss_name.Value >> ss_name / SsDataSet >> SHORT_NAME / SAMPLE_SOURCE

=GetOrDash(Fields!ss_name.Value)
8. Методы отбора и консервации проб: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Информация >> Метод отбора проб

Fields!method_sample.Value >> method_sample / MainDataSet >> STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE

=GetOrDash(Fields!method_sample.Value)
9. Регистрационный номер акта отбора проб, дата отбора: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Информация >> № акта, Дата, время отбора

Fields!act_num.Value, Fields!min_date_selection.Value, Fields!max_date_selection.Value >> act_num, min_date_selection, max_date_selection / MainDataSet >> STRING_VALUE, DATE_VALUE / JOURNAL_RECORD_ATTRIBUTE

=SetNumAndDate(Fields!act_num.Value,  Fields!min_date_selection.Value, Fields!max_date_selection.Value)
10. Дата поступления проб в Химическую лабораторию: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Информация >> Дата поступления пробы

Fields!date_receipt.Value >> date_receipt / MainDataSet >> DATE_VALUE / JOURNAL_RECORD_ATTRIBUTE

=GetOrDash(Format(Fields!date_receipt.Value, "dd.MM.yyyy"))
11. Даты проведения исследований: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Результаты >> Ввод результатов >> Дата анализа

Fields!min_date_analysis.Value, Fields!max_date_analysis.Value >> min_date_analysis, max_date_analysis / MainDataSet >> DATE_VALUE / JOURNAL_RESULT_ATTRIBUTE

=RangeDate(Fields!min_date_analysis.Value, Fields!max_date_analysis.Value)
Public Function RangeDate(minDate As Object, maxDate As Object) As String
	Dim hasMin As Boolean = Not minDate Is Nothing
	Dim hasMax As Boolean = Not maxDate Is Nothing

	If Not hasMin And Not hasMax Then Return "-"
	
	If hasMin And Not hasMax Then
		Return minDate.Date
	ElseIf Not hasMin And hasMax Then
		Return maxDate.Date
	ElseIf hasMin And hasMax Then
		If minDate.Date = maxDate.Date Then
			Return minDate.Date
		Else
			Return minDate.Date & " - " & maxDate.Date
		End If
	End If
End Function

Результаты лабораторных исследований

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

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

Код и комментарии
Номер таблицы Номер GroupIndex() задается по группе. Группировка задана по полю Fields!code.Value
=12 + GroupIndex() & "."
Шифр пробы: Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Информация >> Шифр пробы

Fields!code.Value >> code / ResultDataSet >> STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE

=Fields!code.Value
Точка отбора (объект): Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Источник >> Место отбора, Точка отбора

Fields!parent_ss_name.Value, Fields!child_ss_name.Value, Fields!ao_short_name.Value >> ss_name / ResultDataSet >> SHORT_NAME / SAMPLE_SOURCE, STRING_VALUE / ANALYSIS_OBJECT_ATTRIBUTE

=Fields!parent_ss_name.Value & ", " & Fields!child_ss_name.Value & " (" & Fields!ao_short_name.Value & ")"
№ п/п SQL
=Fields!row_index.Value
Определяемый показатель Объекты анализа >> Выбрать объект >> Редактировать >> Карточка объекта анализа >> Выбрать показатель >> Карточка показателя >> Наименование

Методики анализа >> Выбрать методику >> Редактировать >> Карточка методики анализа >> Наименование по методике

Fields!met_ind_name.Value, Fields!ind_name.Value >> met_ind_name, ind_name / ResultDataSet >> INDICATOR_METHODOLOGY_NAME / METHODOLOGY_INDICATOR, NAME / INDICATOR

=IIF(Fields!met_ind_name.Value, Fields!met_ind_name.Value.Trim(), Fields!ind_name.Value.Trim())
Единица измерения Методики анализа >> Выбрать методику >> Редактировать >> Карточка методики анализа >> Единица измерения

Fields!unit.Value >> unit / ResultDataSet >> HTML_NAME / UNIT

="<style> body {font-family: 'Times New Roman', Times, serif; font-size: 10pt; line-height: 1.0; text-align: center; margin-top: 2px;} sup {vertical-align: 2pt; font-size: 8pt;} sub {vertical-align: -1pt; font-size: 8pt;} </style> <body> " & Fields!unit.Value &"</body>"
Результаты лабораторных исследований Лабораторные журналы >> Выбрать подразделение >> Выбрать запись Результаты >> Результат, Показатель точности

Методики анализа >> Выбрать методику >> Редактировать >> Карточка методики анализа >> Выбрать строку >> Карточка показателей качества >> Диапазон

Fields!avg_result.Value, Fields!error.Value, Fields!min.Value, Fields!max.Value >> avg_result, error, min, max / ResultDataSet >> AVG_R, DC, RANGE_MIN, RANGE_MAX / JOURNAL_RESULT

=GetOrDash(GetResult(Fields!avg_result.Value, Fields!error.Value, Fields!min.Value, Fields!max.Value))
Public Function GetResult (avgR As Double, err As Double, min As Double, max As Double) As String
	If avgR >= min And avgR <= max Then
		Return avgR & " ± " & err
	ElseIf avgR <= min Then
		Return "менее " & min
	ElseIf avgR > max Then
		Return "более " & max
	Else 
		Return "-"
	End If
End Function
Применяемая методика измерений Методики анализа >> Выбрать методику >> Редактировать >> Карточка методики анализа >> Информация >> Нормативный документ

Fields!norm_doc.Value >> norm_doc / ResultDataSet >> NORMATIVE_DOCUMENT / METHODOLOGY

=GetOrDash(Fields!norm_doc.Value)

Средства измерений (СИ), испытательное оборудование (ИО), применяемые для проведения исследований

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

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

Код и комментарии
Номер таблицы Подсчет номера таблицы и нумерации раздела в строках в зависимости от количества таблиц (по сути - количества шифров проб Fields!code.Value) предыдущего раздела с результатами (ResultDataSet)
=12 + CountDistinct(Fields!code.Value, "ResultDataSet") & "."
№ п/п
=12 + CountDistinct(Fields!code.Value, "ResultDataSet") & "." & RowNumber()
Наименование Ресурсы >> Оборудование >> Выбор записи >> Редактировать >> Карточка оборудования >> Наименование

Fields!res_name.Value >> res_name / ResourcesDataSet >> NAME / RESOURCES

=Fields!res_name.Value
Модель Ресурсы >> Оборудование >> Выбор записи >> Редактировать >> Карточка оборудования >> Марка

Fields!res_mark.Value >> res_mark / ResourcesDataSet >> MARK / RESOURCES

=Fields!res_mark.Value
Вид Ресурсы >> Оборудование >> Выбор записи >> Редактировать >> Карточка оборудования >> Тип оборудования

Fields!res_service_type.Value >> res_service_type / ResourcesDataSet >> NAME / CATALOG_RECORD_TYPE

=IIF(Fields!res_service_type.Value = "Средство измерений", "СИ", "ИО")
Заводской номер Ресурсы >> Оборудование >> Выбор записи >> Редактировать >> Карточка оборудования >> Заводской номер

Fields!factory_number.Value >> factory_number / ResourcesDataSet >> FACTORY_NUMBER / RESOURCES

=Fields!factory_number.Value
Сведения о поверке СИ / аттестации ИО* Ресурсы >> Оборудование >> Выбор записи >> Редактировать >> Карточка оборудования >> Обслуживание >> Номер документа об обслуживании

Fields!res_service_doc.Value >> res_service_doc / ResourcesDataSet >> SERVICE_DOCUMENT / RESOURCE_SERVICE

=Fields!res_service_doc.Value
СИ поверено до / ИО аттестовано до Ресурсы >> Оборудование >> Выбор записи >> Редактировать >> Карточка оборудования >> Обслуживание >> Дата следующего обслуживания по плану

Fields!res_service_date.Value >> res_service_date / ResourcesDataSet >> NEXT_DATE / RESOURCE_SERVICE

=Fields!res_service_date.Value
Определяемые показатели SQL
=Fields!row_indices.Value

Дополнительная информация

Интерфейс ... >> ...

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

Код и комментарии
Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Информация >> Отклонения, дополнения или исключения из МИ

Fields!note_1.Value >> note_1 / NoteDataSet >> STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE

=Fields!note_1.Value
Лабораторные журналы >> Выбрать лабораторию >> Вода. Регистрация и результаты >> Объекты анализа >> Выбрать объект >> Редактировать >> Карточка пробы >> Информация >> Условия проведения исследований

Fields!note_2.Value >> note_2 / NoteDataSet >> STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE

=Fields!note_2.Value
Fields!count_result.Value, Fields!row_index.Value >> count_result, row_index / ResultDataSet >> VALUE / JRPARALLELVARS; SQL
="<style> body {font-family: 'Times New Roman', Times, serif; font-size: 10pt; line-height: 1; margin-top: 1.5pt; margin-bottom: 1.5pt;}</style> <body>" &ProcessingCountResult(LookupSet(1, Fields!count_result.Value, Fields!row_index.Value, "ResultDataSet"), LookupSet(2, Fields!count_result.Value, Fields!row_index.Value, "ResultDataSet")) & "</body>"
Parameters!ReportParameterNumEx.Value
=Parameters!ReportParameterNumEx.Value

Протокол подготовил

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

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

Код и комментарии
Должность Персонал >> Выбрать запись >> Карточка сотрудника >> Должность

Fields!position.Value >> position / FilterDataSetFio >> SURNAME; NAME; PATRONYMIC / EMPLOYEE

=Fields!position.Value
И.О. Фамилия Персонал >> Выбрать запись >> Карточка сотрудника >> Фамилия; Имя; Отчество

Fields!surname.Value, Fields!name.Value, Fields!patronimyc.Value >> surname, name, patronimyc / FilterDataSetFio >> SURNAME; NAME; PATRONYMIC / EMPLOYEE

=FormatFio(Fields!surname.Value, Fields!name.Value, Fields!patronymic.Value, 2)

Нижний колонтитул

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

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

Код и комментарии
Протокол исследований №... распечатан ... Parameters!ReportParameterProtocolNum.Value
="Протокол исследований № " & Parameters!ReportParameterProtocolNum.Value & " распечатан " & Now().ToString("dd.MM.yyyy")
Нумерация страниц Номер страницы Globals!PageNumber,
всего страниц Globals!TotalPages
="Страница " & (Globals!PageNumber + 1) & " из " & Globals!TotalPages