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

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

Материал из Химсофт Вики
Нет описания правки
 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
==Общий вид==
[[Файл:ng_3.png|center|border]]
==Параметры==
==Параметры==
В форме используются 10 фильтров параметров:
В форме используются 10 фильтров параметров:
Строка 33: Строка 37:
'''Внимание!'''  
'''Внимание!'''  


Также для фильтрации
Также для фильтров п.7 и п.9 используются составные поля в DataSet, образующиеся с помощью функции [[Scripts#FormatFio()|<code>FormatFio()</code>]]:
*в основном табликсе
<gallery mode="packed" heights="100px">
[[Файл:tablix_filter.png|100px|center|thumb]]
Файл:concat_filter_fields.png
*в таблице результатов
</gallery>
[[Файл:table_result_filter.png|100px|center|thumb]]
используется скрипт
<syntaxhighlight lang="vb">
Public Function GetNumForFilter(ByVal inputDateAndNum As String) As String
Dim parts() As String = inputDateAndNum.Split(";"c)
Return parts(1).Trim()
End Function
</syntaxhighlight>
</div>
</div>


Строка 148: Строка 144:
|-
|-
|3. Место отбора проб:
|3. Место отбора проб:
|<code style="background-color: #fff3e0;>Fields!sample_source.Value</code> >> <code style="background-color: #fff3e0;>sample_source /  MainDataSet</code> >> <code style="background-color: #fff3e0;>FULL_NAME / SAMPLE_SOURCE</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!sample_source.Value</code> >> <code style="background-color: #fff3e0;>sample_source /  MainDataSet</code> >> <code style="background-color: #fff3e0;>FULL_NAME / SAMPLE_SOURCE</code>
|<syntaxhighlight lang="vb">="3. Место отбора проб: " & Fields!sample_source.Value</syntaxhighlight>
|<syntaxhighlight lang="vb">="3. Место отбора проб: " & Fields!sample_source.Value</syntaxhighlight>
|-
|-
Строка 186: Строка 183:
<code style="background-color: #fff3e0;>Fields!start_date.Value</code> >> <code style="background-color: #fff3e0;>start_date /  MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / JOURNAL_RESULT_ATTRIBUTE</code><br>
<code style="background-color: #fff3e0;>Fields!start_date.Value</code> >> <code style="background-color: #fff3e0;>start_date /  MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / JOURNAL_RESULT_ATTRIBUTE</code><br>
<code style="background-color: #fff3e0;>Fields!end_date.Value</code> >> <code style="background-color: #fff3e0;>end_date /  MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / JOURNAL_RESULT_ATTRIBUTE</code>
<code style="background-color: #fff3e0;>Fields!end_date.Value</code> >> <code style="background-color: #fff3e0;>end_date /  MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / JOURNAL_RESULT_ATTRIBUTE</code>
|<syntaxhighlight lang="vb">="10. Дата проведения испытания: " & IIF(Fields!start_date.Value = Fields!end_date.Value, Fields!start_date.Value, Fields!start_date.Value & " - " & Fields!end_date.Value)</syntaxhighlight>
|<syntaxhighlight lang="vb">="10. Дата проведения испытания: " & IIF(Format(Fields!start_date.Value, "dd.MM.yyyy") = Format(Fields!end_date.Value, "dd.MM.yyyy"), Format(Fields!start_date.Value, "dd.MM.yyyy"), Format(Fields!start_date.Value, "dd.MM.yyyy") & " - " & Format(Fields!end_date.Value, "dd.MM.yyyy"))</syntaxhighlight>
|-
|-
|11. Примечание:
|11. Примечание:
Строка 210: Строка 207:
|<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!res_name.Value</code> >> <code style="background-color: #fff3e0;>res_name / ResourcesDataSet</code> >> <code style="background-color: #fff3e0;>FULLNAME / RESOURCES</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;>FULLNAME / RESOURCES</code>
|<syntaxhighlight lang="vb">=Fields!res_name.Value</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(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: #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 / RESOURCE_SERVICE_TYPE</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 / RESOURCE_SERVICE_TYPE</code>
|<syntaxhighlight lang="vb">=Fields!res_service_type.Value</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(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: #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_number.Value</code> >> <code style="background-color: #fff3e0;>res_number / ResourcesDataSet</code> >> <code style="background-color: #fff3e0;>FACTORY_NUMBER / RESOURCES</code>
<code style="background-color: #fff3e0;>Fields!res_number.Value</code> >> <code style="background-color: #fff3e0;>res_number / ResourcesDataSet</code> >> <code style="background-color: #fff3e0;>FACTORY_NUMBER / RESOURCES</code>
|<syntaxhighlight lang="vb">=Fields!res_number.Value</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(Fields!res_number.Value)</syntaxhighlight>
|-
|-
|Сведения о поверке/аттестации
|Сведения о поверке/аттестации
Строка 227: Строка 224:
<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>
<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>
<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>
<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">=IIF(Fields!res_type.Value = "Средство измерений", "свидетельство о поверке № " & Fields!res_service_doc.Value & " до " & Format(Fields!res_service_date.Value, "dd.MM.yyyy", "номер документа об аттестации № ")</syntaxhighlight>
|<syntaxhighlight lang="vb">=GetOrDash(IIF(Fields!res_type.Value = "Средство измерений", "свидетельство о поверке № " & Fields!res_service_doc.Value & " до " & Format(Fields!res_service_date.Value, "dd.MM.yyyy", "номер документа об аттестации № "))</syntaxhighlight>
|-
|-
|}
|}
Строка 279: Строка 276:
</syntaxhighlight>
</syntaxhighlight>
|-
|-
|rowspan="2"|Блок подписи 1
|}
 
===Последний блок===
{|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>
!Код и комментарии
|-
|Должность 1
|Подстановка должности из параметра <code>ReportParameterPosition_1.Value</code>
|Подстановка должности из параметра <code>ReportParameterPosition_1.Value</code>
|<syntaxhighlight lang="vb">=Parameters!ReportParameterPosition_1.Value</syntaxhighlight>
|<syntaxhighlight lang="vb">=Parameters!ReportParameterPosition_1.Value</syntaxhighlight>
|-
|-
|Подстановка ФИО в формате "И.О. Фамилия" из параметра <code>ReportParameterFio_1.Value</code>
|ФИО 1
|<syntaxhighlight lang="vb">=ReverseInitials(Parameters!ReportParameterFio_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>
<syntaxhighlight lang="vb">
<code style="background-color: #fff3e0;>Fields!surname_1.Value, Fields!name_1.Value, Fields!patronymic_1.Value</code> >> <code style="background-color: #fff3e0;>surname_1, name_1, patronymic_1 / FilterFioDataSet_1</code> >> <code style="background-color: #fff3e0;>SURNAME; NAME; PATRONYMIC / EMPLOYEE</code>
Public Function ReverseInitials (ByVal inputFio As String) As String
|<syntaxhighlight lang="vb">=FormatFio(Fields!surname_1.Value, Fields!name_1.Value, Fields!patronymic_1.Value, 2)</syntaxhighlight>
Dim parts() As String = inputFio.Trim().Split(" "c)
Return parts(1) & " " & parts(0)
End Function
</syntaxhighlight>
|-
|-
|rowspan="2"|Блок подписи 2
|Должность 2
|Подстановка должности из параметра <code>ReportParameterPosition_2.Value</code>
|Подстановка должности из параметра <code>ReportParameterPosition_2.Value</code>
|<syntaxhighlight lang="vb">=Parameters!ReportParameterPosition_2.Value</syntaxhighlight>
|<syntaxhighlight lang="vb">=Parameters!ReportParameterPosition_2.Value</syntaxhighlight>
|-
|-
|Подстановка ФИО в формате "И.О. Фамилия" из параметра <code>ReportParameterFio_1.Value</code>
|ФИО 2
|<syntaxhighlight lang="vb">=ReverseInitials(Parameters!ReportParameterFio_2.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>
<syntaxhighlight lang="vb">
<code style="background-color: #fff3e0;>Fields!surname_2.Value, Fields!name_2.Value, Fields!patronymic_2.Value</code> >> <code style="background-color: #fff3e0;>surname_2, name_2, patronymic_2 / FilterFioDataSet_2</code> >> <code style="background-color: #fff3e0;>SURNAME; NAME; PATRONYMIC / EMPLOYEE</code>
Public Function ReverseInitials (ByVal inputFio As String) As String
|<syntaxhighlight lang="vb">=FormatFio(Fields!surname_2.Value, Fields!name_2.Value, Fields!patronymic_2.Value, 2)</syntaxhighlight>
Dim parts() As String = inputFio.Trim().Split(" "c)
Return parts(1) & " " & parts(0)
End Function
</syntaxhighlight>
|-
|-
|Дополнительная информация
|Дополнительная информация
Строка 351: Строка 350:
|-
|-
|}
|}
{{Navbox
|name = Блок документов
|state = collapsed
|title = Блок документов
|bodyclass = hlist
|group1 = Дизайнер документов
|list1 = child
| 1_group1 = Контролы
| 1_list1 =
* [[Текстовое поле|Текстовое поле]]
* [[Форматированный текст|Форматированный текст]]
* [[Таблица|Таблица]]
* [[Табликс|Табликс]]
| 1_group2 = Стандартные формы
| 1_list2 = {{Navbox|subgroup
| group1 = Персонал (картотека)
| list1 =
* [[Сведения о работниках лаборатории|Сведения о работниках лаборатории]]
* [[Общая информация о сотрудниках|Общая информация о сотрудниках]]
* [[Карточка персонального учета сотрудника|Карточка персонального учета сотрудника]]
* [[Информация об уволенных сотрудниках|Информация об уволенных сотрудниках]]
| group2 = Объекты анализа
| list2 =
* [[Информация по спискам показателей объектов и нормативов|Информация по спискам показателей объектов и нормативов]]
* [[Информация о нормах показателей|Информация о нормах показателей]]
| group3 = Методики анализа
| list3 =
* [[Приложение к аттестату аккредитации|Приложение к аттестату аккредитации]]
* [[Общая информация о методиках анализа|Общая информация о методиках анализа]]
* [[Полная информация о методике анализа|Полная информация о методике анализа]]
* [[Информация об использовании методик анализа в ЛЖ|Информация об использовании методик анализа в ЛЖ]]
| group4 = Формулы
| list4 =
* [[Полная информация по методам анализа (формулы)|Полная информация по методам анализа (формулы)]]
| group5 = Структура предприятия (лаборатории)
| list5 =
* [[Структура предприятия (всё дерево)|Структура предприятия (всё дерево)]]
* [[Карточка предприятия|Карточка предприятия]]
| group6 = Источники проб
| list6 =
* [[Структура источников (с выбором уровня)|Структура источников (с выбором уровня)]]
* [[Список мест выбранного типа|Список мест выбранного типа]]
* [[Информация о нормах в источниках проб|Информация о нормах в источниках проб]]
| group7 = Администрирование
| list7 =
* [[Информация о ролях и пользователях|Информация о ролях и пользователях]]
| group8 = Статистика
| list8 =
* [[Общая информация по БД|Общая информация по БД]]
* [[Расширенная статистика запусков|Расширенная статистика запусков]]
| group9 = Лабораторные журналы
| list9 =
* [[Сводный журнал регистрации проб|Сводный журнал регистрации проб]]
* [[Сводный журнал результатов анализов|Сводный журнал результатов анализов]]
* [[Журнал контроля окружающей среды|Журнал контроля окружающей среды]]
* [[Журнал на показатель (фотометрия)|Журнал на показатель (фотометрия)]]
* [[Журнал на показатель (фракционный состав)|Журнал на показатель (фракционный состав)]]
* [[Учет и анализ объемов внесенной информации|Учет и анализ объемов внесенной информации]]
* [[Протокол|Протокол]]
* [[Графическое изображение результатов|Графическое изображение результатов]]
}}
}}

Текущая версия от 10:07, 31 марта 2026

Общий вид

Параметры

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

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

Внимание!

Также для фильтров п.7 и п.9 используются составные поля в DataSet, образующиеся с помощью функции FormatFio():

Атрибуты

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

В наборе данных MainDataSet:

  • Цель проведения испытаний
  • Дата и время отбора пробы
  • Номер акта отбора проб
  • Номер пробы
  • Номер баллона
  • НД на отбор проб
  • Основние для испытаний
  • Примечание для протокола
  • Полное наименование
  • Поставщик/Заказчик
  • Дата начала анализа
  • Дата окончания анализа

В наборе данных OrgInfoDataSet:

  • Официальное наименование лаборатории
  • Адрес
  • Телефоны
  • Аттестат аккредитации

Внимание!

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

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

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

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

Общая информация

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

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

Код и комментарии
Наименование организации Подразделения предприятия >> Наименование основного предприятия

Fields!head_org.Value >> head_org / OrgInfoDataSet >> SHORT_NAME / COMPANY_LEVEL

=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")
Заголовок ПРОТОКОЛ ИСПЫТАНИЙ
Номер и дата протокола Подстановка номера из параметра ReportParameterNumber и даты из параметра ReportParameterDate
="№ " & Parameters!ReportParameterNumber.Value & " от " & Parameters!ReportParameterDate.Value

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

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

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

Код и комментарии
1. Наименование объекта испытаний: Объекты анализа >> Выбрать объект >> Редактировать >> Карточка объекта анализа >> Полное наименование

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

="1. Наименование объекта испытаний: " & Fields!ao_full_name.Value
2. Цель испытаний: Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Цель проведения испытаний

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

="2. Цель испытаний: " &  Fields!target.Value
3. Место отбора проб: Лабораторные журналы >> Журнал регистрации проб и испытаний >> Выбрать пробу >> Редактировать >> Карточка пробы >> Источник >> Выбранный источник

Fields!sample_source.Value >> sample_source / MainDataSet >> FULL_NAME / SAMPLE_SOURCE

="3. Место отбора проб: " & Fields!sample_source.Value
4. Дата и время отбора пробы: Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Дата и время отбора пробы

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

="4. Дата и время отбора пробы: " & Format(Fields!date_value.Value, "dd.MM.yyyy; HH:mm")
5. Номер акта отбора проб и номер баллона: Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Номер акта отбора проб и Номер баллона

Fields!act_num.Value >> act_num / MainDataSet >> STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE
Fields!num_ballon.Value >> num_ballon / MainDataSet >> STRING_VALUE / JOURNAL_RECORD_ATTRIBUTE

="5. Номер акта отбора проб и номер баллона: " & Fields!act_num.Value & ", " & Fields!num_ballon.Value
6. НД на отбор проб: Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> НД на отбор проб

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

="6. НД на отбор проб: " & Fields!doc_sample.Value
7. Шифр пробы: Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Номер пробы

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

="7. Шифр пробы: " & Fields!code.Value
8. Заказчик: Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Поставщик/Заказчик

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

="8. Заказчик: " & First(Fields!head_org.Value, "OrgInfoDataSet")
9. Основание для испытаний: Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Основание для испытаний

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

="9. Основание для испытаний: " & Fields!basis.Value
10. Дата проведения испытания: Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Результаты >> Дата начала анализа и Дата окончания анализа

Fields!start_date.Value >> start_date / MainDataSet >> DATE_VALUE / JOURNAL_RESULT_ATTRIBUTE
Fields!end_date.Value >> end_date / MainDataSet >> DATE_VALUE / JOURNAL_RESULT_ATTRIBUTE

="10. Дата проведения испытания: " & IIF(Format(Fields!start_date.Value, "dd.MM.yyyy") = Format(Fields!end_date.Value, "dd.MM.yyyy"), Format(Fields!start_date.Value, "dd.MM.yyyy"), Format(Fields!start_date.Value, "dd.MM.yyyy") & " - " & Format(Fields!end_date.Value, "dd.MM.yyyy"))
11. Примечание: Лабораторные журналы >> Выбрать подразделение >> Выбрать запись >> Редактировать >> Журнал регистрации проб и результатов испытаний >> Информация >> Примечание для протокола

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

="11. Примечание: " & vbLF & Fields!note.Value
12. Результаты проведения испытаний приведены в таблице Значение номера таблицы зависит от выбора параметра Parameters!ReportParameterDevice.Value
="12. Результаты проведения испытаний приведены в таблице " & IIF(Parameters!ReportParameterDevice.Value = False, 2, 1)

Сведения о применяемом оборудовании

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

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

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

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

=GetOrDash(Fields!res_name.Value)
Тип обслуживания Ресурсы >> Обслуживание оборудования >> Выбор записи >> Редактировать >> Основная форма >> Тип обслуживания

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

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

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

=GetOrDash(Fields!res_number.Value)
Сведения о поверке/аттестации Ресурсы >> Обслуживание оборудования >> Выбор записи >> Редактировать >> Основная форма >> Тип обслуживания, и Номер документа, и Дата след

Fields!res_type.Value >> res_type / ResourcesDataSet >> NAME / RESOURCE_SERVICE_TYPE Fields!res_service_doc.Value >> res_service_doc / ResourcesDataSet >> SERVICE_DOCUMENT / RESOURCE_SERVICE Fields!res_service_date.Value >> res_service_date / ResourcesDataSet >> NEXT_DATE / RESOURCE_SERVICE

=GetOrDash(IIF(Fields!res_type.Value = "Средство измерений", "свидетельство о поверке № " & Fields!res_service_doc.Value & " до " & Format(Fields!res_service_date.Value, "dd.MM.yyyy", "номер документа об аттестации № "))

Результаты испытаний

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

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

Код и комментарии
Наименование показателя Лабораторные журналы >> Выбрать подразделение >> Выбрать запись Результаты >> Показатель

Fields!ind_meth_name.Value >> ind_meth_name / ResultDataSet >> INDICATOR_METHODOLOGY_NAME / METHODOLOGY_INDICATOR

=Fields!ind_meth_name.Value
Единица измерения Лабораторные журналы >> Выбрать подразделение >> Выбрать запись Результаты >> Показатель

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

="<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 >> norm_document / ResultDataSet >> NORMATIVE_DOCUMENT / METHODOLOGY

=Fields!norm_document.Value
Результат Лабораторные журналы >> Выбрать подразделение >> Выбрать запись Результаты >> Результат и Показатель точности

Fields!result.Value >> result / ResultDataSet >> AVG_R / JOURNAL_RESULT Fields!error.Value >> error / ResultDataSet >> AVG_R / JOURNAL_RESULT

=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
ФИО 1 Персонал >> Выбрать запись >> Карточка сотрудника >> Фамилия; Имя; Отчество

Fields!surname_1.Value, Fields!name_1.Value, Fields!patronymic_1.Value >> surname_1, name_1, patronymic_1 / FilterFioDataSet_1 >> SURNAME; NAME; PATRONYMIC / EMPLOYEE

=FormatFio(Fields!surname_1.Value, Fields!name_1.Value, Fields!patronymic_1.Value, 2)
Должность 2 Подстановка должности из параметра ReportParameterPosition_2.Value
=Parameters!ReportParameterPosition_2.Value
ФИО 2 Персонал >> Выбрать запись >> Карточка сотрудника >> Фамилия; Имя; Отчество

Fields!surname_2.Value, Fields!name_2.Value, Fields!patronymic_2.Value >> surname_2, name_2, patronymic_2 / FilterFioDataSet_2 >> SURNAME; NAME; PATRONYMIC / EMPLOYEE

=FormatFio(Fields!surname_2.Value, Fields!name_2.Value, Fields!patronymic_2.Value, 2)
Дополнительная информация Подразделения предприятия >> Развернуть >> Выбрать подразделение >> Карточка подразделения >> Полное наименование

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

="Результаты испытаний, представленные в настоящем протоколе, относятся только к пробам, прошедшим испытания. Частичная перепечатка протокола и копирование без разрешения химико-аналитической лаборатории " & 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