helpf.pro
Регистрация

v8.3: Программное создание папок в справочниках

Sabuhi
23.02.2021 06:25Прочитано: 1713

Здравствуйте, я новичок в 1с, нужна помощь, у меня есть два справочника (Сотрудники и ПапкаСотрудников)  при создании нового сотрудника в справочнике Сотрудники создается его папка в ПапкаСотрудников, но нужно чтобы они были разбиты по отделам, в справочнике Сотрудники есть информация по отделениям, то есть каждый сотрудник работает в каком-то отделе, и нужно чтобы он создавал в справочнике ПапкаСотрудников папку с отделом и добавлял в эту подпапку сотрудника.

Код программы:

Код 1C v 8.3
 

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)

Если НЕ Справочники.Сотрудники.НайтиПоНаименованию(Объект.Наименование) = Null Тогда 
НоваяПапка = Справочники.ПапкиСотрудников.СоздатьГруппу();
        НоваяПапка.Наименование = Объект.Наименование;
        НоваяПапка.Записать();

КонецЕсли;

КонецПроцедуры


Yandex
Возможно, вас также заинтересует
Реклама на портале
Sabuhi
24.02.2021 05:41Ответ № 1
Steering
17.03.2021 10:38Ответ № 2

Папку отдела надо писать в родителя папки сотрудника. Примерно так:

Код 1C v 8.3
 
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)

Отдел = Объект.Отдел;
ЕстьОтдел = Справочники.ПапкиСотрудников.НайтиПоНаименованию(Отдел);
Если ЕстьОтдел.ПустаяСсылка() ИЛИ ЕстьОтдел = Неопределено Тогда 
НоваяПапкаОтдела = Справочники.ПапкиСотрудников.СоздатьГруппу();
НоваяПапкаОтдела.Наименование = Отдел;
        НоваяПапкаОтдела.Записать();
Отдел = НоваяПапкаОтдела;
Иначе
Отдел = ЕстьОтдел;
КонецЕсли;

НоваяПапкаСотрудника = Справочники.Сотрудники.СоздатьГруппу();
НоваяПапкаСотрудника.Наименование = Объект.Наименование;
НоваяПапкаСотрудника.Родитель = Отдел;
НоваяПапкаСотрудника.Записать();
Отдел = НоваяПапкаОтдела;

КонецПроцедуры
Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.