![]() |
![]() |
![]() |
|
Общий модуль 1с 8.2 доступность методов | ☑ | ||
---|---|---|---|---|
0
live in sky dreams
29.03.13
✎
14:39
|
Создал общий модуль "работа с диалогами"
Хотел туда всунуть процедурку установки заголовка формы. Формы управляемые. Создал модуль, всунул туда это: Процедура УстановитьЗаголовокФормыДокумента(СтрокаВидаОперации = "", ДокументОбъект, ФормаДокумента) Экспорт ФормаДокумента.АвтоЗаголовок = Ложь; Если ПустаяСтрока(СтрокаВидаОперации) Тогда Заголовок = ДокументОбъект.Ссылка.Метаданные().Синоним + ": "; Иначе Заголовок = ДокументОбъект.Ссылка.Метаданные().Синоним + ": " + СтрокаВидаОперации + ". "; КонецЕсли; Если ДокументОбъект.ЭтоНовый() Тогда Заголовок = Заголовок + "Новый"; Иначе Если ДокументОбъект.Проведен Тогда Заголовок = Заголовок + "Проведен"; ИначеЕсли ДокументОбъект.Ссылка.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда Заголовок = Заголовок + "Не проведен"; Иначе Заголовок = Заголовок + "Записан"; КонецЕсли; КонецЕсли; ФормаДокумента.Заголовок = Заголовок; КонецПроцедуры Скопипастено из типовой бухии, слегка кое что добавил ("Ссылка" после "ДокументОбъект") дабы отрабатывало без ошибок. Но одного не могу понять. ДокументОбъект.ЭтоНовый() - метод не найден. "ДокументОбъект" действительно Объект, СП говорит, что для Объекта Документа такой метод доступен, почему тогда при работе в режиме предприятия метод не доступен? Что то не сделал в свойствах общего модуля? |
|||
1
Зойч
29.03.13
✎
14:41
|
какого типа ДокументОбъект?
|
|||
2
RomaH
naïve
29.03.13
✎
14:47
|
"ДокументОбъект" действительно Объект, - скрин можно?
|
|||
3
live in sky dreams
29.03.13
✎
14:53
|
Я понял свою ошибку...
Передаю "Объект" из модуля формы документа,а на приеме "ДанныеФормыСтруктура" Следовательно из формы документа сам по себе "Объект" оным не является. Хочу уточнить, "Объект" является объектом только в модуле документа или через Объект.Ссылка.ПолучитьОбъект() В остальных случаях? |
|||
4
RomaH
naïve
29.03.13
✎
14:56
|
пиши так:
НастоящийОбъект = Объект; и его уже передавай |
|||
5
RomaH
naïve
29.03.13
✎
14:58
|
Объект - это, блин, имя переменной
|
|||
6
Fragster
гуру
29.03.13
✎
14:58
|
РеквизитФормыВЗначение()
|
|||
7
Fragster
гуру
29.03.13
✎
14:59
|
а нафига там .Ссылка?
|
|||
8
live in sky dreams
29.03.13
✎
15:03
|
(7) структура не имеет метода "Метаданные()"
(4) Так и делал же... Из модуля формы: РаботаСДиалогами.УстановитьЗаголовокФормыДокумента(Строка(Объект.ВидОперации), Объект, ЭтаФорма); Сейчас все в порядке и все отрабатывает как надо: Процедура УстановитьЗаголовокФормыДокумента(СтрокаВидаОперации = "", ДокументОбъект, ФормаДокумента) Экспорт ФормаДокумента.АвтоЗаголовок = Ложь; Если ПустаяСтрока(СтрокаВидаОперации) Тогда Заголовок = ДокументОбъект.Ссылка.Метаданные().Синоним + ": "; Иначе Заголовок = ДокументОбъект.Ссылка.Метаданные().Синоним + ": " + СтрокаВидаОперации + ". "; КонецЕсли; Если ДокументОбъект.Ссылка.ПолучитьОбъект().ЭтоНовый() Тогда Заголовок = Заголовок + "Новый"; Иначе Если ДокументОбъект.Проведен Тогда Заголовок = Заголовок + "Проведен"; ИначеЕсли ДокументОбъект.Ссылка.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда Заголовок = Заголовок + "Не проведен"; Иначе Заголовок = Заголовок + "Записан"; КонецЕсли; КонецЕсли; ФормаДокумента.Заголовок = Заголовок; КонецПроцедуры |
|||
9
Fragster
гуру
29.03.13
✎
15:04
|
(8) читай (6)
|
|||
10
RomaH
naïve
29.03.13
✎
15:04
|
Если ДокументОбъект.Ссылка.ПолучитьОбъект().ЭтоНовый() Тогда
Заголовок = Заголовок + "Новый"; Иначе ... и это работает? не - по другому, и ты думаешь что это работает? |
|||
11
RomaH
naïve
29.03.13
✎
15:05
|
(9) нет такого метода
|
|||
12
Fragster
гуру
29.03.13
✎
15:08
|
(11) в управляемой форме на сервере надо сделать МойОбъект = РеквизитФормыВЗначение и дальше его передавать в метод.
Если там что-то меняется - то надо сделать ЗначениеВРЕквизитФормы |
|||
13
live in sky dreams
29.03.13
✎
15:10
|
(10) неа.. не работает ((
|
|||
14
live in sky dreams
29.03.13
✎
15:21
|
Все, поправил вызов так:
ДокументОбъект = ДанныеФормыВЗначение(Объект, Тип("ДокументОбъект."+Объект.Ссылка.Метаданные().Имя)); РаботаСДиалогами.УстановитьЗаголовокФормыДокумента(Строка(Объект.ВидОперации), ДокументОбъект, ЭтаФорма); Процедуру в общем модуле так: Процедура УстановитьЗаголовокФормыДокумента(СтрокаВидаОперации = "", ДокументОбъект, ФормаДокумента) Экспорт ФормаДокумента.АвтоЗаголовок = Ложь; Если ПустаяСтрока(СтрокаВидаОперации) Тогда Заголовок = ДокументОбъект.Метаданные().Синоним + ": "; Иначе Заголовок = ДокументОбъект.Метаданные().Синоним + ": " + СтрокаВидаОперации + ". "; КонецЕсли; Если ДокументОбъект.ЭтоНовый() Тогда Заголовок = Заголовок + "Новый"; Иначе Если ДокументОбъект.Проведен Тогда Заголовок = Заголовок + "Проведен"; ИначеЕсли ДокументОбъект.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда Заголовок = Заголовок + "Не проведен"; Иначе Заголовок = Заголовок + "Записан"; КонецЕсли; КонецЕсли; ФормаДокумента.Заголовок = Заголовок; КонецПроцедуры Теперь ВСЕ отрабатывает верно. Спасибо ребяты))) |
|||
15
Fragster
гуру
29.03.13
✎
15:29
|
(14) убери тип, он в этом случае необязателен
|
|||
16
live in sky dreams
29.03.13
✎
16:50
|
(15) уверены?
СП говорит, что в любом случае обязателен |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |