Замена Подразделения в регистре сведений "Место позиции штатного расписания в структуре предприятия"
Здравствуйте, такой вопрос, в регистре сведений "Место позиции штатного расписания в структуре предприятия" нужно программно (Через обработку) менять подразделение на точно такое же но с другим владельцем (которого выбрал пользователь из уже существующих)
Грубо говоря пользователь выбрал владельца Б в обработке и в регистре в подразделении вместо подразделения 1 с владельцем А, значение изменилось на подразделение 1 с владельцем Б
Все эти значения находятся в одном справочнике из которых и попадают в регистр.
Грубо говоря пользователь выбрал владельца Б в обработке и в регистре в подразделении вместо подразделения 1 с владельцем А, значение изменилось на подразделение 1 с владельцем Б
Все эти значения находятся в одном справочнике из которых и попадают в регистр.
По теме из базы знаний
Найденные решения
Для истории и для тех кто задастся подобным вопросом добавляю обработку с полностью рабочим вариантом для моих регистров и справочников. Так что можете посмотреть код и поменять на свои значения)
P.S. Код ужасный но рабочий, к сожалению моих знаний пока не хватает для оптимизации)
P.S. Код ужасный но рабочий, к сожалению моих знаний пока не хватает для оптимизации)
Прикрепленные файлы:
ЗаменаПодразделений.epf
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Попробовал:
Но владельца менять нельзя, получается что как то нужно отобрать все позиции у которых другой владелец и заменить на такое же значение у правильного (выбранного владельца)
Запрос=Новый запрос;
Запрос.Текст= "ВЫБРАТЬ
| МестоПозицииШтатногоРасписанияВСтруктуреПредприятия.Подразделение.Родитель,
| МестоПозицииШтатногоРасписанияВСтруктуреПредприятия.Подразделение,
| СтруктураПредприятия.Ссылка
|ИЗ
| РегистрСведений.МестоПозицииШтатногоРасписанияВСтруктуреПредприятия КАК МестоПозицииШтатногоРасписанияВСтруктуреПредприятия,
| Справочник.СтруктураПредприятия КАК СтруктураПредприятия
|ГДЕ
| МестоПозицииШтатногоРасписанияВСтруктуреПредприятия.Подразделение <> &Родитель
| И МестоПозицииШтатногоРасписанияВСтруктуреПредприятия.Подразделение.Источник <> &Источник";
Запрос.УстановитьПараметр("Родитель",Объект.Выбор);
Запрос.УстановитьПараметр("Источник",Объект.Выбор);
Выборка=Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ТекущаяЗапись=РегистрыСведений.МестоПозицииШтатногоРасписанияВСтруктуреПредприятия.СоздатьМенеджерЗаписи();
ТекущаяЗапись.Подразделение.Владелец=Объект.Выбор
КонецЕсли;
Попытка
ТекущаяЗапись.Записать();
Исключение
КонецПопытки;
ПоказатьНо владельца менять нельзя, получается что как то нужно отобрать все позиции у которых другой владелец и заменить на такое же значение у правильного (выбранного владельца)
С помощью такого кода смог заменить на выбранное значение, но нужно заменить на аналогичное у выбранного владельца...
НаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Запись.НужноеПоле = НужноеЗначение;
НаборЗаписей.Записать(Истина);
КонецЦикла;
Видимо надо с помощью транзитивного замыкания найти по наименованию похожее подразделение, которое находится в иерархии другого подразделения которое мы выберем на форме. Получить табличку со всеми предками и т.д. а дальше искать по наименованию в полученной отобранной таблице
простите за такой тупой вопрос/уточнение
допустим владельцу Б назначили ТРИ (или более) подразделений (ведь на то он и владелец)
и при выборе владельца Б (вместо владельца А) какое из этих НЕСКОЛЬКИХ подразделений вы автоматически хотите вставить/заменить?
допустим владельцу Б назначили ТРИ (или более) подразделений (ведь на то он и владелец)
и при выборе владельца Б (вместо владельца А) какое из этих НЕСКОЛЬКИХ подразделений вы автоматически хотите вставить/заменить?
Для истории и для тех кто задастся подобным вопросом добавляю обработку с полностью рабочим вариантом для моих регистров и справочников. Так что можете посмотреть код и поменять на свои значения)
P.S. Код ужасный но рабочий, к сожалению моих знаний пока не хватает для оптимизации)
P.S. Код ужасный но рабочий, к сожалению моих знаний пока не хватает для оптимизации)
Прикрепленные файлы:
ЗаменаПодразделений.epf
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)