Должности в регистрах КадроваяИсторияСотрудникови КадроваяИсторияСотрудниковИнтервальный разные - почему? После того, как изменяю должность, записываю документ.
В документе Кадровый перевод тоже проблема - должность другая, но не та, что в регистре, а третий вариант. Меняю на "Ббб". В ИзменениеШтатного расписания правильно встает. В кадровом переводе списком правильно в 1 случае из примерно 12 встает правильно.
РезультатЗапроса = ПолучитьДанныеДляИзменения();
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() Тогда
ИзменениеШР = Выборка.ИзменениеШР.ПолучитьОбъект();// Документ.ИзменениеШтатногоРасписания
НайденнаяПозиция = ИзменениеШР.Позиции.Найти(Объект.ПозицияТекущаяКП, "Позиция");
НайденнаяПозиция.Должность = Объект.Должность;
Если ЗначениеЗаполнено(Объект.Подразделение) Тогда
НайденнаяПозиция.Подразделение = Объект.Подразделение;
КонецЕсли;
ИзменениеШР.Записать();
КонецЕсли;
ЭлементШР = Объект.ПозицияТекущаяКП.ПолучитьОбъект();
ЭлементШР.Должность = Объект.Должность;
Если ЗначениеЗаполнено(Объект.Подразделение) Тогда
ЭлементШР.Подразделение = Объект.Подразделение;
КонецЕсли;
ЭлементШР.Наименование = Строка(ЭлементШР.Должность) + " /" + Строка(ЭлементШР.Подразделение) + "/";
ЭлементШР.Записать();
КадровыйПеревод = Объект.КадровыйПеревод.ПолучитьОбъект();
Если ТипЗнч(Объект.КадровыйПеревод) = Тип("ДокументСсылка.КадровыйПереводСписком") Тогда
НайденнаяСтрока = КадровыйПеревод.Сотрудники.Найти(Объект.Сотрудник, "Сотрудник");
Если НайденнаяСтрока <> Неопределено Тогда
НайденнаяСтрока.Должность = Объект.Должность;
КадровыйПеревод.Записать();
КонецЕсли;
КонецЕсли;
Сообщить("Должность = " + Объект.Должность);
Объект.ПозицияТекущаяКП = Справочники.Должности.ПустаяСсылка();
а со штатным расписанием точно все нормально? По картинке такое ощущение, что несоответствие позиции штатного расписания идет должности.
в табличной части два поля "должность" - справочник должность, "должность по штатному расписанию" - справочник штатное расписание. По идее в поле должность должна быть должность из "должность по штатному расписанию", а у Вас какая-то другая каким-то образом затесалась.
Т.е. на глаз проблема не в регистрах, они как могли так и заполнились, а в том, что в табличной части документа, и каким образом оно таким встало.
только у меня зуп корп и ведется история штатного расписания
только у меня зуп корп и ведется история штатного расписания
Все то же самое
Задача: задним числом нужно изменить должность сотрудника.
Меняем и позицию штатного расписания и кадровые переводы сотрудника.
В позиции ШР должность меняю, и проблем вроде нет.
А в кадровом переводе списком остается старая должность, хотя изменяю ее
Если ТипЗнч(Объект.КадровыйПеревод) = Тип("ДокументСсылка.КадровыйПереводСписком") Тогда
НайденнаяСтрока = КадровыйПеревод.Сотрудники.Найти(Объект.Сотрудник, "Сотрудник");
Если НайденнаяСтрока <> Неопределено Тогда
НайденнаяСтрока.Должность = Объект.Должность;
КадровыйПеревод.Записать();
КонецЕсли;
КонецЕсли;
(13) Вы ошибаетесь, проблема не в том, что отображается, а в том, как заполнен документ. У Вас он заполнен не тем, чем Вы думаете он заполнен.
И проблема не в том, что движения неправильные, а в том, что документ изначально некорректно заполнен.
возьмите обработку универсальную редактирования документов, откройте документ в ней и посмотрите, что там реально выбрано. Без особенностей отображения интерфейсом
(14) На скрине слева Кадровый перевод, справа провалились в должность. В данной ситуации очевидный глюк с отображением. Этот глюк воспроизводится и в Кадровом переводе списком, если изменить форму - вывести ДолжностьПоШтатномуРасписанию.Должность - если установить фильтр по Должность (ctrl+F ввести наименование которое видим) то выводится пустой список. А также запрос возвращает не то, что мы видим.
Смотрите скрин - в наименовании должности Новая2 (справа), а в документе (слева) отображается Новая1 (должность до изменения). Этот глюк пропадает после танцев с бубном - открыть/закрыть/лечь/отжаться).
(15) это глюк не с отображением, а с заполнением. А танцы с бубном скорее всего задевают механизм перезаполнения табличной части, в частности должности. И я так полагаю, глюк появляется после программной обработки документа и/или позиции штатного расписания.
т.е. если посмотреть изменение реквизитов (через историю изменения документов, типовая возможность зуп) то с глюком будет один состав, а без глюка другой состав и вы легко должны увидеть, что изменилось
ну и еще один момент, несоответствие должности в табличной части документа, должности в позиции штатного расписания.
Как говорит мой начальник расчетного отдела, "все смешалось, кони, люди"
Как говорит мой начальник расчетного отдела, "все смешалось, кони, люди"
танцы с бубном пошагово:
1) Изменяем должность обработкой
2) Открываем сотрудника из формы обработки - должность до изменения
3) Проваливаемся в должность сотрудника - должность после изменения
То есть на форме сотрудника одно (п. 2), а на форме элемента справочника ШР другое (п. 3).
4) Открываем сотрудника из справочника Сотрудники - должность после изменения
5) Возвращаемся к пункту 1: открываем сотрудника из формы обработки - должность после изменения.
В общем с какой-то задержкой отображается, а данные корректные.