Конфигурация Business automation software for accounting. CORP 2.1.32.1.
Есть документ Кадровый перевод списком. При повторном открытии строки открывается документ Кадровый перевод. Данные на форме этого документа не соответствуют данным, ранее сохраненным (в части вывода текущего графика работы сотрудника).
При невнимательном пользовании могут быть сохранены неверные данные.
Решение:
В модуле ЗарплатаКадрыРасширенныйКлиент в процедуре РедактироватьСтрокуСписочногоДокумента
внести следующие изменения:
Процедура РедактироватьСтрокуСписочногоДокумента(ВладелецФормы, ПолноеИмяОбъектаМетаданных, Оповещение, ПараметрыОткрытия) Экспорт
Если ТипЗнч(Оповещение.ДополнительныеПараметры) = Тип("Структура") Тогда
Для каждого ОписаниеДополнительногоПараметра Из Оповещение.ДополнительныеПараметры Цикл
ПараметрыОткрытия.Вставить(ОписаниеДополнительногоПараметра.Ключ, ОписаниеДополнительногоПараметра.Значение);
КонецЦикла;
КонецЕсли;
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ВладелецФормы", ВладелецФормы);
ДополнительныеПараметры.Вставить("Оповещение", Оповещение);
Оповещение = Новый ОписаниеОповещения(
"РедактироватьСтрокуСписочногоДокументаЗавершение", ЭтотОбъект, ДополнительныеПараметры);
//Oleg Олег + 20260216
ПарОткр = Новый Структура;
ПарОткр.Вставить("Основание", ПараметрыОткрытия);
ОткрытьФорму(ПолноеИмяОбъектаМетаданных + ".ФормаОбъекта", ПарОткр, ВладелецФормы, Истина, , , Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
//ОткрытьФорму(ПолноеИмяОбъектаМетаданных + ".ФормаОбъекта", ПараметрыОткрытия, ВладелецФормы, Истина, , , Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
//Oleg Олег -
КонецПроцедуры
В Модуле Объекта документа КадровыйПеревод в процедуре ОбработкаЗаполнения внести изменения
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
ДатаНачала = ТекущаяДатаСеанса();
Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
Если ДанныеЗаполнения.Свойство("Действие") И ДанныеЗаполнения.Действие = "Исправить" Тогда
ИсправлениеДокументовЗарплатаКадры.СкопироватьДокумент(ЭтотОбъект, ДанныеЗаполнения.Ссылка);
ИсправленныйДокумент = ДанныеЗаполнения.Ссылка;
ЗарплатаКадрыРасширенный.ПриКопированииМногофункциональногоДокумента(ЭтотОбъект);
//Oleg Олег + 20260216
ИначеЕсли ДанныеЗаполнения.Свойство("АдресСпискаПодобранныхСотрудников")
И ЗначениеЗаполнено(ДанныеЗаполнения.АдресСпискаПодобранныхСотрудников)
И ДанныеЗаполнения.СтрокаСписочногоДокумента.Свойство("Сотрудник")
И ЗначениеЗаполнено(ДанныеЗаполнения.СтрокаСписочногоДокумента.Сотрудник)
Тогда
ДанныеЗаполнения = ДанныеЗаполнения.СтрокаСписочногоДокумента.Сотрудник;
//Oleg Олег -
ИначеЕсли ДанныеЗаполнения.Свойство("Сотрудник") И ЗначениеЗаполнено(ДанныеЗаполнения.Сотрудник) Тогда
ДанныеЗаполнения = ДанныеЗаполнения.Сотрудник;
КонецЕсли;
КонецЕсли;
В модуле формы ФормаДокумента в процедуре ИзменилсяГрафикПриИзменении внести изменения
&НаКлиенте
Процедура ИзменилсяГрафикПриИзменении(Элемент)
//Oleg Олег + 20260216
Если НЕ Объект.ИзменитьГрафикРаботы Тогда
Возврат;
КонецЕсли;
ТекстВопроса = НСтр("ru='Восстановить предыдущий график работы?';uk='Відновити попередній графік роботи?'");
Оповещение = Новый ОписаниеОповещения("ВосстановитьПредыдущийГрафикРаботы", ЭтотОбъект);
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);
//ЗаполнитьГрафик();
//Oleg Олег -
КонецПроцедуры
В этом же модуле добавить процедуру
//Oleg Олег + 20260216
&НаКлиенте
Процедура ВосстановитьПредыдущийГрафикРаботы(Ответ, ДополнительныеПараметры) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
ЗаполнитьГрафик();
Иначе
Объект.ИзменитьГрафикРаботы = Ложь;
КонецЕсли;
КонецПроцедуры
//Oleg Олег -
Вступайте в нашу телеграмм-группу Инфостарт
