Сведения о работниках лаборатории: различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) Нет описания правки |
||
| (не показано 40 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
==Параметры== | ==Параметры== | ||
{|class="wikitable" style="margin:auto; background-color: #fff;" | {|class="wikitable" style="margin:auto; background-color: #fff;" | ||
|- | |- | ||
! | !№!!Параметр!!Тип поля!!Данные!!Сортировка | ||
|- | |- | ||
| | |align="center"|1 | ||
|<code>Выберите лабораторию:</code> | |||
|align="center"|выбор значения | |||
|лаборатории, имеющие записи в журналах | |||
|align="center"|сначала головное учреждение, затем остальные по алфавиту | |||
|- | |- | ||
| | |align="center"|2 | ||
|<code>Укажите ФИО уполномоченного лица:</code> | |||
|align="center"|выбор значения | |||
|сотрудники из <code>лаборатории (п.1)</code> | |||
|align="center"|по алфавиту | |||
|- | |- | ||
| | |align="center"|3 | ||
|<code>Укажите должность уполномоченного лица:</code> | |||
|align="center"|выбор значения | |||
|должности <code>сотрудника (п.2)</code> | |||
|align="center"|по алфавиту | |||
|- | |- | ||
| | |align="center"|4 | ||
|<code>Сотрудники (область аккредитации):</code> | |||
|align="center"|выбор одного из 2-х вариантов - «в области аккредитации», «вне области аккредитации» | |||
|отметка проставляется ТОЛЬКО для сотрудников лаборатории | |||
|align="center"|- | |||
|- | |- | ||
| | |align="center"|5 | ||
|<code>Введите начальное значение нумерации строк:</code> | |||
|align="center"|ввод числа | |||
|начальное значение, с которого будет начинаться нумерация строк (по умолчанию 1) | |||
|align="center"|- | |||
|- | |- | ||
| | |} | ||
==Атрибуты== | |||
В наборе данных <code>MainDataSet</code> в таблице <code>ATTRIBUTE_NAME</code> используются атрибуты со следующими значениями <code>NAME</code>: | |||
<div style="column-count: 2;"> | |||
*СНИЛС | |||
*Форма привлечения труда | |||
*Тип занятости | |||
*Номер договора | |||
*Дата договора | |||
*Выполняемые функции | |||
*Образовательное учреждение | |||
*Период обучения | |||
*Специальность, специализация, квалификация | |||
*Реквизиты документа об образовании | |||
*Дата получения диплома | |||
*В области аккредитации | |||
</div> | |||
<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> | |Название лаборатории | ||
|<code>Parameters!ReportParameterLaboratory.Value</code> | |||
|<syntaxhighlight lang="vb">=Parameters!ReportParameterLaboratory.Value</syntaxhighlight> | |||
|- | |- | ||
|<code> | |Владелец версии | ||
|<code>Code.Globals.GetVersionOwner()</code> | |||
|<syntaxhighlight lang="vb">="Владелец версии: " & Code.Globals.GetVersionOwner()</syntaxhighlight> | |||
|- | |- | ||
| | |} | ||
===Заголовок=== | |||
{|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>Today.ToString("dd.MM.yyyy")</code> | |||
|<syntaxhighlight lang="vb">="По состоянию на: " & Today.ToString("dd.MM.yyyy")</syntaxhighlight> | |||
|- | |- | ||
| | |} | ||
===Основная информация=== | |||
{|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>RowNumber()</code>, начальное значение нумерации строк из параметра фильтра <code>Parameters!ReportParametrNumberFirstString.Value – 1</code> | |||
|<syntaxhighlight lang="vb">=RowNumber() + Parameters!ReportParametrNumberFirstString.Value – 1</syntaxhighlight> из счетчика <code>RowNumber()</code> вычитается единица, чтобы скорректировать смещение относительно числа, введенного пользователем; при вводе пользователем, например, числа 50, для первой строки отчета <code>RowNumber()</code> вернет 1: выражение вычисляется как 1 + 50 - 1, что дает в результате 50 (желаемый начальный номер); для второй строки <code>RowNumber()</code> вернет 2, и выражение даст 2 + 50 - 1 = 51, и так далее | |||
|- | |- | ||
|Дата | |Фамилия, имя, отчество (при наличии), страховой номер индивидуального лицевого счета, дата и место рождения | ||
|<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!fio.Value</code> >> <code style="background-color: #fff3e0;>fio / MainDataSet</code> >> <code style="background-color: #fff3e0;>SURNAME; NAME; PATRONYMIC / EMPLOYEE</code> | |||
<code style="background-color: #fff3e0;>Fields!snils.Value</code> >> <code style="background-color: #fff3e0;>snils / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / EMPLOYEE_ATTRIBUTE</code> | |||
|<syntaxhighlight lang="vb">=IIF( Not IsNothing(Fields!snils.Value), Fields!fio.Value + vbLF + "СНИЛС " + Fields!snils.Value, Fields!fio.Value)</syntaxhighlight> если поле БД, содержащее СНИЛС, не пустое, то в ячейку вносится значение ФИО + перенос на новую строку + надпись «СНИЛС: » + значение поля СНИЛС; иначе вносится только значение ФИО | |||
|- | |- | ||
| | |Основание для привлечения личного труда (трудовой договор, гражданско-правовой договор или иное), работа по основному месту работы или по совместительству | ||
|<code style="background-color: #d4edda;>Персонал</code> >> Выбрать запись >> <code style="background-color: #d4edda;>Карточка сотрудника</code> >> <code style="background-color: #d4edda;>Форма привлечения труда</code>; <code style="background-color: #d4edda;>Номер договора</code>; <code style="background-color: #d4edda;>Дата договора</code>; <code style="background-color: #d4edda;>Тип занятости</code> | |||
<code style="background-color: #fff3e0;>Fields!employment_form.Value</code>; <code style="background-color: #fff3e0;>Fields!contract_number.Value</code>; <code style="background-color: #fff3e0;>Fields!employment_type.Value</code> >> <code style="background-color: #fff3e0;>employment_form; contract_number; employment_type / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / EMPLOYEE_ATTRIBUTE</code> | |||
<code style="background-color: #fff3e0;>Fields!contract_date.Value</code> >> <code style="background-color: #fff3e0;>contract_date / MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / EMPLOYEE_ATTRIBUTE</code> | |||
|<syntaxhighlight lang="vb">=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 + ")")</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: #fff3e0;>Fields!function_value.Value</code> >> <code style="background-color: #fff3e0;>function_value / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / EMPLOYEE_ATTRIBUTE</code> | |||
|<syntaxhighlight lang="vb">=IIF(IsNothing (Fields!function_value.Value), "-", Fields!function_value.Value)</syntaxhighlight> если поле БД, содержащее функцию, пустое, то вносится прочерк, иначе вносится функция из поля | |||
|- | |- | ||
|Образование (наименование учебного заведения, год окончания, квалификация по документу об образовании, реквизиты документа об образовании) | |||
|<code style="background-color: #d4edda;>Персонал</code> >> Выбрать запись >> <code style="background-color: #d4edda;>Карточка сотрудника</code> >> <code style="background-color: #d4edda;>Образовательное учреждение</code>; <code style="background-color: #d4edda;>Дата получения диплома</code>; <code style="background-color: #d4edda;>Специальность, специализация, квалификация</code>; <code style="background-color: #d4edda;>Реквизиты документа об образовании</code> | |||
<code style="background-color: #fff3e0;>Fields!uni.Value</code>; <code style="background-color: #fff3e0;>Fields!prof.Value</code>; <code style="background-color: #fff3e0;>Fields!diplom.Value</code> >> <code style="background-color: #fff3e0;>uni; prof; diplom / MainDataSet</code> >> <code style="background-color: #fff3e0;>STRING_VALUE / EMPLOYEE_ATTRIBUTE</code> | |||
<code style="background-color: #fff3e0;>Fields!uni_year.Value</code> >> <code style="background-color: #fff3e0;>uni_year / MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / EMPLOYEE_ATTRIBUTE</code> | |||
|<syntaxhighlight lang="vb">=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)</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: #fff3e0;>Fields!diplom_date.Value</code> >> <code style="background-color: #fff3e0;>diplom_date / MainDataSet</code> >> <code style="background-color: #fff3e0;>DATE_VALUE / EMPLOYEE_ATTRIBUTE</code> | |||
|<syntaxhighlight lang="vb">=IIF(IsNothing(Fields!diplom_date.Value), "-", Code.ReturnYearsWithSuffix(DateValue(Fields!diplom_date.Value)) & vbLF & Fields!diplom_date.Value & " - по текущую дату")</syntaxhighlight> | |||
если в БД поле даты начала трудовой деятельности пустое, выводится прочерк; | если в БД поле даты начала трудовой деятельности пустое, выводится прочерк; | ||
иначе | иначе | ||
| Строка 93: | Строка 148: | ||
‒ переносит строку (<code>vbLF</code>); | ‒ переносит строку (<code>vbLF</code>); | ||
‒ выводит год начала трудовой деятельности + «по текущую дату» | ‒ выводит год начала трудовой деятельности + «по текущую дату» | ||
<syntaxhighlight lang="vb">Public Function ReturnYearsWithSuffix(inputDate As Date) As String | |||
Dim yearsDiff As Long = DateDiff(DateInterval.Year, inputDate, Now()) | Dim yearsDiff As Long = DateDiff(DateInterval.Year, inputDate, Now()) | ||
Dim resultDate As Long = yearsDiff | Dim resultDate As Long = yearsDiff | ||
| Строка 113: | Строка 167: | ||
Return resultString | Return resultString | ||
End Function</ | End Function</syntaxhighlight> | ||
функция принимает числовое значение количества лет трудового стажа; | функция принимает числовое значение количества лет трудового стажа; | ||
<code>DateDiff()</code> вычисляет разницу между двумя датами (между третьим и вторым аргументами), при этом первый аргумент <code>DateInterval.Year</code> указывает функции, в каких единицах измерения нужно вернуть разницу (в данном случае, в полных годах), второй аргумент <code>inputDate</code> начало периода, третий аргумент <code>Now()</code> конец периода (текущая системная дата и время на момент выполнения кода); результат вычисления присваивается переменной <code>yearsDiff</code>; | <code>DateDiff()</code> вычисляет разницу между двумя датами (между третьим и вторым аргументами), при этом первый аргумент <code>DateInterval.Year</code> указывает функции, в каких единицах измерения нужно вернуть разницу (в данном случае, в полных годах), второй аргумент <code>inputDate</code> начало периода, третий аргумент <code>Now()</code> конец периода (текущая системная дата и время на момент выполнения кода); результат вычисления присваивается переменной <code>yearsDiff</code>; | ||
| Строка 122: | Строка 176: | ||
функция возвращает итоговую строку в вызвавшее ее выражение в ячейке для дальнейшей обработки (соединения с другими данными) | функция возвращает итоговую строку в вызвавшее ее выражение в ячейке для дальнейшей обработки (соединения с другими данными) | ||
|- | |- | ||
|} | |||
===Подписи=== | |||
{|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>Parameters!ReportParameterPosition.Value</code> | |||
|<syntaxhighlight lang="vb">=Parameters!ReportParameterPosition.Value</syntaxhighlight> | |||
|- | |||
|ФИО | |||
|Получение данных из фильтра <code>Parameters!ReportParameterFio.Value</code> и преобразование в формат И.О. Фамилия <code>Code.FormatAsInitialsSurname()</code> | |||
|<syntaxhighlight lang="vb">=Code.FormatAsInitialsSurname(Parameters!ReportParameterFio.Value)</syntaxhighlight> | |||
<syntaxhighlight lang="vb">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 | |||
</syntaxhighlight> | |||
функция принимает строку полных Фамилии, Имени и Отчества; | |||
полученное значение сохраняется в переменной <code>trimmedName</code> после удаления начальных и конечных пробелов (если они были) с помощью встроенной функции <code>Trim()</code>; | |||
в массиве <code>nameParts()</code> сохраняются составные части строки (слова), разбитые с помощью встроенной функции <code>Split()</code>; | |||
если имя содержит менее двух частей (например, только "Иван" или только "Петров"), функция возвращает исходную строку <code>fullName</code> без изменений; | |||
в переменной surname сохраняется первый элемент массива <code>nameParts(0)</code> - Фамилия; | |||
в переменной <code>firstNameInitial</code> сохраняется из второго элемента массива первая буква <code>nameParts(1)(0)</code> – инициал имени; | |||
создается переменная <code>middleNameInitial</code>, которая по умолчанию назначается пустой (на случай отсутствия отчества); | |||
при количестве элементов массива более или равных 3 (при наличии отчества), переменной <code>middleNameInitial</code> в качестве значения присваивается из третьего элемента массива первая буква <code>nameParts(2)(0)</code> – инициал отчества; | |||
создается переменная <code>result</code>, в которую объединяются «И.» + «О.» + « Фамилия»; | |||
функция возвращает значение <code>result</code> в выражение ячейки для дальнейшего отображения | |||
|- | |||
|} | |||
===Нижний колонтитул=== | |||
{|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>Code.Globals.GetProgramName()</code> | |||
|<syntaxhighlight lang="vb">=Code.Globals.GetProgramName()</syntaxhighlight> | |||
|- | |||
|Нумерация страниц | |||
|Номер страницы <code>Globals!PageNumber</code> и всего страниц <code>Globals!TotalPages</code> | |||
|<syntaxhighlight lang="vb">="Страница " & Globals!PageNumber & " из " & Globals!TotalPages</syntaxhighlight> | |||
|- | |||
|} | |||
{{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 = | |||
* [[Сводный журнал регистрации проб|Сводный журнал регистрации проб]] | |||
* [[Сводный журнал результатов анализов|Сводный журнал результатов анализов]] | |||
* [[Журнал контроля окружающей среды|Журнал контроля окружающей среды]] | |||
* [[Журнал на показатель (фотометрия)|Журнал на показатель (фотометрия)]] | |||
* [[Журнал на показатель (фракционный состав)|Журнал на показатель (фракционный состав)]] | |||
* [[Учет и анализ объемов внесенной информации|Учет и анализ объемов внесенной информации]] | |||
* [[Протокол|Протокол]] | |||
* [[Графическое изображение результатов|Графическое изображение результатов]] | |||
}} | |||
}} | |||
Текущая версия от 03:48, 26 января 2026
Параметры
| № | Параметр | Тип поля | Данные | Сортировка |
|---|---|---|---|---|
| 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
|