Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 04:53

Как получить значение дополнительного реквизита у сотрудника?

Автор Алексей Рожков, 27 мар 2020, 11:26

0 Пользователей и 1 гость просматривают эту тему.

Алексей Рожков

Привет всем. Как из справочника "сотрудники" получить значение дополнительного реквизита?
Я пытаюсь написать, но ничего не получается.

Конфа - типовая
ЗУП 3.1

Пример:
ИЗ справочника "сотрудники" получить значение дополнительного реквизита с названием "Статья" у сотрудника Иванов Иван Иванович

Как это реализовать?

P.S. Прохожу курсы на Ютубе, но эту задачу нужно решить сейчас, а практики пока нет :) не судите строго :)

Алексей Рожков

Цитата: Алексей Рожков от 27 мар 2020, 11:26
Привет всем. Как из справочника "сотрудники" получить значение дополнительного реквизита?
Я пытаюсь написать, но ничего не получается.

Инфа:
Конфа - типовая
ЗУП 3.1
Управляемое приложение

Пример:
ИЗ справочника "сотрудники" получить значение дополнительного реквизита с названием "Статья" у сотрудника Иванов Иван Иванович

Как это реализовать?

P.S. Прохожу курсы на Ютубе, но эту задачу нужно решить сейчас, а практики пока нет :) не судите строго :)

wise

(1)
//Ссылка   - элемент  справочника "сотрудники"
//Свойство - ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Статья, хотя УТОЧНИТЕ название")
Функция ПолучитьЗначениеДопРеквизита(Ссылка, Свойство) Экспорт
    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Свойство",Свойство);
    Массив = Ссылка.ДополнительныеРеквизиты.НайтиСтроки(ПараметрыОтбора);
    Если Массив.Количество() = 0 Тогда
        Возврат Неопределено;
    Иначе
        Возврат Массив[0].Значение;
    КонецЕсли;
КонецФункции
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Алексей Рожков

Цитата: wise от 27 мар 2020, 11:36
(1)
//Ссылка   - элемент  справочника "сотрудники"
//Свойство - ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Статья, хотя УТОЧНИТЕ название")
Функция ПолучитьЗначениеДопРеквизита(Ссылка, Свойство) Экспорт
    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Свойство",Свойство);
    Массив = Ссылка.ДополнительныеРеквизиты.НайтиСтроки(ПараметрыОтбора);
    Если Массив.Количество() = 0 Тогда
        Возврат Неопределено;
    Иначе
        Возврат Массив[0].Значение;
    КонецЕсли;
КонецФункции


Сделал, по вашему коду, но 1 ошибка не дает запуститься коду.

Скриншот

Переменная не определена (Справочники)  - та самая ошибка. Помогите пожалуйста правильно сформировать код.

Не совсем понял фразу "//Ссылка   - элемент  справочника "сотрудники"" - Я указал "Справочники.Сотрудники", но ругается на это. На какой именно элемент указать нужно? :)

Вот такой у меня получился листинг


//Ссылка   - элемент  справочника "сотрудники"
//Свойство - ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Статья, хотя УТОЧНИТЕ название")
Функция ПолучитьЗначениеДопРеквизита(ссылка, Свойство) Экспорт
    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Свойство",Свойство);
    Массив = Ссылка.ДополнительныеРеквизиты.НайтиСтроки(ПараметрыОтбора);
    Если Массив.Количество() = 0 Тогда
        Возврат Неопределено;
    Иначе
        Возврат Массив[0].Значение;
    КонецЕсли;
КонецФункции

&НаКлиенте
Процедура Команда1(Команда)
ПолучитьЗначениеДопРеквизита(Справочники.Сотрудники,ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Заказ/статья затрат"));
КонецПроцедуры



alexandr_ll

Цитата: Алексей Рожков от 30 мар 2020, 07:32
Цитата: wise от 27 мар 2020, 11:36
(1)
//Ссылка   - элемент  справочника "сотрудники"
//Свойство - ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Статья, хотя УТОЧНИТЕ название")
Функция ПолучитьЗначениеДопРеквизита(Ссылка, Свойство) Экспорт
    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Свойство",Свойство);
    Массив = Ссылка.ДополнительныеРеквизиты.НайтиСтроки(ПараметрыОтбора);
    Если Массив.Количество() = 0 Тогда
        Возврат Неопределено;
    Иначе
        Возврат Массив[0].Значение;
    КонецЕсли;
КонецФункции


Сделал, по вашему коду, но 1 ошибка не дает запуститься коду.

Скриншот

Переменная не определена (Справочники)  - та самая ошибка. Помогите пожалуйста правильно сформировать код.

Не совсем понял фразу "//Ссылка   - элемент  справочника "сотрудники"" - Я указал "Справочники.Сотрудники", но ругается на это. На какой именно элемент указать нужно? :)

Вот такой у меня получился листинг


//Ссылка   - элемент  справочника "сотрудники"
//Свойство - ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Статья, хотя УТОЧНИТЕ название")
Функция ПолучитьЗначениеДопРеквизита(ссылка, Свойство) Экспорт
    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Свойство",Свойство);
    Массив = Ссылка.ДополнительныеРеквизиты.НайтиСтроки(ПараметрыОтбора);
    Если Массив.Количество() = 0 Тогда
        Возврат Неопределено;
    Иначе
        Возврат Массив[0].Значение;
    КонецЕсли;
КонецФункции

&НаКлиенте
Процедура Команда1(Команда)
ПолучитьЗначениеДопРеквизита(Справочники.Сотрудники,ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Заказ/статья затрат"));
КонецПроцедуры



https://its.1c.ru/db/metod8dev#content:2461:hdoc

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск