Имя: Пароль:
1C
1С v8
Как достучаться до функции модуля объекта?
0 rotting
 
29.07.12
21:13
Вроде избитый вопрос, но не выходит, пишу так:


&НаСервере
Процедура ПередЗакрытиемСервер(Отказ)
   ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
   Отказ = ОбработкаОбъект.Записать();
КонецПроцедуры

В модуле обработки пишу так:

Функция Записать() Экспорт
       Возврат Истина;
КонецФункции

Но пишет что нет такой процедуры, я правильно понимаю что с функцией так не прокатит?
1 rotting
 
29.07.12
21:26
пилять, с процедурой тоже самое, может у меня какая-то галочка не стоит???
2 Hans
 
29.07.12
21:27
на всякий случай переименуй процедуру Записать мало ли что.
3 Armando
 
29.07.12
21:28
Ты в модуле объекта создал функцию "Записать"???
4 rotting
 
29.07.12
21:28
(2) да процедура типовая, не хочу трогать модуль типовой, я пишу управляемую форму для этой обработки
5 spleen
 
29.07.12
21:29
Нельзя так называть "Записать()"
Зарезервированный метод объекта
6 rotting
 
29.07.12
21:29
(3) она типовая, выглядит так:


Функция Записать() Экспорт

   Если ТипЗнч(мРедактируемаяЗапись) = Тип("РегистрСведенийЗапись.КонтактнаяИнформация")
    ИЛИ ТипЗнч(мРедактируемаяЗапись) = Тип("РегистрСведенийМенеджерЗаписи.КонтактнаяИнформация") Тогда
       ЗаполнитьЗапись(мРедактируемаяЗапись);
       СтруктураОповещения = Новый Структура("Объект,Тип,Вид", мРедактируемаяЗапись.Объект, мРедактируемаяЗапись.Тип, мРедактируемаяЗапись.Вид);
   ИначеЕсли ТипЗнч(мРедактируемаяЗапись) = Тип("РегистрСведенийНаборЗаписей.КонтактнаяИнформация") Тогда
       // Поищем существующую, если найдем - перепишем ее, если нет - введем новую
       НайденнаяЗаписьНабора = Неопределено;
       Для каждого ЗаписьНабора Из мРедактируемаяЗапись Цикл
           Если ЗаписьНабора.Объект = Объект
              И ЗаписьНабора.Тип = Тип
              И ЗаписьНабора.Вид = Вид Тогда
               НайденнаяЗаписьНабора = ЗаписьНабора;
           КонецЕсли;
       КонецЦикла;
       Если НайденнаяЗаписьНабора = Неопределено Тогда
           НайденнаяЗаписьНабора = мРедактируемаяЗапись.Добавить();
       КонецЕсли;
       ЗаполнитьЗапись(НайденнаяЗаписьНабора);
       СтруктураОповещения = Новый Структура("Объект,Тип,Вид", НайденнаяЗаписьНабора.Объект, НайденнаяЗаписьНабора.Тип, НайденнаяЗаписьНабора.Вид);
   КонецЕсли;
   
   Если ЗаписыватьВРегистр
      И ТипЗнч(мРедактируемаяЗапись) = Тип("РегистрСведенийМенеджерЗаписи.КонтактнаяИнформация") Тогда
       Попытка
           мРедактируемаяЗапись.Записать(Ложь);
       Исключение
           ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),, "Не удалось записать данные о контактной информации.");
           Возврат Ложь;
       КонецПопытки;
   КонецЕсли;
   
   Если ТипЗнч(мФормаВладелец) = Тип("Форма") И ТипЗнч(СтруктураОповещения) = Тип("Структура") Тогда
       Оповестить("ЗаписанаКИ", СтруктураОповещения);
   КонецЕсли;
   
   Возврат Истина;

КонецФункции // Записать()
7 rotting
 
29.07.12
21:30
(5) да пофигу, там есть еще одна:


Функция ЗакрыватьФормуРедактирования() Экспорт

   ОтветНаВопрос = Вопрос("Данные были изменены. Сохранить изменения?", РежимДиалогаВопрос.ДаНетОтмена);
   
   Если ОтветНаВопрос = КодВозвратаДиалога.Отмена Тогда
       Возврат Истина;
   ИначеЕсли ОтветНаВопрос = КодВозвратаДиалога.Да Тогда
       Возврат НЕ Записать();
   Иначе
       Возврат Ложь;
   КонецЕсли;

КонецФункции


Пишет такую же ошибку(
8 rotting
 
29.07.12
21:32
Это форма обработки "РедактированиеКонтактнойИнформации", может дело в том что там есть реквизит с именем "Объект"?
9 GROOVY
 
29.07.12
21:32
А реквизит то точно "Объект" называется?
10 rotting
 
29.07.12
21:36
(9) да, обработка "РедактированиеКонтактнойИнформации" в типовой украинской УТП
11 m-serg74
 
29.07.12
22:07
получилось или нет?
12 rotting
 
29.07.12
23:34
(11) нет, пошел другим путем, времени мало, но мне абсолютно не понятно почему так...
Независимо от того, куда вы едете — это в гору и против ветра!