|
v7: Передать Документ в функцию через шаблон | ☑ | ||
---|---|---|---|---|
0
zenik
08.04.16
✎
12:51
|
Разнообразно приветствую. Сразу скажу, что выкрутился через переменную в модуле, но "червячок точит" :)
Делаем вызов: Шаблон("[ИмяФункции("+Документ+")]"); И вот этот документ я и через кавычки и через ЗначениеВСтроку... Но не канает. Есть способ передать документ в функцию при вызове шаблоном? |
|||
1
Mikeware
08.04.16
✎
12:54
|
а зачем такой изврат? виртуальные методы, чтоль?
|
|||
2
Mikeware
08.04.16
✎
12:56
|
есличо, можно ВыполняемымМодулем , либо доп.глобальником.
Но это если нет религиозных предрассудков... |
|||
3
zenik
08.04.16
✎
12:57
|
Уважаемый, это 7.7 :)
|
|||
4
Ёпрст
08.04.16
✎
12:57
|
(0) всё там канает..
|
|||
5
Ёпрст
08.04.16
✎
12:57
|
(3) выполняемыйМодуль - это тоже 7.7
|
|||
6
Ёпрст
08.04.16
✎
12:58
|
у тя проблема - не верное количество ковычек
|
|||
7
Ёпрст
08.04.16
✎
12:58
|
при преобразовании значениевстрокувнутр
|
|||
8
zenik
08.04.16
✎
12:59
|
значениевстрокувнутр - мне вообще дает пустую строку :( Или я ее неправильно готовил?
|
|||
9
Mikeware
08.04.16
✎
12:59
|
(6) можно тупо получить ид и иддокдеф, и передать их строкой-13
|
|||
10
Ёпрст
08.04.16
✎
12:59
|
||||
11
Ёпрст
08.04.16
✎
13:00
|
(8) нам отсюда не видно, чего и как передаешь
|
|||
12
Ёпрст
08.04.16
✎
13:00
|
а так, всё работает, нужно только ковычки экранировать , при передачи строки в шаблон
|
|||
13
Mikeware
08.04.16
✎
13:02
|
(3) и я о том же.
http://www.1cpp.ru/docum/icpp/html/extobjs.html#id27 или ДобавитьГлобальныйМодуль(<?>) Синтаксис: ДобавитьГлобальныйМодуль(<ТекстМодуля>) Назначение: Загружает, компилирует и запускает дополнительный глобальный модуль. В случае удачной загрузки возвращает номер загруженного глобального модуля, иначе - 0. Параметры: <ТекстМодуля> - (Строка) Передается по значению. строка с текстом добавляемого глобального модуля. ЗАМЕЧАНИЕ: С версии 1.8.1.3 в дополнительных модулях работает теперь директива ЗагрузитьИзФайла. ПРИМЕР: Сервис = СоздатьОбъект("Сервис"); глДопМодуль = Сервис.ДобавитьГлобальныйМодуль("#ЗагрузитьИзФайла ГлобМодуль1.txt"); |
|||
14
zenik
08.04.16
✎
13:08
|
Ммм... Понял вашу политику, но, типа, штатными методами?
Ну вот типа как то так: Функция Тест(Док) Сообщить(Док); КонецФункции //******************************************* Процедура Сформировать() Параметр = ЗначениеВСтрокуВнутр(ВыбДок.ТекущийДокумент()); Шаблон("[Тест("""+Параметр+""")]"); КонецПроцедуры Но ругается: Тест("{"<<?>>O","0","0","272","0","0"," 1099838 "}") Ожидается символ ')' ЗначениеВСтроку ругается вот так: Тест("{"<<?>>Документ","ПриходнаяНакладная","ТПН1-11047 ","08.04.2016"}") Ожидается символ ')' Кавычек по разному навтыкивал... |
|||
15
zenik
08.04.16
✎
13:10
|
О, е:
Параметр = СтрЗаменить(Параметр,"""",""""""); так? |
|||
16
Mikeware
08.04.16
✎
13:10
|
(14) ну так замени одну на три...
|
|||
17
zenik
08.04.16
✎
13:11
|
Да, да, да... Работает. Принцип понял, спасиб.
|
|||
18
Mikeware
08.04.16
✎
13:12
|
(14) а лучше - сделавй ЗначениеВСТрокуВнутр, оттуда возьми иддок и иддокдеф, и их передавай. а на другом конце веревки - обратно. этих данных вполне достаточно
|
|||
19
Mikeware
08.04.16
✎
13:13
|
(17) но ты не ответил на ТКВ...
|
|||
20
zenik
08.04.16
✎
13:27
|
(19) ТКВ - это что, прости, не понял?
|
|||
21
Builder
08.04.16
✎
13:45
|
(20) ТКВ = Традиционный Китайский Вопрос - "нафейхуа?"
|
|||
22
zenik
08.04.16
✎
13:51
|
(21) - Спасиб, буду знать :)
(19) - Выгрузка документов, на каждый вид документа своя процедура... Что бы не делать этажерку: Если Документ.Вид() = "ТырыПыры" Тогда Выгрузить_ТырыПыры(Документ); и тд. |
|||
23
Злопчинский
08.04.16
✎
14:08
|
нфехоа передавать значниевстрокувнутр - нифехоа не понял...
что, для шаблона нельзя сфомировать строку "МояФункция(ВыбДокумент)" ..? |
|||
24
trdm
08.04.16
✎
14:56
|
(22) Дык универсалку замутил бы какую нить. Все равно лесенка получается.
|
|||
25
zenik
08.04.16
✎
14:59
|
(24) Не получается лесенка... Вместо кучи условий один вызов шаблона:
Шаблон("[Выгрузить_"+Документ.Вид()+"()]"); Только параметр не стал переделывать - через переменную оставил. |
|||
26
Mikeware
08.04.16
✎
15:11
|
(25) ну так функции у тебя все равно разные. сделай головную Выгрузить(Документ), а в ней уже по видам "лесенкой."
|
|||
27
zenik
08.04.16
✎
15:19
|
(27) Функции разные, но их вызов сделан универсальным через шаблон.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |