0
НоваяВолна
05.09.24
✎
11:25
|
Помогите, что-то туплю. На форме есть табличная часть в которой заполняются данные из регистра сведений. Колонки Сотрудник, Дата1, Дата2, Дата3 ... и т.д. Сам регистр с периодичностью "В пределах дня" и с одним измерением - Сотрудник
Надо при выборе ячейки с датой открывать Форму записи РС. Делаю так:
Код
КлючЗаписи = Неопределено;
Отбор = Новый Структура;
Отбор.Вставить("Период", ДатаКолонки);
Отбор.Вставить("Сотрудник", ВыбраннаяСтрока.Сотрудник);
Рег = РегистрыСведений.ГрафикиРаботы;
КлючЗаписи = Рег.СоздатьКлючЗаписи(Отбор);
Если НЕ КлючЗаписи = Неопределено Тогда
Параметрыформы = Новый Структура("Ключ", КлючЗаписи);
Форма = Рег.ПолучитьФорму("ФормаЗаписи", , Параметрыформы);
// ОткрытьФорму("РегистрСведений.СпискиЛиц.ФормаЗаписи", Параметрыформы);
// такая конструкция сработала бы на управляемых формах, а обычных ее нет
Форма.Открыть();;
КонецЕсли;
Но в результате открывается пустая форма записи РС, хотя в ключе вижу и Сотрудника и Дату. Есть закомметированная строка кода, она бы сработала на УФ, а в ОФ такой команды нет.
|
|
2
НоваяВолна
05.09.24
✎
12:03
|
(1) Благодарю за помощь,вот так сработало:
КлючЗаписи = Неопределено;
Отбор = Новый Структура;
Отбор.Вставить("Период", ДатаКолонки);
Отбор.Вставить("Сотрудник", ВыбраннаяСтрока.Сотрудник);
Рег = РегистрыСведений.ГрафикиРаботы;
КлючЗаписи = Рег.СоздатьКлючЗаписи(Отбор);
МЗ = РегистрыСведений.ГрафикиРаботы.СоздатьМенеджерЗаписи();
МЗ.Период = ДатаКолонки;
МЗ.Сотрудник = ВыбраннаяСтрока.Сотрудник;
МЗ.Прочитать();
МЗ.ПолучитьФорму("ФормаЗаписи", ,КлючЗаписи ).Открыть();
|
|
4
НоваяВолна
05.09.24
✎
23:48
|
(3) Моя задача отобрать запись в РС по Сотруднику (измерение РС) и дате в табличной части формы, которую я приравниваю к Периоду РС.
Поэтому Отбор у меня по Периоду и Сотруднику. Намекните, в чем вы видите ошибку. Регистр строил сам. Его задача - учет работы сотрудников по датам. Что-то вроде мини табеля рабочих дней, прикрученных к УТ 10.3, сильно переписанной, с полным фаршем говнокода (два, а то и три запроса в Цикле, а то и в друх циклах... )
Основная задача в данном случае - визуализация заполнения графика. Плюс его хранение в регистре, исключая дублирование и удаление данных.
|
|