Регистр такой:
Измерения - ВидПрививки и Сотрудник
УФ
Задача: при изменении сотрудника надо перезаполнить его должность и другие значения зависящие от значения сотрудинка.
Проблема:
При редактировании значения одного из измерений записи регистра сведений (в форме записи) возникает новая запись, а старая остается без изменений.
На форме Запись имеет тип МенеджерЗаписи
Как-то я не правильно работаю именно с записью передаваемой на сервер и обратно на форму. Пытаюсь при записи удалять старые данные, в регистре всеравно они остаются, хотя код по удалению отрабатывает без ошибок.
ЗаписьРегистраСервер = РеквизитФормыВЗначение("Запись"); //менеджер записи
Если НЕ ЗаписьРегистраСервер.Сотрудник = Неопределено Тогда
ЗаписьРегистраСервер.ФизическоеЛицо = ЗаписьРегистраСервер.Сотрудник.ФизическоеЛицо;
ЗаписьРегистраСервер.ДатаРождения = ЗаписьРегистраСервер.Сотрудник.ФизическоеЛицо.ДатаРождения;
ДанныеСотрудника = КадровыйУчет.КадровыеДанныеСотрудников(Истина, ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ЗаписьРегистраСервер.Сотрудник),
"Должность", ТекущаяДата());
Если ДанныеСотрудника.Количество() > 0 Тогда
ЗаписьРегистраСервер.Должность = ДанныеСотрудника[0].Должность;
КонецЕсли;
Иначе
ЗаписьРегистраСервер.ДатаРождения = '00010101';
ЗаписьРегистраСервер.ФизическоеЛицо = Справочники.ФизическиеЛица.ПустаяСсылка();
ЗаписьРегистраСервер.Должность = Справочники.ДолжностиОрганизаций.ПустаяСсылка();
КонецЕсли;
Если НЕ ТекущийОбъект.Сотрудник = Сотрудник Тогда
НаборПрививки = РегистрыСведений.ХВ_Прививки.СоздатьНаборЗаписей();
НаборПрививки.Отбор.Период.Установить(ПериодЗаписи);
НаборПрививки.Отбор.Сотрудник.Установить(Сотрудник);
НаборПрививки.Отбор.ВидПрививки.Установить(ВидПрививки);
НаборПрививки.Прочитать();
Если НаборПрививки.Количество()=1 Тогда
НаборПрививки.Удалить(0);
Иначе
Сообщить("Дублирование записей регистра");
КонецЕсли;
КонецЕсли;
(1) при записи на сервере она и удаляется типа...
Но после закрытия формы появляется обратно. И в процедуру СотрудникПриИзмененииНаСервере я тоже удаление ставил - набор записей отбирается, удаляется и появляется после закрытия формы снова + новая запись. Т.е. где-то в памяти она болтается еще и после закрытия формы записывает обе записи
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс