Сведения о работниках лаборатории
Параметры
| № | Параметр | Тип поля | Данные | Сортировка |
|---|---|---|---|---|
| 1 | Выберите лабораторию:
|
выбор значения | лаборатории, имеющие записи в журналах | сначала головное учреждение, затем остальные по алфавиту |
| 2 | Укажите ФИО уполномоченного лица:
|
выбор значения | сотрудники из лаборатории (п.1)
|
по алфавиту |
| 3 | Укажите должность уполномоченного лица:
|
выбор значения | должности сотрудника (п.2)
|
по алфавиту |
| 4 | Сотрудники (область аккредитации):
|
выбор одного из 2-х вариантов - «в области аккредитации», «вне области аккредитации» | отметка проставляется ТОЛЬКО для сотрудников лаборатории | - |
| 5 | Введите начальное значение нумерации строк:
|
ввод числа | начальное значение, с которого будет начинаться нумерация строк (по умолчанию 1) | - |
Атрибуты
В наборе данных MainDataSet в таблице ATTRIBUTE_NAME используются атрибуты со следующими значениями NAME:
- СНИЛС
- Форма привлечения труда
- Тип занятости
- Номер договора
- Дата договора
- Выполняемые функции
- Образовательное учреждение
- Период обучения
- Специальность, специализация, квалификация
- Реквизиты документа об образовании
- Дата получения диплома
- В области аккредитации
Внимание!
Описание атрибутов приведено в соответствии с базой данных ASTRA-PG13 на основе созданных пользователем полей.
В других базах этих полей может не быть либо их наименование может отличаться!!!
Отсутствующие в базе атрибуты не будут выводиться в документе. Для корректной работы документа актуализируйте атрибуты в соответствии с приведенным списком.
Поля, данные, выражения, элементы интерфейса и код
Верхний колонтитул
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Название лаборатории | Parameters!ReportParameterLaboratory.Value
|
=Parameters!ReportParameterLaboratory.Value
|
| Владелец версии | Code.Globals.GetVersionOwner()
|
="Владелец версии: " & Code.Globals.GetVersionOwner()
|
Заголовок
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Текущая дата | Today.ToString("dd.MM.yyyy")
|
="По состоянию на: " & Today.ToString("dd.MM.yyyy")
|
Основная информация
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| № п/п | Сквозная нумерация строк RowNumber(), начальное значение нумерации строк из параметра фильтра Parameters!ReportParametrNumberFirstString.Value – 1
|
=RowNumber() + Parameters!ReportParametrNumberFirstString.Value – 1
RowNumber() вычитается единица, чтобы скорректировать смещение относительно числа, введенного пользователем; при вводе пользователем, например, числа 50, для первой строки отчета RowNumber() вернет 1: выражение вычисляется как 1 + 50 - 1, что дает в результате 50 (желаемый начальный номер); для второй строки RowNumber() вернет 2, и выражение даст 2 + 50 - 1 = 51, и так далее
|
| Фамилия, имя, отчество (при наличии), страховой номер индивидуального лицевого счета, дата и место рождения | Персонал >> Выбрать запись >> Карточка сотрудника >> Фамилия; Имя; Отчество; СНИЛС; Дата рождения
|
=IIF( Not IsNothing(Fields!snils.Value), Fields!fio.Value + vbLF + "СНИЛС " + Fields!snils.Value, Fields!fio.Value)
|
| Основание для привлечения личного труда (трудовой договор, гражданско-правовой договор или иное), работа по основному месту работы или по совместительству | Персонал >> Выбрать запись >> Карточка сотрудника >> Форма привлечения труда; Номер договора; Дата договора; Тип занятости
|
=IIF(IsNothing(Fields!employment_form.Value) And IsNothing(Fields!contract_number.Value) And IsNothing(Fields!contract_date.Value) And IsNothing(Fields!employment_type.Value), "-", Fields!employment_form.Value + " " + Fields!contract_number.Value +IIF( Not IsNothing(Fields!contract_date.Value), " от " + DateValue(Fields!contract_date.Value), "") + " (" + Fields!employment_type.Value + ")")
если все 4 поля БД, содержащие форму, номер, дату и тип являются пустыми, то в строку заносится прочерк; иначе вносятся форма + номер + (если дата не пустая, то « от » + дата, если пустая то ничего) + тип |
| Выполняемые функции, проводимые исследования, испытания, измерения | Персонал >> Выбрать запись >> Карточка сотрудника >> Выполняемые функции
|
=IIF(IsNothing (Fields!function_value.Value), "-", Fields!function_value.Value)
|
| Образование (наименование учебного заведения, год окончания, квалификация по документу об образовании, реквизиты документа об образовании) | Персонал >> Выбрать запись >> Карточка сотрудника >> Образовательное учреждение; Дата получения диплома; Специальность, специализация, квалификация; Реквизиты документа об образовании
|
=IIF(IsNothing(Fields!uni.Value) And IsNothing(Fields!uni_year.Value) And IsNothing(Fields!prof.Value) And IsNothing(Fields!diplom.Value), "-", IIF( Not IsNothing(Fields!uni.Value), Fields!uni.Value & ", ", "") &IIF( Not IsNothing(Fields!uni_year.Value), Fields!uni_year.Value & ", ", "") & IIF( Not IsNothing(Fields!prof.Value), Fields!prof.Value & ", ", "") & Fields!diplom.Value)
если все 4 поля БД (учебное заведение, год окончания, специальность и реквизиты диплома) пустые, то вносится прочерк; иначе к трем полям применяется условие – если поле не пустое, выводится поле и запятая, если пустое, то ничего; к последнему полю применяется условие без запятой – если поле не пустое, то выводится поле, если пустое, то ничего; |
| Практический опыт по исследованиям, испытаниям, измерениям, включенным в область аккредитации (в годах, с указанием, в каких организациях, в какой период и по каким видам исследований (испытаний) измерений получен) | Персонал >> Выбрать запись >> Карточка сотрудника >> Дата получения диплома
|
=IIF(IsNothing(Fields!diplom_date.Value), "-", Code.ReturnYearsWithSuffix(DateValue(Fields!diplom_date.Value)) & vbLF & Fields!diplom_date.Value & " - по текущую дату")
если в БД поле даты начала трудовой деятельности пустое, выводится прочерк;
иначе
‒ вызывает функцию Public Function ReturnYearsWithSuffix(inputDate As Date) As String
Dim yearsDiff As Long = DateDiff(DateInterval.Year, inputDate, Now())
Dim resultDate As Long = yearsDiff
Dim resultString As String = yearsDiff.ToString()
If (resultDate > 20) Then
resultDate = resultDate Mod 10
End If
Select Case resultDate
Case 1
resultString &= $" год"
Case 2 To 4
resultString &= $" года"
Case Else
resultString &= $" лет"
End Select
Return resultString
End Function
функция принимает числовое значение количества лет трудового стажа;
|
Подписи
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Должность | Подстановка из фильтра Parameters!ReportParameterPosition.Value
|
=Parameters!ReportParameterPosition.Value
|
| ФИО | Получение данных из фильтра Parameters!ReportParameterFio.Value и преобразование в формат И.О. Фамилия Code.FormatAsInitialsSurname()
|
=Code.FormatAsInitialsSurname(Parameters!ReportParameterFio.Value)
Public Function FormatAsInitialsSurname(fullName As String) As String
Dim trimmedName As String = fullName.Trim()
Dim nameParts() As String = trimmedName.Split(New Char() {" "c}, StringSplitOptions.RemoveEmptyEntries)
If nameParts.Length < 2 Then
Return fullName
End If
Dim surname As String = nameParts(0)
Dim firstNameInitial As Char = nameParts(1)(0)
Dim middleNameInitial As Char? = Nothing
If nameParts.Length >= 3 Then
middleNameInitial = nameParts(2)(0)
End If
Dim result As String = $"{firstNameInitial}."
If middleNameInitial.HasValue Then
result &= $"{middleNameInitial}."
End If
result &= $" {surname}"
Return result
End Function
функция принимает строку полных Фамилии, Имени и Отчества;
полученное значение сохраняется в переменной |
Нижний колонтитул
| Поля | Интерфейс ... >> ...
и данные |
Код и комментарии |
|---|---|---|
| Имя программы | Code.Globals.GetProgramName()
|
=Code.Globals.GetProgramName()
|
| Нумерация страниц | Номер страницы Globals!PageNumber и всего страниц Globals!TotalPages
|
="Страница " & Globals!PageNumber & " из " & Globals!TotalPages
|