Имя: Пароль:
1C
 
не определена функция со словом Экспорт
,
0 LivingStar
 
27.03.15
11:29
В обработке в модуле формы вызываю процедуру которая определена в модуле объекта со словом Экспорт. При синтаксическом контроле выходит сообщение о том что такая процедура не определена. В чем моя ошибка?
1 Остап Сулейманович
 
27.03.15
11:30
(0) Покажешь как вызываешь? Или самим догадываться?
2 LivingStar
 
27.03.15
11:31
(1)

Процедура ДействияФормыОтчетАгента(Кнопка)
    ПечатьОтчетаАгента();
КонецПроцедуры


в модуле объекта:

Процедура ПечатьОтчетаАгента() Экспорт
3 zak555
 
27.03.15
11:32
УФ ?
4 smitru
 
27.03.15
11:32
(2) Это управляемая форма?
А про контексты - слышал?
5 LivingStar
 
27.03.15
11:33
обычные формы
6 Остап Сулейманович
 
27.03.15
11:34
(2) ПечатьОтчетаАгента(). Функция описана в модуле объекта. Как система определит из какого объекта брать твою функцию?
Нужно указать объект. Банально :
ЭтотОбъект.ПечатьОтчетаАгента();
7 LivingStar
 
27.03.15
11:37
(6)

Метод объекта не обнаружен (ПечатьОтчетаАгента)
    ЭтотОбъект.ПечатьОтчетаАгента();
8 LivingStar
 
27.03.15
11:38
(6) так тогда почему он стал делать?
9 mehfk
 
27.03.15
11:38
Расскажи в модуле КАКОГО объекта определена данная функция?
10 Остап Сулейманович
 
27.03.15
11:38
(7) Где все это "ЭтотОбъект.ПечатьОтчетаАгента();" происходит?
И в модуле какого объекта определена функция?
11 salvator
 
27.03.15
11:38
(0) В модуле какого объекта прописана процедура?
12 LivingStar
 
27.03.15
11:40
(11) этой обработки, только ЭтотОБъект. - выдает разные значения, но этой процедуры там нет
13 LivingStar
 
27.03.15
11:41
переименовал обработку, тоже самое
14 LivingStar
 
27.03.15
11:41
в модуле этой обработки только эта процедура
15 LivingStar
 
27.03.15
11:43
(10) процедура ПечатьОтчетаАгента() вызывавется из формы этой обработки, в модуле объкта этой обработки только эта процедура
16 lapinio
 
27.03.15
11:45
ТекОбъект = РеквизитФормыВЗначение("Объект");
ТекОбъект.ПечатьОтчетаАгента();
Попробуй так
17 salvator
 
27.03.15
11:46
(15) Скопирую название процедуры из модуля объекта и вставь ее в модуле формы. Будет ошибка?
18 LivingStar
 
27.03.15
11:46
(17) пробовал, ошибка остается
19 Остап Сулейманович
 
27.03.15
11:46
(12) "ЭтотОБъект. - выдает разные значения" Это как? Вернее сказать - как определил, что разные? В модуле формы обработки ЭтотОбъект всегда ссылается на одну и туже обработку. И "выдает разные значения" так не бывает.
20 LivingStar
 
27.03.15
11:47
(16) Процедура или функция с указанным именем не определена (РеквизитФормыВЗначение)

обычное приложение
21 salvator
 
27.03.15
11:48
(19) Перевожу на русский. Контекстная подсказка выдает разные методы после "."
22 Остап Сулейманович
 
27.03.15
11:49
(16) Для обычного приложения это выглядит так :
ОбъектОбработки = Обработки.<Имя>.Создать();
ОбъектОбработки.<ИмяПроцедурыМодуляОбъекта>();
23 LivingStar
 
