Модуль объекта
21.11.2010
22:26
#1
"Здравствуйте
Помогите, плиз, разобраться с некоторыми особенностями 8.2:
1) Хочу в 8.2 проверить на заполнение реквизит "Банк", в модуле формы в обработчике событий передЗаписью пишу:
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Отказ = ПроверитьЗаполнениеПолей(Объект);
КонецПроцедуры
после в модуле объекта пишу след:
Функция ПроверитьЗаполнениеПолей(Объект) Экспорт
отказ = Ложь;
если (Объект.банк = Справочники.Банки.ПустаяСсылка()) Тогда
отказ = Истина;
КонецЕсли;
Возврат отказ;
КонецФункции
Почему в процедуре "ПередЗаписью" не видна функция "ПроверитьЗаполнениеПолей"? так как выдается ошибка:
{Справочник.мдмБанковскиеСчетаИКассы.Форма.ФормаЭлемента.Форма(18,10)}: Процедура или функция с указанным именем не определена (ПроверитьЗаполнениеПолей)
Отказ = <>>ПроверитьЗаполнениеПолей(Объект); (Проверка: Тонкий клиент)
2) Как вообще в модуле формы работать с метаданными? например, если я в модуле формы напишу:
Объект.Счет = ПланыСчетов.Хозрасчетный.ОперационнаяКасса;
то он выдаст ошибку "Переменная не определена (ПланыСчетов)". что нужно сделать, чтоб можно было оперировать с метаданными, подскажите, плиз?
Заранее большое спасибо, откликнувшимся!
Спасибо."
Помогите, плиз, разобраться с некоторыми особенностями 8.2:
1) Хочу в 8.2 проверить на заполнение реквизит "Банк", в модуле формы в обработчике событий передЗаписью пишу:
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Отказ = ПроверитьЗаполнениеПолей(Объект);
КонецПроцедуры
после в модуле объекта пишу след:
Функция ПроверитьЗаполнениеПолей(Объект) Экспорт
отказ = Ложь;
если (Объект.банк = Справочники.Банки.ПустаяСсылка()) Тогда
отказ = Истина;
КонецЕсли;
Возврат отказ;
КонецФункции
Почему в процедуре "ПередЗаписью" не видна функция "ПроверитьЗаполнениеПолей"? так как выдается ошибка:
{Справочник.мдмБанковскиеСчетаИКассы.Форма.ФормаЭлемента.Форма(18,10)}: Процедура или функция с указанным именем не определена (ПроверитьЗаполнениеПолей)
Отказ = <>>ПроверитьЗаполнениеПолей(Объект); (Проверка: Тонкий клиент)
2) Как вообще в модуле формы работать с метаданными? например, если я в модуле формы напишу:
Объект.Счет = ПланыСчетов.Хозрасчетный.ОперационнаяКасса;
то он выдаст ошибку "Переменная не определена (ПланыСчетов)". что нужно сделать, чтоб можно было оперировать с метаданными, подскажите, плиз?
Заранее большое спасибо, откликнувшимся!
Спасибо."
22.11.2010
06:38
#2
Здравствуйте! На платформе 8.2 необходимо заботиться о взаимодействии кода выполняемого на клиенте, и на сервере.
Чтобы в модуле формы работать с метаданными, необходимо чтобы функция выполнялась на сервере, для этого перед определением функции необходимо написать строку "&НаСервере".
Чтобы в модуле формы работать с метаданными, необходимо чтобы функция выполнялась на сервере, для этого перед определением функции необходимо написать строку "&НаСервере".
22.11.2010
11:06
#3
"//модуль объекта
Процедура Пересчитать() Экспорт
Для каждого ТекСтрокаТовары Из Товары Цикл
ТекСтрокаТовары.Сумма = ТекСтрокаТовары.Количество * ТекСтрокаТовары.Цена;
КонецЦикла;
КонецПроцедуры
//модульформы
&НаСервере
>Процедура ПересчитатьНаСервере()
Документ = РеквизитФормыВЗначение("Объект");
Документ.Пересчитать();
ЗначениеВРеквизитФормы(Документ, "Объект");
КонецПроцедуры
&НаКлиенте
Процедура ПересчитатьВыполнить()
ПересчитатьНаСервере();
КонецПроцедуры"
Процедура Пересчитать() Экспорт
Для каждого ТекСтрокаТовары Из Товары Цикл
ТекСтрокаТовары.Сумма = ТекСтрокаТовары.Количество * ТекСтрокаТовары.Цена;
КонецЦикла;
КонецПроцедуры
//модульформы
&НаСервере
>Процедура ПересчитатьНаСервере()
Документ = РеквизитФормыВЗначение("Объект");
Документ.Пересчитать();
ЗначениеВРеквизитФормы(Документ, "Объект");
КонецПроцедуры
&НаКлиенте
Процедура ПересчитатьВыполнить()
ПересчитатьНаСервере();
КонецПроцедуры"
Читают тему
(гостей: 1)