|
|
Открытие записи РС в УФ |
☑ |
|
0
VashKollega
11.12.14
✎
07:04
|
Сразу оговорюсь, я уже искал на форму и нашел подобные материалы. Пишу как там. Но пока безрезультатно.
Никак не получается открыть запись программно.
Причем я пробовал убрал периодичность у регистра, и все работало. Но как только я ставлю периодичность по дню - все. Ключ вроде получаю, а форма открываться не хочет.
Привожу код:
&НаСервереБезКонтекста
Функция ПолучитьКлючЗаписи(датаДня, ссылкаСотрудник)
Возврат РегистрыСведений.ДанныеПоСотрудникам.СоздатьКлючЗаписи(Новый Структура("Период,Сотрудник", датаДня, ссылкаСотрудник));
КонецФункции
&НаКлиенте
Процедура ИзменитьЗаписьДанныхПоСотрудникам(Команда)
строкатзТекущаяЗапись = Элементы.ДанныеПоСотрудникам.ТекущиеДанные;
Если НЕ строкатзТекущаяЗапись = Неопределено Тогда
ОткрытьФорму("РегистрСведений.ДанныеПоСотрудникам.ФормаЗаписи", ПолучитьКлючЗаписи(строкатзТекущаяЗапись.Период, строкатзТекущаяЗапись.Сотрудник));
КонецЕсли;
КонецПроцедуры
|
|
|
1
VashKollega
11.12.14
✎
07:06
|
Дополнительно:
Ошибка следующая:
{Обработка.ДанныеПоСотрудникам.Форма.Форма.Форма(73)}: Ошибка при вызове метода контекста (ОткрытьФорму)
ОткрытьФорму("РегистрСведений.ДанныеПоСотрудникам.ФормаЗаписи", ПолучитьКлючЗаписи(строкатзТекущаяЗапись.Период, строкатзТекущаяЗапись.Сотрудник));
по причине:
Несоответствие типов (параметр номер '2')
Проверял в отладчике, ключ создается хорошо, то есть из верверной функции приходит нормальное значение, но вот форма не открывается.
|
|
|
2
slin-dev
11.12.14
✎
07:17
|
Второй параметр должен быть типа Структура, а у тебя РегистрСведенийКлючЗаписи
|
|
|
3
VashKollega
11.12.14
✎
07:26
|
Поправил на такой вариант, в итоге ошибок нет, но открывает форму новой записи, а не выбранную строку.
&НаСервереБезКонтекста
Функция ПолучитьКлючЗаписи(датаДня, ссылкаСотрудник)
Ключ = Новый Структура("Период,Сотрудник", датаДня, ссылкаСотрудник);
Возврат Новый Структура("Ключ", Ключ);;
КонецФункции
&НаКлиенте
Процедура ИзменитьЗаписьДанныхПоСотрудникам(Команда)
строкатзТекущаяЗапись = Элементы.ДанныеПоСотрудникам.ТекущиеДанные;
Если НЕ строкатзТекущаяЗапись = Неопределено Тогда
ОткрытьФорму("РегистрСведений.ДанныеПоСотрудникам.ФормаЗаписи", ПолучитьКлючЗаписи(строкатзТекущаяЗапись.Период, строкатзТекущаяЗапись.Сотрудник));
КонецЕсли;
КонецПроцедуры
|
|
|
4
VashKollega
11.12.14
✎
07:26
|
Получается, что все равно не работает.
|
|
|
5
VashKollega
11.12.14
✎
07:57
|
Может кто знает?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший