Имя: Пароль:
1C
 
Метод объекта не обнаружен при ссылке на документ где есть такая экспортная функция УТ10.3
0 Shecurok
 
30.01.20
09:59
Добавил форму в документ, в форме сделал реквизит ссылка на объект РеализацияТоваровУслуг. В форме по нажатию кнопки должна вызываться функция из модуля документа РеализацияТоваровУслуг.

Ошибка выглядит так:
{Документ.РеализацияТоваровУслуг.Форма.Форма.Форма(7)}: Метод объекта не обнаружен (ПечатьДоверенности)
СсылкаНаОбъект.ПечатьДоверенности();

Процедура кнопки выглядит так:
Функция Кнопка2Нажатие(Элемент)
    
    ДоверенноеЛицо = "---";
    Доверенность   = "(По доверенности № 02/20-ГС от 09 января 2020 года)";                
    СсылкаНаОбъект.ПечатьДоверенности();
    ЭтаФорма.Закрыть();    
    
КонецФункции

Скрыть


Функция выглдяит так в документе:
Функция ПечатьДоверенности() Экспорт
ТабДокумент = ПечатьУниверсальногоПередаточногоДокумента();
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, , , ОбщегоНазначения.СформироватьЗаголовокДокумента());

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



Почему не видит её?
1 Ненавижу 1С
 
гуру
30.01.20
10:01
СсылкаНаОбъект какого типа?
2 Cyberhawk
 
30.01.20
10:02
Надо получить объект от ссылки и у объекта вызывать метод, а не у ссылки
3 Shecurok
 
30.01.20
10:02
(1) ссылочного. ДокументСсылка.РеализацияТоваровУслуг
4 Shecurok
 
30.01.20
10:03
(2) Сделать ссылку на ДокументОбъект?
5 Ненавижу 1С
 
гуру
30.01.20
10:04
(3) и когда у ссылок появилась возможность создавать свои методы?
6 Shecurok
 
30.01.20
10:04
(5) изменил, ошибка другая стала:

{Документ.РеализацияТоваровУслуг.Форма.Форма.Форма(7)}: Значение не является значением объектного типа (ПечатьДоверенности)
    СсылкаНаОбъект.ПечатьДоверенности();
7 Ненавижу 1С
 
гуру
30.01.20
10:05
(4) нет, надо метод перенести в модуль менеджера и его вызывать, передавая ссылку как параметр
8 Shecurok
 
30.01.20
10:09
(7) не понял немног :с
9 ДенисЧ
 
30.01.20
10:13
(8) Какую из букв не понял?
10 Shecurok
 
30.01.20
10:15
(9) я не знаю как метод перенести в модуль менеджера. Ну копировать вставить это ладно, но там же вызывается процедура из модуля объекта, а как поменять хз
11 ДенисЧ
 
30.01.20
10:16
(10) Ну так вызывай эту функцию... В менеджерной функции получай объект по переданной ссылке и вызывай...
12 hhhh
 
30.01.20
10:39
(10) как получаешь СсылкаНаОбъект и посмотри всё таки его тип в отладчике
13 Shecurok
 
30.01.20
10:43
попробовал так:

Функция Кнопка1Нажатие(Элемент)
    
    ДоверенноеЛицо = "--";
    Доверенность   = "(По доверенности № 03/20-АП от 09 января 2020 года)";

    ДокОбъект = СсылкаНаОбъект.ПолучитьОбъект();
    ДокОбъект.ПечатьДоверенности();
    ЭтаФорма.Закрыть();

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

{Документ.РеализацияТоваровУслуг.Форма.Форма.Форма(7)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
    ДокОбъект = СсылкаНаОбъект.ПолучитьОбъект();
по причине:
Элемент не выбран!
14 Shecurok
 
30.01.20
10:44
новая ошибка
15 catena
 
30.01.20
10:47
(13)Ты посмотрел в отладчике, какого типа СсылкаНаОбъект и что в ней лежит?
16 hhhh
 
30.01.20
10:48
(14) ну вставь Сообщить("" + СсылкаНаОбъект + ": " + ТипЗнч(СсылкаНаОбъект));
17 Shecurok
 
30.01.20
10:52
(15) странно, но ничего судя по всему. Ставлю точку останова на этой строчке, она срабатывает, но ничего нет в ссылке на объект
18 hhhh
 
30.01.20
10:54
(17) а точно там что-то должно быть? может вы туда ничего не записывали?