К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Подскжаите плз по управляемым формам

Гость
0 - 31.12.2011 - 11:44
Всех с наступающим. И подскжите плз, по 8.2.
Делаю так:
&НаКлиенте
Процедура ВидОперацииПриИзменении(Элемент)
если Элементы.ВидОперации=СнятиеСБанка() тогда
Элементы.Получатель=БанковскиеСчетаПустаяСсылка();
иначе
Элементы.Получатель=КонтрагентыСчетаПустаяСсылка() ;
конецесли;
КонецПроцедуры

&НаСервере
функция СнятиеСБанка()
возврат Перечисления.ВидыОперацийПКО.СнятиеСБанка;
конецфункции

функция БанковскиеСчетаПустаяСсылка()
возврат Справочники.БанковскиеСчета.ПустаяСсылка();
конецфункции

функция КонтрагентыСчетаПустаяСсылка()
возврат Справочники.Контрагенты.ПустаяСсылка();
конецфункции

выдает
{Документ.ПКО.Форма.ФормаДокументаУпр.Форма(7)**: Поле объекта недоступно для записи (Получатель)
Элементы.Получатель=КонтрагентыСчетаПустаяСсылка() ;
подскажите плз, как лечить



Гость
1 - 31.12.2011 - 12:55
.Значение - не?

P.S. И как часто используешь функцию
функция БанковскиеСчетаПустаяСсылка()
возврат Справочники.БанковскиеСчета.ПустаяСсылка();
конецфункции

:D
Гость
2 - 31.12.2011 - 13:25
(1) Ты разницы между реквизитами прикладных объектов и элементами форм вообще не понимаешь, да?
(2) Не, надо было ко объекту обращаться.
Гость
3 - 31.12.2011 - 13:26
2, ну вообще, я только только занялся изученим управляемых форм 8.2, и сразу столкнулся с тем, что типичные консрукции 8.1 не работают... Вот и приходиться на начальном этапе изучения в примерах присать такие функции как БанковскиеСчетаПустаяСсылка()
Гость
4 - 31.12.2011 - 13:33
3, А!!! Спасибо, как же я сразу не сообразил... Щас попробую
Гость
5 - 31.12.2011 - 13:35
Так и на 8.1 так делать было совсем не нада...
Гость
6 - 31.12.2011 - 13:35
Кстати на клиенте успешно фунциклирует "ПредопределенноеЗначение" а то ты там счас понапишешь...
Гость
7 - 31.12.2011 - 13:41
3, спасибо получилось.
Еще подскажите плз, как мне избаться вот от атких вот функций:
&НаСервере
функция СнятиеСБанка()
возврат Перечисления.ВидыОперацийПКО.СнятиеСБанка;
конецфункции

функция БанковскиеСчетаПустаяСсылка()
возврат Справочники.БанковскиеСчета.ПустаяСсылка();
конецфункции

функция КонтрагентыСчетаПустаяСсылка()
возврат Справочники.Контрагенты.ПустаяСсылка();
конецфункции

попробовал вот так
&НаКлиенте
Процедура ВидОперацииПриИзменении(Элемент)
если Объект.ВидОперации=СнятиеСБанка() тогда
//Объект.Получатель=БанковскиеСчетаПустаяСсылка();
&НаСервере
Объект.Получатель=Справочники.БанковскиеСчета.Пуст аяСсылка();
&НаКлиенте
иначе
Объект.Получатель=КонтрагентыСчетаПустаяСсылка();
конецесли;
КонецПроцедуры

выдает ошибку
Гость
8 - 31.12.2011 - 13:42
6, почему?
на 8.1 я бы сделал так:
Процедура ВидОперацииПриИзменении(Элемент)
если ВидОперации=Перечисления.ВидыОперацийПКО.СнятиеСБа нка тогда
Получатель=Справочники.БанковскиеСчета.ПустаяСсылк а();
иначе
Получатель=Справочники.Контрагенты.ПустаяСсылка();
конецесли;
КонецПроцедуры

Разве это неправильно, если стоит задача менять тип объекта при измении реквизита?
Гость
9 - 31.12.2011 - 13:42
7, спасибо, попробую
Гость
10 - 31.12.2011 - 13:45
(9) Так какого лешего в упр. форме у тебя появились "Элементы" вместо "Объекта"?
Гость
11 - 31.12.2011 - 13:52
7, спасибо, функция помогла, теперь ПредопределенноеЗначение, теперь пример выглядит так:
&НаКлиенте
Процедура ВидОперацииПриИзменении(Элемент)
//если Объект.ВидОперации=ПредопределенноеЗначение("Переч исления.ВидыОперацийПКО.СнятиеСБанка") тогда
если Объект.ВидОперации=СнятиеСБанка() тогда
Объект.Получатель=ПредопределенноеЗначение("Справо чник.БанковскиеСчета.ПустаяСсылка");
иначе
Объект.Получатель=ПредопределенноеЗначение("Справо чник.Контрагенты.ПустаяСсылка");;
конецесли;
КонецПроцедуры

&НаСервере
функция СнятиеСБанка()
возврат Перечисления.ВидыОперацийПКО.СнятиеСБанка;
конецфункции

Еще бы только от
&НаСервере
функция СнятиеСБанка()
возврат Перечисления.ВидыОперацийПКО.СнятиеСБанка;
конецфункции

как то бы избавитьюся. На строку
если Объект.ВидОперации=ПредопределенноеЗначение("Переч исления.ВидыОперацийПКО.СнятиеСБанка") грит что нет такого передопределенного значения
Гость
12 - 31.12.2011 - 13:54
11, дык методом научного тыка изучаю 8.2, вот и появились элементы. Экспериментирую...
Гость
13 - 31.12.2011 - 13:55
(12) Потому что "ПеречислениЕ". не читаешь СП - хотя бы установи 8.2.14 - там контекстная подсказка в строковых литералах работает.
Гость
14 - 31.12.2011 - 16:41
Reaper, спасибо большое. И с новым годом!


К списку вопросов






Copyright ©, Все права защищены