Имя: Пароль:
1C
1С v8
Как определить Документ это или Обработка
0 Boudybuilder
 
17.07.12
15:09
В макет обработки добавил структуру печатных форм. И прикрутил к типовой.
Но там срабатывает

ДеревоМакетов = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(ДокументОбъект.Ссылка, СтруктураВнутреннихПечатныхФорм);
   
А мне же ДокументОбъект передало как Обработка и там ссылки нет. :)

вот условие поставить бы , чтоб для доков одно срабатывало а для обработок другое.

Как мне определить ДокументОбъект это Обработка ?
1 НафНаф
 
17.07.12
15:11
а тот кто передает, не может передать и этот признак тоже?
2 Boudybuilder
 
17.07.12
15:15
Так прийдется же переписывать все доки типовой.

// Установить печатную форму по умолчанию.
   РаботаСДиалогами.УстановитьКнопкуПечати(ЭтотОбъект, ЭтаФорма);
   
Там же так идет. в формах при открытии.


а в общем модуле


Процедура УстановитьКнопкуПечати(ДокументОбъект, ФормаДокумента) Экспорт


а там уже на этом спотыкается

ДеревоМакетов = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(ДокументОбъект.Ссылка, СтруктураВнутреннихПечатныхФорм);
3 BuHu
 
17.07.12
15:20
Если Найти(ВРег(ДокументОбъект.Метаданные().Имя), "ДОКУМЕТН") > 0 Тогда
Сообщить("это документ");
КонецЕсли;
4 Boudybuilder
 
17.07.12
15:21
Я думал проще можно... ;)
5 Рэйв
 
17.07.12
15:23
(4)Куда еще проще то?
6 BuHu
 
17.07.12
15:23
(4) куда уж проще
7 НафНаф
 
17.07.12
15:23
Попытка
 С = Объект.Ссылка;
 ЭтоДок = Истина;
Исключение
 ЭтоДок = Ложь;
КонецПопытки;
8 pessok
 
17.07.12
15:24
ТипЗнч не предлагать?
9 pessok
 
17.07.12
15:24
или как в (3)
10 НафНаф
 
17.07.12
15:24
(8) слишком просто
11 Boudybuilder
 
17.07.12
15:26
(8) Возвращает же конкретный документ  (например Документы.Событие)
а мне надо просто что это документ.
12 pessok
 
17.07.12
15:26
(10) а не взлетит ТипЗнч... ему ж надо для всех документов. через метаданные надо искать, как в (3)
13 dmpl
 
17.07.12
15:55
(0)Надо что-то типа


Метаданные.Документы.Содержит(Метаданные.НайтиПоТипу(ТипЗнч(Объект)))


использовать.