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

- в таблице результатов

используется скрипт
Public Function GetNumForFilter(ByVal inputDateAndNum As String) As String
Dim parts() As String = inputDateAndNum.Split(";"c)
Return parts(1).Trim()
End Function
<syntaxhighlight>
</div>
==Атрибуты==
В таблице <code>ATTRIBUTE_NAME</code> используются атрибуты со следующими значениями <code>NAME</code>.
{| width="100%" style="background:transparent;"
| width="50%" valign="top" |
В наборе данных <code>MainDataSet</code>:
* Цель проведения испытаний
* Дата и время отбора пробы
* Номер акта отбора проб
* Номер пробы
* Номер баллона
* НД на отбор проб
* Основние для испытаний
* Примечание для протокола
* Полное наименование
* Поставщик/Заказчик
* Дата начала анализа
* Дата окончания анализа
| width="50%" valign="top" |
В наборе данных <code>OrgInfoDataSet</code>:
* Официальное наименование лаборатории
* Адрес
* Телефоны
* Аттестат аккредитации
|}
<div style="background-color: #fff3cd; border-left: 5px solid #ffc107; padding: 15px; margin: 10px 0;">
'''Внимание!'''
Описание атрибутов приведено в соответствии с базой данных <code>ASTRA-PG13</code> на основе созданных пользователем полей.
В других базах этих полей может не быть либо их наименование может отличаться!!!
Отсутствующие в базе атрибуты не будут выводиться в документе. Для корректной работы документа актуализируйте атрибуты в соответствии с приведенным списком.
</div>
==Поля, данные, выражения, элементы интерфейса и код==
===Общая информация===
{|class="wikitable" style="margin:auto; background-color: #fff;"
|-
!Поля
!Интерфейс <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: #fff3e0;>Fields!head_org.Value</code> >> <code style="background-color: #fff3e0;>head_org / OrgInfoDataSet</code> >> <code style="background-color: #fff3e0;>SHORT_NAME / COMPANY_LEVEL</code>
|<syntaxhighlight lang="vb">=First(Fields!head_org.Value, "OrgInfoDataSet")|-
|Наименование филиала
|Подразделения предприятия >> Развернуть >> Выбрать подразделение >> Редактировать >> Карточка подразделения >> Официальное наименование лаборатории
Fields!filial_name.Value >> filial_name / OrgInfoDataSet >> STRING_VALUE / COMPANY_LEVEL_ATTRIBUTE
=First(Fields!filial_name.Value, "OrgInfoDataSet")
|-
|Наименование лаборатории
|Подразделения предприятия >> Развернуть >> Выбрать подразделение >> Редактировать >> Карточка подразделения >> Тип уровня
Fields!filial_type.Value >> filial_type / OrgInfoDataSet >> NAME / CATALOG_RECORD_TYPE
=First(Fields!filial_type.Value, "OrgInfoDataSet")
|-
|Адрес, контакты
|Подразделения предприятия >> Развернуть >> Выбрать подразделение >> Редактировать >> Карточка подразделения >> Адрес и Телефоны
Fields!filial_address.Value >> filial_address / OrgInfoDataSet >> STRING_VALUE / COMPANY_LEVEL_ATTRIBUTE
Fields!filial_phone.Value >> filial_phone / OrgInfoDataSet >> STRING_VALUE / COMPANY_LEVEL_ATTRIBUTE
=First(Fields!filial_address.Value, "OrgInfoDataSet") & ", тел\факс\эл.адрес: " & First(Fields!filial_phone.Value, "OrgInfoDataSet") & First(Fields!email.Value, "OrgInfoDataSet")
|-
|Аттестат аккредитации
|Подразделения предприятия >> Развернуть >> Выбрать подразделение >> Редактировать >> Карточка подразделения >> Аттестат аккредитации
Fields!filial_certificate.Value >> filial_certificate / OrgInfoDataSet >> VALUE / LONGTEXT_STORAGE
="Аттестат аккредитации " & First(Fields!filial_certificate.Value, "OrgInfoDataSet")
|-
|Заголовок
|colspan="2"|ПРОТОКОЛ ИСПЫТАНИЙ
|-
|Номер и дата протокола
|Подстановка номера из параметра ReportParameterNumber и даты из параметра ReportParameterDate
="№ " & Parameters!ReportParameterNumber.Value & " от " & Parameters!ReportParameterDate.Value
|- |}
Основная информация
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| 1. Наименование объекта испытаний: | Объекты анализа >> Выбрать объект >> Редактировать >> Карточка объекта анализа >> Полное наименование
|
="1. Наименование объекта испытаний: " & Fields!ao_full_name.Value
|
| 2. Цель испытаний: | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Цель проведения испытаний
|
="2. Цель испытаний: " & Fields!target.Value
|
| 3. Место отбора проб: | Fields!sample_source.Value >> sample_source / MainDataSet >> FULL_NAME / SAMPLE_SOURCE
|
="3. Место отбора проб: " & Fields!sample_source.Value
|
| 4. Дата и время отбора пробы: | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Дата и время отбора пробы
|
="4. Дата и время отбора пробы: " & Format(Fields!date_value.Value, "dd.MM.yyyy; HH:mm")
|
| 5. Номер акта отбора проб и номер баллона: | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Номер акта отбора проб и Номер баллона
|
="5. Номер акта отбора проб и номер баллона: " & Fields!act_num.Value & ", " & Fields!num_ballon.Value
|
| 6. НД на отбор проб: | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> НД на отбор проб
|
="6. НД на отбор проб: " & Fields!doc_sample.Value
|
| 7. Шифр пробы: | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Номер пробы
|
="7. Шифр пробы: " & Fields!code.Value
|
| 8. Заказчик: | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Поставщик/Заказчик
|
="8. Заказчик: " & First(Fields!head_org.Value, "OrgInfoDataSet")
|
| 9. Основание для испытаний: | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Основание для испытаний
|
="9. Основание для испытаний: " & Fields!basis.Value
|
| 10. Дата проведения испытания: | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Результаты >> Дата начала анализа и Дата окончания анализа
|
="10. Дата проведения испытания: " & IIF(Fields!start_date.Value = Fields!end_date.Value, Fields!start_date.Value, Fields!start_date.Value & " - " & Fields!end_date.Value)
|
| 11. Примечание: | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Примечание для протокола
|
="11. Примечание: " & vbLF & Fields!note.Value
|
| 12. Результаты проведения испытаний приведены в таблице | Значение номера таблицы зависит от выбора параметра Parameters!ReportParameterDevice.Value
|
="12. Результаты проведения испытаний приведены в таблице " & IIF(Parameters!ReportParameterDevice.Value = False, 2, 1)
|
Сведения о применяемом оборудовании
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Наименование | Ресурсы >> Оборудование >> Выбор записи >> Редактировать >> Карточка оборудования >> Наименование
|
=Fields!res_name.Value
|
| Тип обслуживания | Ресурсы >> Обслуживание оборудования >> Выбор записи >> Редактировать >> Основная форма >> Тип обслуживания
|
=Fields!res_service_type.Value
|
| Заводской номер | Ресурсы >> Оборудование >> Выбор записи >> Редактировать >> Карточка оборудования >> Заводской номер
|
=Fields!res_number.Value
|
| Сведения о поверке/аттестации | Ресурсы >> Обслуживание оборудования >> Выбор записи >> Редактировать >> Основная форма >> Тип обслуживания, и Номер документа, и Дата след
|
=IIF(Fields!res_type.Value = "Средство измерений", "свидетельство о поверке № " & Fields!res_service_doc.Value & " до " & Format(Fields!res_service_date.Value, "dd.MM.yyyy", "номер документа об аттестации № ")
|
Результаты испытаний
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Наименование показателя | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись Результаты >> Показатель
|
=Fields!ind_meth_name.Value
|
| Единица измерения | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись Результаты >> Показатель
|
="<style>" + "body {font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin-top: 1px; margin-right: 3px; margin-bottom: 1px; margin-left: 3px; text-align: center;}" + "</style>" + "<body>" + Fields!unit.Value + "</body>"
|
| Метод испытания | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись Результаты >> Методика анализа
|
=Fields!norm_document.Value
|
| Результат | Лабораторные журналы >> Выбрать подразделение >> Выбрать запись Результаты >> Результат и Показатель точности
|
=ResultProcessing(Fields!result.Value, Fields!error.Value, Fields!alt_result.Value)
Public Function ResultProcessing(ByVal inputResult As String, ByVal inputError As String, ByVal inputAltResult As String) As String
If (inputResult = "") Then
Return "-"
End If
Dim finalStr As String = inputResult
If inputError <> "" And inputError <> "0" Then
finalStr = finalStr & " ± " & inputError
End If
If inputAltResult <> "" And inputAltResult <> "0" Then
finalStr = finalStr & vbLf & "(" & inputAltResult & ")"
End If
Return finalStr
End Function
|
| Блок подписи 1 | Подстановка должности из параметра ReportParameterPosition_1.Value
|
=Parameters!ReportParameterPosition_1.Value
|
Подстановка ФИО в формате "И.О. Фамилия" из параметра ReportParameterFio_1.Value
|
=ReverseInitials(Parameters!ReportParameterFio_1.Value)
Public Function ReverseInitials (ByVal inputFio As String) As String
Dim parts() As String = inputFio.Trim().Split(" "c)
Return parts(1) & " " & parts(0)
End Function
| |
| Блок подписи 2 | Подстановка должности из параметра ReportParameterPosition_2.Value
|
=Parameters!ReportParameterPosition_2.Value
|
Подстановка ФИО в формате "И.О. Фамилия" из параметра ReportParameterFio_1.Value
|
=ReverseInitials(Parameters!ReportParameterFio_2.Value)
Public Function ReverseInitials (ByVal inputFio As String) As String
Dim parts() As String = inputFio.Trim().Split(" "c)
Return parts(1) & " " & parts(0)
End Function
| |
| Дополнительная информация | Подразделения предприятия >> Развернуть >> Выбрать подразделение >> Карточка подразделения >> Полное наименование
|
="Результаты испытаний, представленные в настоящем протоколе, относятся только к пробам, прошедшим испытания. Частичная перепечатка протокола и копирование без разрешения химико-аналитической лаборатории " & First(Fields!full_name.Value, "OrgInfoDataSet") & " не допускается"
|
Внимание!
В ячейках колонки "Метод испытаний" используются:
AutoMergeMode = True- для объединения ячеек с одинаковым содержимым;CanGrow = True- для увеличения высоты ячеек в соответствии с количеством строк в ячейке; нежелательный эффект - все строки (даже объединенные!!!) имеют эту высоту, но если установитьfalse- при малом количестве ячеек будут обрезаться строки в колонке "Метод испытаний".
Во всех строках с данными (Details) данной таблицы установлено свойство KeepTogether = True. Позволяет при короткой таблице переносить последнюю строку таблицы вместе с подписями (элемент - "подвал", Table Footer) на следующую страницу.
Нижний колонтитул
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Нижний колонтитул | - | ="Протокол испытаний № " & Parameters!ReportParameterNumber.Value & " от " & Parameters!ReportParameterDate.Value & " на " & Code.ReturnPageWithSuffix(Globals!TotalPages) & ", лист " & Globals!PageNumber
Public Function ReturnPageWithSuffix(ByVal resultPage As Long) As String
Dim resultString As String = resultPage.ToString()
If (resultPage > 20) Then
resultPage = resultPage Mod 10
End If
Select Case resultPage
Case 1
resultString &= $" листе"
Case Else
resultString &= $" листах"
End Select
Return resultString
End Function
|