27.03.15
11:49
вижу что ссылка идет на другую обработку. эта обработка была сохранена из конфигурации, видимо какие то ссылки в ней не те ((((
24 LivingStar
 
27.03.15
11:50
вывод, нужно делать новую обработку изначально, если эта так глючит
25 LivingStar
 
27.03.15
11:51
хотя мне нужно сделать надстройку именно для этой обработоки
26 Остап Сулейманович
 
27.03.15
11:52
Короче. На данном этапе владения объектной моделью 1С перенеси  код ПечатьОтчетаАгента() из модуля объекта в модуль формы откуда ее вызываешь.
27 salvator
 
27.03.15
11:52
(23) Какая ссылка? На какую обработку? Ты можешь понятнее изъясниться?
28 LivingStar
 
27.03.15
11:53
(26) пробовал, там начинает писать что метод ПолучитьМакет не доступен

в реквизитах изменил обработку на нужную, почему там ссылка идет на обработку в составе конфигурации если она сейчас внешняя
29 Остап Сулейманович
 
27.03.15
11:56
(28) "почему там ссылка идет..." Какая ссылка скажешь добровольно или готовить паяльник?
30 smitru
 
27.03.15
12:00
(28) " метод ПолучитьМакет не доступен "

Проверь, а правильно ли ты пишешь слово Экспорт или же есть отличие в написании имени функции.
31 LivingStar
 
27.03.15
12:01
(29) подбор номенклатуры
32 Dilgorp
 
27.03.15
12:02
(28) ОбработкаОбъект.ТвояФункция()
33 salvator
 
27.03.15
12:05
(31) Что "подбор номенклатуры"? Где и какая ССЫЛКА? Объясни на пальцах, мы твой сленг не понимаем.
34 Dilgorp
 
27.03.15
12:10
(33) Не удивлюсь, если  LivingStar где то получает ссылку на обработку и пытается по этой ссылке вызвать функцию из модуля объекта обработки.
35 LivingStar
 
27.03.15
12:10
(33) эта обработка была создана на основании другой, переделал я её, что там ссылки идут на другие объекты я не знал, пробую сейчас что либо с ней сделать. Обработка вообще эта внешняя..
36 LivingStar
 
27.03.15
12:11
(34) обработка внешняя я просто делаю вывод макета в добавленные в неё документы. Так как добавить макет нужно именно в эту обработку.
37 LivingStar
 
27.03.15
12:12
а как макет обработки получить в модуле формы?
38 Dilgorp
 
27.03.15
12:15
(37) Если макет той обработи, что и форма из которой нужно получить, то
ОбработкаОбъект.ПолучитьМакет("Макет");
ЭтотОбъект.ПолучитьМакет("Макет");
39 Dilgorp
 
27.03.15
12:18
(36) Есть обработка, в ней каким то образом представлены документы. У обработки есть макет. Нужно в этот макет вывести эти документы. Функция которая формирует и заполняет табличный документ находится в модуле объекта обработки. И ты не можешь ее вызвать. Я правильно все понял?
40 LivingStar
 
27.03.15
12:20
(39) в обработке есть тч, туда добавлены документы, я делаю макет, и в нем нужно их вывести, но макет ни видим в этой обработке, она внешняя лежит сейчас на диске, не думал про такие глюки никогда
41 LivingStar
 
27.03.15
12:21
ни так

ОбработкаОбъект.ПолучитьМакет("ОтчетАгента")

ни так

ЭтотОбъект.ПолучитьМакет("ОтчетАгента")
42 Dilgorp
 
27.03.15
12:22
(41) ты из формы одной обработки хочешь получить макет другой?
43 LivingStar
 
27.03.15
12:26
(42) в свойствах формы, тип значения, поставил внешнюю обработку и выбрал её, очевидно она ссылалась на эту же обработку только в составе конфигурации, её то я не изменял же
44 zak555
 
27.03.15
12:27
обработка вшитая или внешняя ?
номер релиза платформы какой ?
45 salvator
 
27.03.15
12:27
(41) ОбработкаОбъект нужно еще присвоить значение объекта нужной обработки из конфигурации.
46 LivingStar
 
27.03.15
12:30
1С:Предприятие 8.2 (8.2.19.90)

Бухгалтерия предприятия, редакция 2.0 (2.0.64.11) (http://v8.1c.ru/buhv8/)
Copyright (С) ООО "1C", 2009 - 2015. Все права защищены
(http://www.1c.ru)

внешняя обработка, взятая из конфигурации

спасибо!
47 Dilgorp
 
27.03.15
12:45
(46) чтобы получить макет внешней обработки, копай в эту сторону
    ДвоичныеДанные = СсылкаНаВнешнююОбработку.ХранилищеВнешнейОбработки.Получить();
    ИмяФайла = ПолучитьИмяВременногоФайла("epf");

    ДвоичныеДанные.Записать(ИмяФайла);
    Обработка = ВнешниеОбработки.Создать(ИмяФайла);
    Макет = Обработка.ПолучитьМакет("Макет");
    УдалитьФайлы(ИмяФайла);

Где СсылкаНаВнешнююОбработку - ссылка на ту самую обработку в которой макет
48 Domovoi
 
27.03.15
13:52
Я похоже что-то пропустил пока изучал 1с.
Можете скинуть обработку?
49 ЧеловекДуши
 
27.03.15
14:13
(24) "Кэш"
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn