![]() |
![]() |
![]() |
|
Как определить существует ли переменная модуля? | ☑ | ||
---|---|---|---|---|
0
Gorr
20.03.14
✎
15:34
|
Функция НельзяИзменятьДокумент(ДокументОбъект,Отказ) экспорт
РежимПерестроения = Ложь; Попытка РежимПерестроения = ДокументОбъект.мРежимПерестроения; Исключение КонецПопытки; если РежимПерестроения тогда возврат Ложь; конецесли; ... конецфункции |
|||
1
butterbean
20.03.14
✎
15:34
|
перестать делать через жпо
|
|||
2
Maxus43
20.03.14
✎
15:35
|
задать её в модуле объекта документа - всегда будет переменная.
Что за вопрос? Или ты её прописал, или нет |
|||
3
VikingKosmo
20.03.14
✎
15:36
|
Мне что то подсказывает, что ТС хочет получить переменную модуля объекта, где то в недрах общего модуля или что то подобное :)
|
|||
4
Maxus43
20.03.14
✎
15:37
|
(3) и что? Она или есть, или нет
|
|||
5
butterbean
20.03.14
✎
15:38
|
(4) тс не знает заранее тип документа, а у него не во всех документах она есть :-)
не хочет почему-то параметр добавить в функцию |
|||
6
VikingKosmo
20.03.14
✎
15:38
|
(4) погоди, каким боком в контексте общего модуля может существовать переменная из модуля объекта?
|
|||
7
Gorr
20.03.14
✎
15:38
|
(2) Во-первых это переменная модуля объекта. в какихто документах я ее прописал,а в каких то нет...
хочу сделать универсальную функцию контроля для всех доков вызываемую из модуля объекта ПередЗаписью |
|||
8
Gorr
20.03.14
✎
15:38
|
(5) телепат?)
|
|||
9
Maxus43
20.03.14
✎
15:39
|
(7) тогда только через попытку, или Тип анализируй.
Как вызывается функция? |
|||
10
Maxus43
20.03.14
✎
15:40
|
Есть такая штука как ДополнительныеСвойства, его можно анализировать без Попыток
|
|||
11
Gorr
20.03.14
✎
15:42
|
(6) никаким!
(9) а вот так: Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; //я)) если ниоСлужебный.НельзяИзменятьДанныеДокумента(ЭтотОбъект, Отказ, РежимЗаписи, РежимПроведения) тогда возврат; конецесли;//-> а допсвойства пожалуй тема)) |
|||
12
Maxus43
20.03.14
✎
15:43
|
(11) т.е. вызов ты пихнул во ВСЕ документы, а переменную объявил НЕ во всех?)) ну бред же, не находишь?
|
|||
13
Maxus43
20.03.14
✎
15:44
|
в данном случае не только ДопСвойства тема, но и подписки на события...
|
|||
14
butterbean
20.03.14
✎
15:44
|
(11) вот так:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения=Неопределено) |
|||
15
zladenuw
20.03.14
✎
15:44
|
так можно же по типу документа проверять на крайняк
|
|||
16
Maxus43
20.03.14
✎
15:45
|
(14) айайай, в предопределённые процедуры вмешиватся не смей сугубо и трегубо)
|
|||
17
butterbean
20.03.14
✎
15:46
|
(16) да опечатался :-)
имелось ввиду НельзяИзменятьДокумент(ДокументОбъект,Отказ,РежимПроведения=Неопределено) |
|||
18
Gorr
20.03.14
✎
15:59
|
(11) таким образом вся логика контроля выносится пользовательский модуль. Включил не во все, а только тех что есть переменная. Просто у меня подход такой далать универсальный код где это возможно. Позже возможно будет обработка и других документов.
(15) можно! но через попытку короче) (17) какой смысл в условности третьего параметра? |
|||
19
butterbean
20.03.14
✎
16:00
|
(18) чтоб подпихивать его только в нужных документах, этож очевидно
|
|||
20
zladenuw
20.03.14
✎
16:01
|
(18) тогда по другому.
Если ДокументОбъект.Метаданные().Найти("РежимПерестроения ")<> Неопределено Тогда РежимПерестроения = ДокументОбъект.Метаданные().Найти("РежимПерестроения "); Иначе Возврат КонецЕсли; |
|||
21
zladenuw
20.03.14
✎
16:02
|
(20) а пля переменная модуля :)
|
|||
22
Нерезидент РФ
20.03.14
✎
16:04
|
попытка
Выполнить("ТваяПеременая = Истина"); |
|||
23
Gorr
20.03.14
✎
16:04
|
(18) нифига не очевидно. в Процедуре ПередЗаписью все три параметра всегда доступны.
(21)и зачем хранить в базе то, что не нужно??? Вот это уже точно бред. |
|||
24
Maxus43
20.03.14
✎
16:05
|
Открой для себя подписки уже, всмето этого кода в каждом документе
|
|||
25
hhhh
20.03.14
✎
16:05
|
(23)
Структура = Новый Структура("мРежимПерестроения"); ЗаполнитьЗначенияСвойств(Структура, ДокументОбъект); |
|||
26
butterbean
20.03.14
✎
16:06
|
(23) в (0) ни слова про ПередЗаписью, только про какие-то левые переменные модуля
|
|||
27
Gorr
20.03.14
✎
17:14
|
(25) супер вот это очень интересное решение - понравилось!!!
(26) в 0 нет, но в 11 пример приводился |
|||
28
mrDSide
20.03.14
✎
17:27
|
(7) А использовать универсальные механизмы для универсальных "функций", общие реквизиты подошли бы, я думаю.
|
|||
29
Gorr
21.03.14
✎
12:40
|
(28) а разве использование общих реквизитов не ресурсоемко?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |