Паспорт качества газа (ГОСТ 5542): различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| (не показано 37 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
==Общий вид== | |||
[[Файл:ng_2_5542.png|center|border]] | |||
==Параметры== | ==Параметры== | ||
В форме используются 7 фильтров параметров: | В форме используются 7 фильтров параметров: | ||
| Строка 5: | Строка 9: | ||
!№!!Параметр!!Тип поля!!Данные!!Сортировка | !№!!Параметр!!Тип поля!!Данные!!Сортировка | ||
|- | |- | ||
|align="center"|1||<code>Выберите лабораторию:</code>||align="center"|выбор значения||лаборатории, имеющие записи в журналах||align="center"|по алфавиту | |align="center"|1||<code>Выберите лабораторию:</code>||align="center"|выбор значения||лаборатории, имеющие записи в журналах с показателями, у которых в наименовании нормы присутствует ГОСТ 5542||align="center"|по алфавиту | ||
|- | |- | ||
|align="center"|2||<code>Введите номер паспорта:</code>||align="center"|ввод текста||1 (значение по умолчанию)||align="center"|- | |align="center"|2||<code>Введите номер паспорта:</code>||align="center"|ввод текста||1 (значение по умолчанию)||align="center"|- | ||
| Строка 20: | Строка 24: | ||
|- | |- | ||
|} | |} | ||
==Атрибуты== | ==Атрибуты== | ||
| Строка 44: | Строка 39: | ||
*Дата поставки пробы | *Дата поставки пробы | ||
*Полное наименование | *Полное наименование | ||
*Код ОКПД 2 | |||
*Дата начала анализа | |||
*Дата окончания анализа | |||
</div> | </div> | ||
| Строка 50: | Строка 48: | ||
*Группа в паспорт качества | *Группа в паспорт качества | ||
*Номер в паспорт качества | *Номер в паспорт качества | ||
*НД на отбор проб | |||
*Дата поставки пробы | *Дата поставки пробы | ||
*Дата и время отбора пробы | |||
</div> | </div> | ||
| Строка 91: | Строка 91: | ||
<code style="background-color: #fff3e0;>Fields!head_org_address.Value, Fields!head_org_tel.Value, Fields!head_org_mail.Value</code> >> <code style="background-color: #fff3e0;>head_org_address, head_org_tel, head_org_mail / OrganisationDataSet</code> >> <code style="background-color: #fff3e0;>VALUE / LONGTEXT_STORAGE</code>, <code style="background-color: #fff3e0;>STRING_VALUE / COMPANY_LEVEL_ATTRIBUTE</code> | <code style="background-color: #fff3e0;>Fields!head_org_address.Value, Fields!head_org_tel.Value, Fields!head_org_mail.Value</code> >> <code style="background-color: #fff3e0;>head_org_address, head_org_tel, head_org_mail / OrganisationDataSet</code> >> <code style="background-color: #fff3e0;>VALUE / LONGTEXT_STORAGE</code>, <code style="background-color: #fff3e0;>STRING_VALUE / COMPANY_LEVEL_ATTRIBUTE</code> | ||
|<syntaxhighlight lang="vb">=Fields!head_org_address.Value & vbLF & "тел, e-mail: " & ConcatFields("; ", Fields!head_org_tel.Value, Fields!head_org_mail.Value)</syntaxhighlight> | |<syntaxhighlight lang="vb">=Fields!head_org_address.Value & vbLF & "тел, e-mail: " & ConcatFields("; ", Fields!head_org_tel.Value, Fields!head_org_mail.Value)</syntaxhighlight> | ||
используются: | |||
*перенос строки (<code>vbLF</code>); | |||
*для соединения полей функция [[Scripts#ConcatFields()|<code>ConcatFields()</code>]]; | |||
|- | |- | ||
|Наименование лаборатории | |Наименование лаборатории | ||
| Строка 114: | Строка 117: | ||
|Должность | |Должность | ||
|<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!position.Value</code> >> <code style="background-color: #fff3e0;>position / | <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">=First(Fields!position.Value)</syntaxhighlight> | |<syntaxhighlight lang="vb">=First(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: #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!lab_name.Value</code> >> <code style="background-color: #fff3e0;>lab_name / | <code style="background-color: #fff3e0;>Fields!lab_name.Value</code> >> <code style="background-color: #fff3e0;>lab_name / FilterDataSetFio</code> >> <code style="background-color: #fff3e0;>SHORT_NAME / COMPANY_LEVEL</code> | ||
|<syntaxhighlight lang="vb">=First(Fields!lab_name.Value)</syntaxhighlight> | |<syntaxhighlight lang="vb">=First(Fields!lab_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: #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 / | <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!patronimyc.Value, 2)</syntaxhighlight> | |<syntaxhighlight lang="vb">=FormatFio(Fields!surname.Value, Fields!name.Value, Fields!patronimyc.Value, 2)</syntaxhighlight> | ||
*используется функция [[Scripts#FormatFio()|<code>FormatFio()</code>]] | |||
|- | |- | ||
|} | |} | ||
| Строка 149: | Строка 153: | ||
|- | |- | ||
|Код ОКПД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;>Код ОКПД 2</code> | ||
|<syntaxhighlight lang="vb"> | |||
<code style="background-color: #fff3e0;>Fields!code_okpd2.Value</code> >> <code style="background-color: #fff3e0;>code_okpd2 / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / ANALYSIS_OBJECT_ATTRIBUTE</code> | |||
|<syntaxhighlight lang="vb">="Код ОКПД 2 " & Fields!code_okpd2.Value</syntaxhighlight> | |||
|- | |- | ||
|Паспорт качества распространяется на объемы газа, поданного через газораспределительные станции: | |Паспорт качества распространяется на объемы газа, поданного через газораспределительные станции: | ||
| Строка 159: | Строка 165: | ||
|<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: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Дата и время отбора пробы</code> | ||
<code style="background-color: #fff3e0;>Fields!sampling_date.Value</code> >> <code style="background-color: #fff3e0;>sampling_date / MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / JOURNAL_RECORD_ATTRIBUTE</code> | <code style="background-color: #fff3e0;>Fields!sampling_date.Value</code> >> <code style="background-color: #fff3e0;>sampling_date / MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / JOURNAL_RECORD_ATTRIBUTE</code> | ||
|<syntaxhighlight lang="vb">= | |<syntaxhighlight lang="vb">=RangeDate(Min(Fields!sampling_date.Value), Max(Fields!sampling_date.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> | |||
|- | |- | ||
|НД на метод отбора | |НД на метод отбора | ||
| Строка 174: | Строка 200: | ||
|<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: #d4edda;>Карточка пробы</code> >> <code style="background-color: #d4edda;>Информация</code> >> <code style="background-color: #d4edda;>Дата поставки пробы</code> | ||
<code style="background-color: #fff3e0;>Fields!delivery_date.Value</code> >> <code style="background-color: #fff3e0;>delivery_date / MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / JOURNAL_RECORD_ATTRIBUTE</code> | <code style="background-color: #fff3e0;>Fields!delivery_date.Value</code> >> <code style="background-color: #fff3e0;>delivery_date / MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / JOURNAL_RECORD_ATTRIBUTE</code> | ||
|<syntaxhighlight lang="vb">= | |<syntaxhighlight lang="vb">=RangeDate(Fields!min_date_analysis.Value, Fields!max_date_analysis.Value)</syntaxhighlight> | ||
|- | |- | ||
|} | |} | ||
| Строка 196: | Строка 222: | ||
<code style="background-color: #fff3e0;>Fields!group_number.Value, Fields!met_ind_name.Value, Fields!ind_name.Value, Fields!unit.Value</code> >> <code style="background-color: #fff3e0;>group_number, met_ind_name, ind_name, unit / ResultDataSet</code> >> <code style="background-color: #fff3e0;>INTEGER_VALUE / INDICATOR_ATTRIBUTE</code>, <code style="background-color: #fff3e0;>INDICATOR_METHODOLOGY_NAME / METHODOLOGY_INDICATOR</code>, <code style="background-color: #fff3e0;>NAME / INDICATOR</code>, <code style="background-color: #fff3e0;>HTML_NAME / UNIT</code> | <code style="background-color: #fff3e0;>Fields!group_number.Value, Fields!met_ind_name.Value, Fields!ind_name.Value, Fields!unit.Value</code> >> <code style="background-color: #fff3e0;>group_number, met_ind_name, ind_name, unit / ResultDataSet</code> >> <code style="background-color: #fff3e0;>INTEGER_VALUE / INDICATOR_ATTRIBUTE</code>, <code style="background-color: #fff3e0;>INDICATOR_METHODOLOGY_NAME / METHODOLOGY_INDICATOR</code>, <code style="background-color: #fff3e0;>NAME / INDICATOR</code>, <code style="background-color: #fff3e0;>HTML_NAME / UNIT</code> | ||
|<syntaxhighlight lang="vb">=GetIndName(Fields!group_number.Value, Fields!met_ind_name.Value, Fields!ind_name.Value, Fields!unit.Value)</syntaxhighlight> | |<syntaxhighlight lang="vb">=GetIndName(Fields!group_number.Value, Fields!met_ind_name.Value, Fields!ind_name.Value, Fields!unit.Value)</syntaxhighlight> | ||
<syntaxhighlight lang="vb"> | |||
Public Function GetIndName(group As Integer, methIndName As Object, indName As Object, unit As Object) As String | |||
Dim resultName As String = "" | |||
If methIndName IsNot Nothing AndAlso Not IsDBNull(methIndName) AndAlso Not String.IsNullOrWhiteSpace(methIndName.ToString()) Then | |||
resultName = methIndName.ToString().Trim() | |||
ElseIf indName IsNot Nothing AndAlso Not IsDBNull(indName) Then | |||
resultName = indName.ToString().Trim() | |||
End If | |||
If unit IsNot Nothing AndAlso Not IsDBNull(unit) AndAlso Not String.IsNullOrWhiteSpace(unit.ToString()) Then | |||
If group <> 1 Then | |||
Dim unitStr As String = RemoveTagsWithSupIndex(unit) | |||
resultName &= ", " & unitStr | |||
End If | |||
End If | |||
If resultName = "Метан" Then | |||
resultName = "Молярная доля компонентов (компонентный состав), %" & vbLf & resultName | |||
End If | |||
Return resultName | |||
End Function | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="vb"> | |||
Public Function RemoveTagsWithSupIndex(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 Replace(txt, "3", "³", , , CompareMethod.Text) | |||
End Function | |||
</syntaxhighlight> | |||
|- | |- | ||
|Метод испытания | |Метод испытания | ||
| Строка 201: | Строка 265: | ||
<code style="background-color: #fff3e0;>Fields!norm_document.Value</code> >> <code style="background-color: #fff3e0;>norm_document / ResultDataSet</code> >> <code style="background-color: #fff3e0;>NORMATIVE_DOCUMENT / METHODOLOGY</code> | <code style="background-color: #fff3e0;>Fields!norm_document.Value</code> >> <code style="background-color: #fff3e0;>norm_document / ResultDataSet</code> >> <code style="background-color: #fff3e0;>NORMATIVE_DOCUMENT / METHODOLOGY</code> | ||
|<syntaxhighlight lang="vb">=GetOrDash(Fields!norm_document.Value)</syntaxhighlight> | |<syntaxhighlight lang="vb">=GetOrDash(Fields!norm_document.Value)</syntaxhighlight> | ||
*используется функция [[Scripts#GetOrDash()|<code>GetOrDash()</code>]] | |||
|- | |- | ||
|Норма минимальная и максимальная (строка 1) | |Норма минимальная и максимальная (строка 1) | ||
| Строка 208: | Строка 273: | ||
<code style="background-color: #fff3e0;>Fields!serial_number.Value, Fields!group_number.Value, Fields!min.Value, Fields!comment.Value, Fields!limit_scale.Value</code> >> <code style="background-color: #fff3e0;>serial_number, group_number, min, comment, limit_scale / ResultDataSet</code> >> <code style="background-color: #fff3e0;>INTEGER_VALUE / INDICATOR_ATTRIBUTE</code>, <code style="background-color: #fff3e0;>LOWER_LIMIT, COMMENT, LIMIT_SCALE / QUANTITATIVE_NORM</code> | <code style="background-color: #fff3e0;>Fields!serial_number.Value, Fields!group_number.Value, Fields!min.Value, Fields!comment.Value, Fields!limit_scale.Value</code> >> <code style="background-color: #fff3e0;>serial_number, group_number, min, comment, limit_scale / ResultDataSet</code> >> <code style="background-color: #fff3e0;>INTEGER_VALUE / INDICATOR_ATTRIBUTE</code>, <code style="background-color: #fff3e0;>LOWER_LIMIT, COMMENT, LIMIT_SCALE / QUANTITATIVE_NORM</code> | ||
|<syntaxhighlight lang="vb">=IIF(Fields!serial_number.Value = 1, GetNorms(Fields!group_number.Value, Fields!min.Value, Fields!comment.Value, Fields!limit_scale.Value), "")</syntaxhighlight> | |<syntaxhighlight lang="vb">=IIF(Fields!serial_number.Value = 1, GetNorms(Fields!group_number.Value, Fields!min.Value, Fields!comment.Value, Fields!limit_scale.Value), "")</syntaxhighlight> | ||
<syntaxhighlight lang="vb"> | |||
Public Function GetNorms(groupNumber As Integer, norm As String, comment As String, scale As Object) As String | |||
If groupNumber = 1 Or groupNumber = 8 Or groupNumber = 9 Or groupNumber = 10 Then Return comment | |||
If norm = "0" Or norm Like "*0*(0)*" Then Return "-" | |||
If groupNumber = 6 Or groupNumber = 7 Then Return norm.Replace(".", ",") | |||
If scale IsNot Nothing Then Return RoundMethod(Double.Parse(norm.Replace(".", ",")), Integer.Parse(scale), 1) | |||
Return norm.Replace(".", ",") | |||
End Function | |||
</syntaxhighlight> | |||
*используется функция <code>RoundMethod</code>, вариация функции [[Глобальные_функции#Rounding.RoundBase()|<code>Rounding.RoundBase()</code>]] | |||
|- | |- | ||
|Норма минимальная и максимальная (строка 2) | |Норма минимальная и максимальная (строка 2) | ||
| Строка 221: | Строка 298: | ||
|- | |- | ||
|Результаты испытаний | |Результаты испытаний | ||
|<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 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: #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 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: #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!group_number.Value, | <code style="background-color: #fff3e0;>Fields!group_number.Value, Fields!num_result.Value, Fields!str_result.Value, Fields!met_min.Value, Fields!met_max.Value, Fields!round_num.Value, Fields!round_type.Value</code> >> <code style="background-color: #fff3e0;>group_number, num_result, str_result, met_min, met_max, round_num, round_type / ResultDataSet</code> >> <code style="background-color: #fff3e0;>INTEGER_VALUE / INDICATOR_ATTRIBUTE</code>, <code style="background-color: #fff3e0;>NAME / INDICATOR</code>, <code style="background-color: #fff3e0;>AVG_R / JOURNAL_RESULT</code>, <code style="background-color: #fff3e0;>FROM, TO / METH_METR_RNG_BNDS</code>, <code style="background-color: #fff3e0;>NUMBER, TYPE / STANDARD_ROUND_RESULT</code> | ||
|<syntaxhighlight lang="vb">=GetResult(Fields!group_number.Value, | |||
|<syntaxhighlight lang="vb">=GetResult(Fields!group_number.Value, Fields!num_result.Value, Fields!str_result.Value, Fields!met_min.Value, Fields!met_max.Value, Fields!round_num.Value, Fields!round_type.Value)</syntaxhighlight> | |||
<syntaxhighlight lang="vb"> | |||
Public Function GetResult(group As Integer, numRes As Double, strRes As String, | |||
min As Object, max As Object, digits As Object, mode As Object) As String | |||
Select Case group | |||
Case 6, 7 | |||
Dim arr() As String = strRes.Split(" "c) | |||
Dim firstNum As Double = Double.Parse(arr(0).Replace(".", ",")) | |||
Dim secondNum As Double = Double.Parse(arr(1).Replace(".", ",").Replace("(", "").Replace(")", "")) | |||
Dim compareRangeNorm = GetMetRange(numRes, min, max, digits, mode) | |||
If compareRangeNorm Like "*менее*" Or compareRangeNorm Like "*более*" Then | |||
Return compareRangeNorm | |||
Else | |||
Return RoundMethod(firstNum, 2, 1) & " (" & RoundMethod(secondNum, 0, 1) & ")" | |||
End If | |||
Case 11 | |||
Return "отсутствуют" | |||
Case Else | |||
Return GetMetRange(numRes, min, max, digits, mode) | |||
End Select | |||
End Function | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="vb"> | |||
Public Function GetMetRange(numRes As Double, min As Object, max As Object, digits As Object, mode As Object) As String | |||
Dim numMin As Double | |||
If min Is Nothing OrElse IsDBNull(min) OrElse String.IsNullOrWhiteSpace(min.ToString()) Then | |||
numMin = Double.MinValue | |||
Else | |||
numMin = Val(min.ToString().Replace(",", ".")) | |||
End If | |||
Dim numMax As Double | |||
If max Is Nothing OrElse IsDBNull(max) OrElse String.IsNullOrWhiteSpace(max.ToString()) Then | |||
numMax = Double.MaxValue | |||
Else | |||
numMax = Val(max.ToString().Replace(",", ".")) | |||
End If | |||
If numRes < numMin Then | |||
Return "менее " & min.ToString() | |||
ElseIf numRes > numMax Then | |||
Return "более " & max.ToString() | |||
Else | |||
Return RoundMethod(numRes, digits, mode) | |||
End If | |||
End Function | |||
</syntaxhighlight> | |||
*используется функция <code>RoundMethod</code>, вариация функции [[Глобальные_функции#Rounding.RoundBase()|<code>Rounding.RoundBase()</code>]] | |||
|- | |- | ||
|} | |} | ||
| Строка 247: | Строка 383: | ||
<code style="background-color: #fff3e0;>Fields!group_index.Value</code> >> <code style="background-color: #fff3e0;>group_index / NoteDataSet</code> >> <code style="background-color: #fff3e0;>SQL</code> | <code style="background-color: #fff3e0;>Fields!group_index.Value</code> >> <code style="background-color: #fff3e0;>group_index / NoteDataSet</code> >> <code style="background-color: #fff3e0;>SQL</code> | ||
|<syntaxhighlight lang="vb">="1. Значения и нормы показателей " & CollapseNumbers(LookupSet(True, Fields!standart_norm.Value, Fields!group_index.Value, " | |<syntaxhighlight lang="vb">="1. Значения и нормы показателей " & CollapseNumbers(LookupSet(True, Fields!standart_norm.Value, Fields!group_index.Value, "NoteDataSet")) & " установлены при стандартном давлении 101,325 кПа и стандартной температуре 20,0 °С. Стандартная температура сгорания 25,0 °С."</syntaxhighlight> | ||
*используется функция [[Scripts#CollapseNumbers()|<code>CollapseNumbers()</code>]] | |||
|- | |- | ||
|2. Нормы и значения показателей ... установлены при давлении в точке отбора пробы. | |2. Нормы и значения показателей ... установлены при давлении в точке отбора пробы. | ||
| Строка 254: | Строка 391: | ||
<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: #d4edda;>Наименование</code> | ||
<code style="background-color: #fff3e0;>Fields!group_index.Value</code> >> <code style="background-color: #fff3e0;>group_index / | <code style="background-color: #fff3e0;>Fields!group_index.Value</code> >> <code style="background-color: #fff3e0;>group_index / NoteDataSet</code> >> <code style="background-color: #fff3e0;>SQL</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 / NoteDataSet</code> >> <code style="background-color: #fff3e0;>INTEGER_VALUE / INDICATOR_ATTRIBUTE</code>, <code style="background-color: #fff3e0;>INDICATOR_METHODOLOGY_NAME / METHODOLOGY_INDICATOR</code> | |||
|<syntaxhighlight lang="vb">="2. Нормы и значения показателей " & CollapseNumbers(LookupSet(1, 1, GetNumForNote23(Fields!group_index.Value, Fields!met_ind_name.Value, Fields!ind_name.Value), "NoteDataSet")) & " установлены при давлении в точке отбора пробы."</syntaxhighlight> | |||
*используется функция [[Scripts#CollapseNumbers()|<code>CollapseNumbers()</code>]] | |||
<syntaxhighlight lang="vb"> | |||
Public Function GetNumForNote23(group As Object, methIndName As Object, indName As Object) As Object | |||
Dim text As String = "" | |||
If methIndName IsNot Nothing AndAlso Not IsDBNull(methIndName) Then | |||
text = methIndName.ToString() | |||
ElseIf indName IsNot Nothing AndAlso Not IsDBNull(indName) Then | |||
text = indName.ToString() | |||
End If | |||
If LCase(text) Like "*емпер*точк*ос*" Then | |||
Return group | |||
End If | |||
Return Nothing | |||
End Function | |||
</syntaxhighlight> | |||
|- | |- | ||
|3. Температура газа в точке отбора пробы при определении показателей ... | |3. Температура газа в точке отбора пробы при определении показателей ... | ||
| Строка 266: | Строка 420: | ||
<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: #d4edda;>Ввод результатов</code> >> <code style="background-color: #d4edda;>+</code> >> <code style="background-color: #d4edda;>Температура газа</code> | ||
<code style="background-color: #fff3e0;>Fields!group_index.Value</code> >> <code style="background-color: #fff3e0;>group_index / | <code style="background-color: #fff3e0;>Fields!group_index.Value</code> >> <code style="background-color: #fff3e0;>group_index / NoteDataSet</code> >> <code style="background-color: #fff3e0;>SQL</code> | ||
<code style="background-color: #fff3e0;>Fields!met_ind_name.Value, Fields!ind_name.Value, Fields!temperature.Value</code> >> <code style="background-color: #fff3e0;>met_ind_name, ind_name, temperature / | <code style="background-color: #fff3e0;>Fields!met_ind_name.Value, Fields!ind_name.Value, Fields!temperature.Value</code> >> <code style="background-color: #fff3e0;>met_ind_name, ind_name, temperature / NoteDataSet</code> >> <code style="background-color: #fff3e0;>INTEGER_VALUE / INDICATOR_ATTRIBUTE</code>, <code style="background-color: #fff3e0;>INDICATOR_METHODOLOGY_NAME / METHODOLOGY_INDICATOR</code>, <code style="background-color: #fff3e0;>VALUE / JRPARALLELVARS</code> | ||
|<syntaxhighlight lang="vb">="3. Температура газа в точке отбора пробы при определении показателей " & CollapseNumbers(LookupSet(1, 1, GetNumForNote23(Fields!group_index.Value, Fields!met_ind_name.Value, Fields!ind_name.Value), " | |<syntaxhighlight lang="vb">="3. Температура газа в точке отбора пробы при определении показателей " & CollapseNumbers(LookupSet(1, 1, GetNumForNote23(Fields!group_index.Value, Fields!met_ind_name.Value, Fields!ind_name.Value), "NoteDataSet"))</syntaxhighlight> | ||
*используется функция [[Scripts#CollapseNumbers()|<code>CollapseNumbers()</code>]] | |||
<syntaxhighlight lang="vb">=Format(Max(Fields!temperature.Value), "0.##")</syntaxhighlight> | <syntaxhighlight lang="vb">=Format(Max(Fields!temperature.Value), "0.##")</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: #fff3e0;>Fields!group_index.Value</code> >> <code style="background-color: #fff3e0;>group_index / NoteDataSet</code> >> <code style="background-color: #fff3e0;>SQL</code> | |||
<code style="background-color: #fff3e0;>Fields!definition.Value</code> >> <code style="background-color: #fff3e0;>definition / NoteDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / JOURNAL_RESULT_ATTRIBUTE</code> | |||
|<syntaxhighlight lang="vb">=CollapseNumbers(LookupSet(1, 1, GetNumForNote4(Fields!group_index.Value, Fields!definition.Value), "NoteDataSet"))</syntaxhighlight> | |<syntaxhighlight lang="vb">=CollapseNumbers(LookupSet(1, 1, GetNumForNote4(Fields!group_index.Value, Fields!definition.Value), "NoteDataSet"))</syntaxhighlight> | ||
*используется функция [[Scripts#CollapseNumbers()|<code>CollapseNumbers()</code>]] | |||
<syntaxhighlight lang="vb"> | |||
Public Function GetNumForNote4(group As Object, definition As Object) As Object | |||
If definition Is Nothing Then Return Nothing | |||
If LCase(definition.ToString()) Like "*ото*си*" Then Return group | |||
Return Nothing | |||
End Function | |||
</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: #fff3e0;>Fields!group_index.Value</code> >> <code style="background-color: #fff3e0;>group_index / NoteDataSet</code> >> <code style="background-color: #fff3e0;>SQL</code> | |||
<code style="background-color: #fff3e0;>Fields!definition.Value</code> >> <code style="background-color: #fff3e0;>definition / NoteDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / JOURNAL_RESULT_ATTRIBUTE</code> | |||
<code>=Parameters!ReportParameterLaboratory.Label</code> | |||
|<syntaxhighlight lang="vb">=CollapseNumbers(LookupSet(1, 1, GetNumForNote5(Fields!group_index.Value, Fields!definition.Value, Fields!first_45.Value), "NoteDataSet"))</syntaxhighlight> | |<syntaxhighlight lang="vb">=CollapseNumbers(LookupSet(1, 1, GetNumForNote5(Fields!group_index.Value, Fields!definition.Value, Fields!first_45.Value), "NoteDataSet"))</syntaxhighlight> | ||
*используется функция [[Scripts#CollapseNumbers()|<code>CollapseNumbers()</code>]] | |||
<syntaxhighlight lang="vb"> | |||
Public Function GetNumForNote5(group As Object, definition As Object, first_45 As Boolean) As Object | |||
If first_45 AndAlso group = 1 Then Return Nothing | |||
If definition Is Nothing OrElse Not (LCase(definition.ToString()) Like "*ото*си*") Then Return group | |||
Return Nothing | |||
End Function | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="vb">=Parameters!ReportParameterLaboratory.Label</syntaxhighlight> | <syntaxhighlight lang="vb">=Parameters!ReportParameterLaboratory.Label</syntaxhighlight> | ||
|- | |- | ||
| Строка 294: | Строка 479: | ||
|Должность | |Должность | ||
|<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!position.Value</code> >> <code style="background-color: #fff3e0;>position / | <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> | |<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: #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 / | <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> | |<syntaxhighlight lang="vb">=FormatFio(Fields!surname.Value, Fields!name.Value, Fields!patronymic.Value, 2)</syntaxhighlight> | ||
*используется функция [[Scripts#FormatFio()|<code>FormatFio()</code>]] | |||
|- | |- | ||
|} | |} | ||
Текущая версия от 07:06, 5 мая 2026
Общий вид

Параметры
В форме используются 7 фильтров параметров:
| № | Параметр | Тип поля | Данные | Сортировка |
|---|---|---|---|---|
| 1 | Выберите лабораторию: |
выбор значения | лаборатории, имеющие записи в журналах с показателями, у которых в наименовании нормы присутствует ГОСТ 5542 | по алфавиту |
| 2 | Введите номер паспорта: |
ввод текста | 1 (значение по умолчанию) | - |
| 3 | Введите начало периода поставки: |
поле-календарь | 01.01.2020 0:00 (значение по умолчанию) | - |
| 4 | Введите завершение периода поставки: |
поле-календарь | текущие дата и время (значение по умолчанию) | - |
| 5 | Введите газораспределительные станции: |
ввод текста | газораспределительные станции ("-" значение по умолчанию) | - |
| 6 | Выберите сотрудника, утверждающего паспорт: |
выбор значения | сотрудники лаборатории (п.1) |
по алфавиту |
| 7 | Выберите сотрудников, ответственных за оформление паспорта: |
выбор одного или нескольких значений | сотрудники лаборатории (п.1) |
по алфавиту |
Атрибуты
В наборе данных OrganisationDataSet в таблице ATTRIBUTE_NAME используются атрибуты со следующими значениями NAME:
- Адрес
- Телефоны
В наборе данных MainDataSet в таблице ATTRIBUTE_NAME используются атрибуты со следующими значениями NAME:
- НД на отбор проб
- Дата и время отбора пробы
- Дата поставки пробы
- Полное наименование
- Код ОКПД 2
- Дата начала анализа
- Дата окончания анализа
В наборе данных ResultDataSet в таблице ATTRIBUTE_NAME используются атрибуты со следующими значениями NAME:
- Группа в паспорт качества
- Номер в паспорт качества
- НД на отбор проб
- Дата поставки пробы
- Дата и время отбора пробы
В наборе данных NoteDataSet в таблице ATTRIBUTE_NAME используются атрибуты со следующими значениями NAME:
- Дата поставки пробы
- Определен
- Группа в паспорт качества
- Номер в паспорт качества
- Норма при стандартных условиях
Внимание!
Описание атрибутов приведено в соответствии с базой данных ASTRA-PG13 на основе созданных пользователем полей.
В других базах этих полей может не быть либо их наименование может отличаться!!!
Отсутствующие в базе атрибуты не будут выводиться в документе. Для корректной работы документа актуализируйте атрибуты в соответствии с приведенным списком.
Поля, данные, выражения, элементы интерфейса и код
Информация об организации
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Наименование организации | Подразделения предприятия >> + >> Выбрать предприятие >> Редактировать >> Карточка подразделения >> Краткое наименование
|
=Fields!head_org.Value
|
| Адрес, телефоны, e-mail | Подразделения предприятия >> + >> Выбрать предприятие >> Редактировать >> Карточка подразделения >> Адрес, Телефоны, E-mail
|
=Fields!head_org_address.Value & vbLF & "тел, e-mail: " & ConcatFields("; ", Fields!head_org_tel.Value, Fields!head_org_mail.Value)
используются:
|
| Наименование лаборатории | Подразделения предприятия >> + >> Выбрать подразделение >> Редактировать >> Карточка подразделения >> Краткое наименование
|
=Fields!lab_name.Value
|
| Адрес лаборатории | Подразделения предприятия >> + >> Выбрать подразделение >> Редактировать >> Карточка подразделения >> Адрес
|
=Fields!lab_address.Value
|
Блок утверждения
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Должность | Персонал >> Выбрать запись >> Карточка сотрудника >> Должность
|
=First(Fields!position.Value)
|
| Лаборатория | Подразделения предприятия >> + >> Выбрать подразделение >> Редактировать >> Карточка подразделения >> Краткое наименование
|
=First(Fields!lab_name.Value)
|
| И.О. Фамилия | Персонал >> Выбрать запись >> Карточка сотрудника >> Фамилия; Имя; Отчество
|
=FormatFio(Fields!surname.Value, Fields!name.Value, Fields!patronimyc.Value, 2)
|
Общие данные паспорта
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Номер паспорта качества | Parameters!ReportParameterNum.Value
|
="Паспорт качества № " & Parameters!ReportParameterNum.Value
|
| Наименование объекта анализа и наименование стандарта | Объекты анализа >> Выбрать объект >> Редактировать >> Карточка объекта анализа >> Полное наименование
|
=Fields!ao_full_name.Value & " по " & Fields!quant_norm.Value
|
| Код ОКПД2 | Объекты анализа >> Выбрать объект >> Редактировать >> Карточка объекта анализа >> Код ОКПД 2
|
="Код ОКПД 2 " & Fields!code_okpd2.Value
|
| Паспорт качества распространяется на объемы газа, поданного через газораспределительные станции: | Parameters!ReportParameterStation.Value
|
=IIF(Parameters!ReportParameterStation.Value = "-", "", Parameters!ReportParameterStation.Value)
|
| Дата (период) отбора проб | Лабораторные журналы >> Журнал регистрации проб и испытаний >> Выбрать пробу >> Редактировать >> Карточка пробы >> Информация >> Дата и время отбора пробы
|
=RangeDate(Min(Fields!sampling_date.Value), Max(Fields!sampling_date.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
|
| НД на метод отбора | Объекты анализа >> Выбрать объект >> Редактировать >> Карточка объекта анализа >> НД на отбор проб
|
=First(Fields!sampling_norm_doc.Value)
|
| Место отбора проб | Лабораторные журналы >> Журнал регистрации проб и испытаний >> Выбрать пробу >> Редактировать >> Карточка пробы >> Источник >> Выбранный источник
|
=First(Fields!place_name.Value)
|
| Дата (период) испытаний | Лабораторные журналы >> Журнал регистрации проб и испытаний >> Выбрать пробу >> Редактировать >> Карточка пробы >> Информация >> Дата поставки пробы
|
=RangeDate(Fields!min_date_analysis.Value, Fields!max_date_analysis.Value)
|
Таблица результатов
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| № | Fields!group_index.Value >> group_index / ResultDataSet >> SQL
|
=Fields!group_index.Value & "."
|
| Наименование показателя | Объекты анализа >> Выбрать объект >> Редактировать >> Карточка объекта анализа >> Выбрать показатель >> Карточка показателя >> Группа в паспорт качества, Наименование
|
=GetIndName(Fields!group_number.Value, Fields!met_ind_name.Value, Fields!ind_name.Value, Fields!unit.Value)
Public Function GetIndName(group As Integer, methIndName As Object, indName As Object, unit As Object) As String
Dim resultName As String = ""
If methIndName IsNot Nothing AndAlso Not IsDBNull(methIndName) AndAlso Not String.IsNullOrWhiteSpace(methIndName.ToString()) Then
resultName = methIndName.ToString().Trim()
ElseIf indName IsNot Nothing AndAlso Not IsDBNull(indName) Then
resultName = indName.ToString().Trim()
End If
If unit IsNot Nothing AndAlso Not IsDBNull(unit) AndAlso Not String.IsNullOrWhiteSpace(unit.ToString()) Then
If group <> 1 Then
Dim unitStr As String = RemoveTagsWithSupIndex(unit)
resultName &= ", " & unitStr
End If
End If
If resultName = "Метан" Then
resultName = "Молярная доля компонентов (компонентный состав), %" & vbLf & resultName
End If
Return resultName
End Function
Public Function RemoveTagsWithSupIndex(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 Replace(txt, "3", "³", , , CompareMethod.Text)
End Function
|
| Метод испытания | Методики анализа >> Выбрать методику >> Редактировать >> Карточка методики анализа >> Нормативный документ
|
=GetOrDash(Fields!norm_document.Value)
|
| Норма минимальная и максимальная (строка 1) | Объекты анализа >> Выбрать объект >> Редактировать >> Карточка объекта анализа >> Выбрать показатель >> Карточка показателя >> Номер в паспорт качества, Группа в паспорт качества
|
=IIF(Fields!serial_number.Value = 1, GetNorms(Fields!group_number.Value, Fields!min.Value, Fields!comment.Value, Fields!limit_scale.Value), "")
Public Function GetNorms(groupNumber As Integer, norm As String, comment As String, scale As Object) As String
If groupNumber = 1 Or groupNumber = 8 Or groupNumber = 9 Or groupNumber = 10 Then Return comment
If norm = "0" Or norm Like "*0*(0)*" Then Return "-"
If groupNumber = 6 Or groupNumber = 7 Then Return norm.Replace(".", ",")
If scale IsNot Nothing Then Return RoundMethod(Double.Parse(norm.Replace(".", ",")), Integer.Parse(scale), 1)
Return norm.Replace(".", ",")
End Function
|
| Норма минимальная и максимальная (строка 2) | =GetNorms(Fields!group_number.Value, Fields!min.Value, Fields!comment.Value, Fields!limit_scale.Value)
| |
| Норма минимальная (строка 3) | =GetNorms(Fields!group_number.Value, Fields!min.Value, Fields!comment.Value, Fields!limit_scale.Value)
| |
| Норма максимальная (строка 3) | Вместо Нижний предел используется Объекты анализа >> Выбрать объект >> Редактировать >> Карточка объекта анализа >> Выбрать показатель >> Карточка показателя >> Нормы >> Верхний пределВместо |
=GetNorms(Fields!group_number.Value, Fields!max.Value, Fields!comment.Value, Fields!limit_scale.Value)
|
| Результаты испытаний | Объекты анализа >> Выбрать объект >> Редактировать >> Карточка объекта анализа >> Выбрать показатель >> Карточка показателя >> Группа в паспорт качества
|
=GetResult(Fields!group_number.Value, Fields!num_result.Value, Fields!str_result.Value, Fields!met_min.Value, Fields!met_max.Value, Fields!round_num.Value, Fields!round_type.Value)
Public Function GetResult(group As Integer, numRes As Double, strRes As String,
min As Object, max As Object, digits As Object, mode As Object) As String
Select Case group
Case 6, 7
Dim arr() As String = strRes.Split(" "c)
Dim firstNum As Double = Double.Parse(arr(0).Replace(".", ","))
Dim secondNum As Double = Double.Parse(arr(1).Replace(".", ",").Replace("(", "").Replace(")", ""))
Dim compareRangeNorm = GetMetRange(numRes, min, max, digits, mode)
If compareRangeNorm Like "*менее*" Or compareRangeNorm Like "*более*" Then
Return compareRangeNorm
Else
Return RoundMethod(firstNum, 2, 1) & " (" & RoundMethod(secondNum, 0, 1) & ")"
End If
Case 11
Return "отсутствуют"
Case Else
Return GetMetRange(numRes, min, max, digits, mode)
End Select
End Function
Public Function GetMetRange(numRes As Double, min As Object, max As Object, digits As Object, mode As Object) As String
Dim numMin As Double
If min Is Nothing OrElse IsDBNull(min) OrElse String.IsNullOrWhiteSpace(min.ToString()) Then
numMin = Double.MinValue
Else
numMin = Val(min.ToString().Replace(",", "."))
End If
Dim numMax As Double
If max Is Nothing OrElse IsDBNull(max) OrElse String.IsNullOrWhiteSpace(max.ToString()) Then
numMax = Double.MaxValue
Else
numMax = Val(max.ToString().Replace(",", "."))
End If
If numRes < numMin Then
Return "менее " & min.ToString()
ElseIf numRes > numMax Then
Return "более " & max.ToString()
Else
Return RoundMethod(numRes, digits, mode)
End If
End Function
|
Примечания
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| 1. Значения и нормы показателей ... установлены при стандартном давлении 101,325 кПа и стандартной температуре 20,0 °С. Стандартная температура сгорания 25,0 °С. | Объекты анализа >> Выбрать объект >> Редактировать >> Карточка объекта анализа >> Выбрать показатель >> Карточка показателя >> Норма при стандартных условиях
|
="1. Значения и нормы показателей " & CollapseNumbers(LookupSet(True, Fields!standart_norm.Value, Fields!group_index.Value, "NoteDataSet")) & " установлены при стандартном давлении 101,325 кПа и стандартной температуре 20,0 °С. Стандартная температура сгорания 25,0 °С."
|
| 2. Нормы и значения показателей ... установлены при давлении в точке отбора пробы. | Методики анализа >> Выбрать методику >> Редактировать >> Карточка методики анализа >> Наименование по методике
|
="2. Нормы и значения показателей " & CollapseNumbers(LookupSet(1, 1, GetNumForNote23(Fields!group_index.Value, Fields!met_ind_name.Value, Fields!ind_name.Value), "NoteDataSet")) & " установлены при давлении в точке отбора пробы."
Public Function GetNumForNote23(group As Object, methIndName As Object, indName As Object) As Object
Dim text As String = ""
If methIndName IsNot Nothing AndAlso Not IsDBNull(methIndName) Then
text = methIndName.ToString()
ElseIf indName IsNot Nothing AndAlso Not IsDBNull(indName) Then
text = indName.ToString()
End If
If LCase(text) Like "*емпер*точк*ос*" Then
Return group
End If
Return Nothing
End Function
|
| 3. Температура газа в точке отбора пробы при определении показателей ... | Методики анализа >> Выбрать методику >> Редактировать >> Карточка методики анализа >> Наименование по методике
|
="3. Температура газа в точке отбора пробы при определении показателей " & CollapseNumbers(LookupSet(1, 1, GetNumForNote23(Fields!group_index.Value, Fields!met_ind_name.Value, Fields!ind_name.Value), "NoteDataSet"))
=Format(Max(Fields!temperature.Value), "0.##")
|
| 4. Значения показателей ... определены потоковыми средствами измерений (среднеарифметическое значение за период поставки). | Лабораторные журналы >> Журнал регистрации проб и результатов >> Выбрать пробу >> Результаты >> Ввод результатов >> Определен
|
=CollapseNumbers(LookupSet(1, 1, GetNumForNote4(Fields!group_index.Value, Fields!definition.Value), "NoteDataSet"))
Public Function GetNumForNote4(group As Object, definition As Object) As Object
If definition Is Nothing Then Return Nothing
If LCase(definition.ToString()) Like "*ото*си*" Then Return group
Return Nothing
End Function
|
| 5. Значения показателей ... определены ... | Лабораторные журналы >> Журнал регистрации проб и результатов >> Выбрать пробу >> Результаты >> Ввод результатов >> Определен
|
=CollapseNumbers(LookupSet(1, 1, GetNumForNote5(Fields!group_index.Value, Fields!definition.Value, Fields!first_45.Value), "NoteDataSet"))
Public Function GetNumForNote5(group As Object, definition As Object, first_45 As Boolean) As Object
If first_45 AndAlso group = 1 Then Return Nothing
If definition Is Nothing OrElse Not (LCase(definition.ToString()) Like "*ото*си*") Then Return group
Return Nothing
End Function
=Parameters!ReportParameterLaboratory.Label
|
Подписи
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Должность | Персонал >> Выбрать запись >> Карточка сотрудника >> Должность
|
=Fields!position.Value
|
| И.О. Фамилия | Персонал >> Выбрать запись >> Карточка сотрудника >> Фамилия; Имя; Отчество
|
=FormatFio(Fields!surname.Value, Fields!name.Value, Fields!patronymic.Value, 2)
|