Дополнительный реквизит сотрудника ЗУП 3.1

1. user1065288 2 14.11.18 06:15 Сейчас в теме
Здравствуйте. В справочнике сотрудники добавлен доп.реквизит (тип строка, длина 15). В данный момент не у всех сотрудников заполнен этот реквизит. Нужен был внешний отчет, который выводит начисления сотрудников по этому реквизиту. Но мой вариант выводит только уже записанные реквизиты. Как сделать, чтобы тем, у кого не заполнен реквизит, присваивались значению, например 0.0.0 , и выводились под этим реквизитом?
Код
По теме из базы знаний
Найденные решения
2. insurgut 207 14.11.18 06:31 Сейчас в теме
Что-то вроде...

Для Каждого СтрокаСотрудника Из СписокСотрудников Цикл

	НайденнаяСтрока = СтрокаСотрудника.Сотрудник.ДополнительныеРеквизиты.Найти(Наше_Свойство, "Свойство");

	Если НайденнаяСтрока = Неопределено Тогда

		СотрудникОбъект = СтрокаСотрудника.Сотрудник.ПолучитьОбъект();
		СтрокаСвойства = СотрудникОбъект.ДополнительныеРеквизиты.Добавить();
		СтрокаСвойства.Свойство = Наше_Свойство;
		СтрокаСвойства.Значение = "0.0.0";
		СотрудникОбъект.Записать();

	КонецЕсли;

КонецЦикла;
Показать
4. RedIn 14.11.18 08:10 Сейчас в теме
проще в отчете запрос исправить, чем пустые реквизиты плодить
ВЫБРАТЬ
	Сотрудники.Ссылка КАК Ссылка,
	СотрудникиДополнительныеРеквизиты.Свойство КАК Свойство,
	ЕСТЬNULL(СотрудникиДополнительныеРеквизиты.Значение, "0.0.0") КАК Значение
ИЗ
	Справочник.Сотрудники КАК Сотрудники
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники.ДополнительныеРеквизиты КАК СотрудникиДополнительныеРеквизиты
		ПО (Сотрудники.Ссылка = СотрудникиДополнительныеРеквизиты.Ссылка
				И СотрудникиДополнительныеРеквизиты.Свойство.Имя = "ИмяДопРеквизита")
Показать
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. geka-geka 3 14.11.18 07:57 Сейчас в теме
(1) Я бы сначала в первый пакет соединил справочник сотрудники с тч дополнительные реквизиты, а его уже во втором пакете соединил с регистром начисления
2. insurgut 207 14.11.18 06:31 Сейчас в теме
Что-то вроде...

Для Каждого СтрокаСотрудника Из СписокСотрудников Цикл

	НайденнаяСтрока = СтрокаСотрудника.Сотрудник.ДополнительныеРеквизиты.Найти(Наше_Свойство, "Свойство");

	Если НайденнаяСтрока = Неопределено Тогда

		СотрудникОбъект = СтрокаСотрудника.Сотрудник.ПолучитьОбъект();
		СтрокаСвойства = СотрудникОбъект.ДополнительныеРеквизиты.Добавить();
		СтрокаСвойства.Свойство = Наше_Свойство;
		СтрокаСвойства.Значение = "0.0.0";
		СотрудникОбъект.Записать();

	КонецЕсли;

КонецЦикла;
Показать
6. user1065288 2 14.11.18 10:27 Сейчас в теме
(2) этот вариант конечно тоже подойдет, чтобы записать всем сотрудникам этот реквизит, учту и его, спасибо.
4. RedIn 14.11.18 08:10 Сейчас в теме
проще в отчете запрос исправить, чем пустые реквизиты плодить
ВЫБРАТЬ
	Сотрудники.Ссылка КАК Ссылка,
	СотрудникиДополнительныеРеквизиты.Свойство КАК Свойство,
	ЕСТЬNULL(СотрудникиДополнительныеРеквизиты.Значение, "0.0.0") КАК Значение
ИЗ
	Справочник.Сотрудники КАК Сотрудники
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники.ДополнительныеРеквизиты КАК СотрудникиДополнительныеРеквизиты
		ПО (Сотрудники.Ссылка = СотрудникиДополнительныеРеквизиты.Ссылка
				И СотрудникиДополнительныеРеквизиты.Свойство.Имя = "ИмяДопРеквизита")
Показать
5. user1065288 2 14.11.18 10:04 Сейчас в теме
(4) Спасибо, это помогло. Ставил ЕСТЬNULL для значения, но не допер, что надо в связях сразу прописать про свойство. Хотя по идее в условии использовал свойство.
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Программист 1С:ERP
Москва
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день