Замена Подразделения в регистре сведений "Место позиции штатного расписания в структуре предприятия"

1. TopZlodey 13 16.08.18 15:14 Сейчас в теме
Здравствуйте, такой вопрос, в регистре сведений "Место позиции штатного расписания в структуре предприятия" нужно программно (Через обработку) менять подразделение на точно такое же но с другим владельцем (которого выбрал пользователь из уже существующих)
Грубо говоря пользователь выбрал владельца Б в обработке и в регистре в подразделении вместо подразделения 1 с владельцем А, значение изменилось на подразделение 1 с владельцем Б

Все эти значения находятся в одном справочнике из которых и попадают в регистр.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
12. TopZlodey 13 17.08.18 09:59 Сейчас в теме +1 $m
Для истории и для тех кто задастся подобным вопросом добавляю обработку с полностью рабочим вариантом для моих регистров и справочников. Так что можете посмотреть код и поменять на свои значения)
P.S. Код ужасный но рабочий, к сожалению моих знаний пока не хватает для оптимизации)
Прикрепленные файлы:
ЗаменаПодразделений.epf
mpvrus21; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. user774630 16.08.18 15:16 Сейчас в теме
3. TopZlodey 13 16.08.18 15:18 Сейчас в теме
(2) Как это правильно реализовать)
4. VmvLer 16.08.18 15:33 Сейчас в теме
думаю, по постановке задачи необходимо добавить владельца С, ну в крайнем случае включить телепатию
6. TopZlodey 13 16.08.18 15:37 Сейчас в теме
(4) Извините, никогда не умел правильно и понятно описать вопрос в тексте)
5. TopZlodey 13 16.08.18 15:35 Сейчас в теме
Попробовал:
	Запрос=Новый запрос;
	Запрос.Текст= "ВЫБРАТЬ
	              |	МестоПозицииШтатногоРасписанияВСтруктуреПредприятия.Подразделение.Родитель,
	              |	МестоПозицииШтатногоРасписанияВСтруктуреПредприятия.Подразделение,
	              |	СтруктураПредприятия.Ссылка
	              |ИЗ
	              |	РегистрСведений.МестоПозицииШтатногоРасписанияВСтруктуреПредприятия КАК МестоПозицииШтатногоРасписанияВСтруктуреПредприятия,
	              |	Справочник.СтруктураПредприятия КАК СтруктураПредприятия
	              |ГДЕ
	              |	МестоПозицииШтатногоРасписанияВСтруктуреПредприятия.Подразделение <> &Родитель
	              |	И МестоПозицииШтатногоРасписанияВСтруктуреПредприятия.Подразделение.Источник <> &Источник";
	Запрос.УстановитьПараметр("Родитель",Объект.Выбор);
	Запрос.УстановитьПараметр("Источник",Объект.Выбор);	
	Выборка=Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		ТекущаяЗапись=РегистрыСведений.МестоПозицииШтатногоРасписанияВСтруктуреПредприятия.СоздатьМенеджерЗаписи();
		ТекущаяЗапись.Подразделение.Владелец=Объект.Выбор
		
			КонецЕсли;
	   	Попытка
            ТекущаяЗапись.Записать();
        Исключение
		КонецПопытки;
Показать


Но владельца менять нельзя, получается что как то нужно отобрать все позиции у которых другой владелец и заменить на такое же значение у правильного (выбранного владельца)
7. TopZlodey 13 16.08.18 16:04 Сейчас в теме
Для пояснения ситуации:
скрины по порядку, к примеру нужно заменить крон-ц волгоград руководство заменить на аналогичную только для крон-ц
Прикрепленные файлы:
8. TopZlodey 13 16.08.18 16:09 Сейчас в теме
С помощью такого кода смог заменить на выбранное значение, но нужно заменить на аналогичное у выбранного владельца...
НаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей(); 
НаборЗаписей.Прочитать(); 

Для Каждого Запись Из НаборЗаписей Цикл 
     Запись.НужноеПоле = НужноеЗначение;
     НаборЗаписей.Записать(Истина);
КонецЦикла;
9. BackinSoda 16.08.18 17:05 Сейчас в теме
https://infostart.ru/public/158512/
Видимо надо с помощью транзитивного замыкания найти по наименованию похожее подразделение, которое находится в иерархии другого подразделения которое мы выберем на форме. Получить табличку со всеми предками и т.д. а дальше искать по наименованию в полученной отобранной таблице
10. soft_wind 16.08.18 18:58 Сейчас в теме
простите за такой тупой вопрос/уточнение
допустим владельцу Б назначили ТРИ (или более) подразделений (ведь на то он и владелец)
и при выборе владельца Б (вместо владельца А) какое из этих НЕСКОЛЬКИХ подразделений вы автоматически хотите вставить/заменить?
11. TopZlodey 13 17.08.18 07:15 Сейчас в теме
(10)Выбрали владельца А и все данные у которых другие владельцы сменили владельцев первого уровня на владельца А
12. TopZlodey 13 17.08.18 09:59 Сейчас в теме +1 $m
Для истории и для тех кто задастся подобным вопросом добавляю обработку с полностью рабочим вариантом для моих регистров и справочников. Так что можете посмотреть код и поменять на свои значения)
P.S. Код ужасный но рабочий, к сожалению моих знаний пока не хватает для оптимизации)
Прикрепленные файлы:
ЗаменаПодразделений.epf
mpvrus21; +1 Ответить
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

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

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день