Имя: Пароль:
1C
1С v8
Как ПолучитьМакет("Макет") в документе?
0 LivingStar
 
03.09.13
10:53
При нажитии на кнопку в форме документа вылетает ошибка, -

{Документ.РасчетПремииМенеджера.Форма.ФормаДокумента(62)}: Ошибка при вызове метода контекста (ПолучитьМакет)
    Макет = ПолучитьМакет("Макет");
по причине:
Недопустимое значение параметра (параметр номер '1')

У документа есть Макет, - "Макет" , почему ругается на него?

Процедура РасчетПремииНажатие(Элемент)
    // Вставить содержимое обработчика.
    Если НЕ ПолучитьДокументПланирования() тогда возврат; конецесли;
    //ЭтаФорма.ЭлементыФормы.Инд.Видимость=Истина;
    //Инд=0;
    Состояние("Идет расчет премии менеджера, подождите ...");
    мен = ЭтаФорма.ЭлементыФормы.Менеджер.Значение;
    
    ТабДокумент = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
1 rull9ss
 
03.09.13
10:54
попробуй полное имя указать
"Документы.ТвойДокумент.Макеты.ТвойМакет"
2 Wobland
 
03.09.13
10:56
объ=РеквизитФормыВЗначение("Объект");
    Макет=объ.ПолучитьМакет("Макет");
3 Error pro
 
03.09.13
10:57
(0) УФ?
4 LivingStar
 
03.09.13
10:57
(1) ругается что нет поля объекта "Макет"
5 LivingStar
 
03.09.13
10:57
(2) только так??? спасибо, сейчас попробую, думал проще....
6 LivingStar
 
03.09.13
10:57
(3) Обычные формы
7 Wobland
 
03.09.13
10:58
(6) нет макета
8 Error pro
 
03.09.13
10:58
(6) Скопируй старый макет в новый. Попробуй изменить наименование.
9 LivingStar
 
03.09.13
11:00
(2) Процедура или функция с указанным именем не определена (РеквизитФормыВЗначение)
10 LivingStar
 
03.09.13
11:01
(8) Хотите сказать что так должно работать

Макет = ПолучитьМакет("Макет");

это глюки?
11 rull9ss
 
03.09.13
11:01
(9) ну так откуда в обычных формах РеквизитФормыВЗначение??
12 LivingStar
 
03.09.13
11:01
(11) Понял!
(2) Значит это не подойдет!!!

Как в обычных формах это работает, получение доступа к макету документа.
13 Wobland
 
03.09.13
11:03
(10) ЭтотОбъект?
14 Cashtane
 
03.09.13
11:03
Макет = ЭтотОбъект.ПолучитьМакет("Накладная");
15 LivingStar
 
03.09.13
11:07
(13) Это выполняется в форме документа
16 Cashtane
 
03.09.13
11:07
(15) Вот поэтому и ЭтотОбъект.
17 Cashtane
 
03.09.13
11:08
Если бы был в модуле объекта мог бы просто вызвать: ПолучитьМакет("Накладная")
18 LivingStar
 
03.09.13
11:08
в тестовой базе смотрю, на эту строку не ругается, стало ругаться в рабочей (((
19 LivingStar
 
03.09.13
11:09
Вот в тестовой базе в модуле формы документа, прошло и не сругалось!!!

    Макет = ПолучитьМакет("Макет");
20 Infsams654
 
03.09.13
11:13
А это еще что за хр-нь ?
мен = ЭтаФорма.ЭлементыФормы.Менеджер.Значение;

Элемент формы связан по данным с реквизитом объекта/ТЧ объекта, либо с реквизитом формы. Так, что, надо сразу к ним и обращаться. А через ЭлементыФормы - это для несмышленых
21 LivingStar
 
03.09.13
11:14
(17) Ошибка при вызове метода контекста (ПолучитьМакет)
    Макет = ЭтотОбъект.ПолучитьМакет("Макет");
22 Wobland
 
03.09.13
11:14
(21) назови его "77" уже
23 LivingStar
 
03.09.13
11:16
(21) Я первый раз этот код и документ вижу, и удивляюсь что он все время работал нормально

Сейчас в тестовой базе работает, а в рабочей стал ругаться на макет

(22) А почему нужно его переименовывать, в тестовой работает все без изменений, а тут что случилось?
24 LivingStar
 
03.09.13
11:16
(20) Я первый раз этот код и документ вижу, и удивляюсь что он все время работал нормально
25 Wobland
 
03.09.13
11:16
(23) это называется "танцы с бубном". отсекаются проблемы разной раскладки
26 Cashtane
 
03.09.13
11:18
(25) Видимо действительно этот случай. И не более.
27 palpetrovich
 
03.09.13
11:20
(24) в этом документе точно есть Макет "Макет"?
28 Error pro
 
03.09.13
11:23
(24) я тебе еще в (8) предложил переименовать макет. Тяжело сделать?
29 LivingStar
 
03.09.13
11:23
(27) Да конечно, говорю в копии базы все работает, в рабочей что то слетело.

Изменил название макета на "РасчетПМ"

Макет = ЭтотОбъект.ПолучитьМакет("РасчетПМ");

стало работать...выполняется...Ошибки уже на макете не выдает!
30 LivingStar
 
03.09.13
11:23
(28) переименовал!
31 LivingStar
 
03.09.13
11:24
Спасибо всем!
32 LivingStar
 
03.09.13
13:13
То есть это к примеру залез админ в 1с, исправил букву в другой раскладке в названии макета "Макет" и сохранил? Или это реально глюк такой 1с есть???
33 LivingStar
 
03.09.13
13:24
SABOTAGE ??!
34 hhhh
 
03.09.13
13:30
(32) наверно у формы слетело свойство "Данные". А потом кто-то кофе пил на твоем рабочем месте, махнул рукавом, зацепил клавиатуру, свойство и заполнилось как надо.
35 МихаилМ
 
03.09.13
13:47
ОбработкаОбъект.ПолучитьМакет(
36 LivingStar
 
03.09.13
13:52
(34) Непонятно как это бы так было, саботаж если только говорю!!!

(35) Макет документа, при чем тут обработка???

пробовал и так:

Макет = ПолучитьМакет("Мекет");

и так

Макет = ЭтотОбъект.ПолучитьМакет("Макет");

не получалось....пока не изменил название макета...
37 МихаилМ
 
03.09.13
14:01
(36)
извиняюсь. этотОбъект