|
Как вызвать процедуру модуля внешней обработки из общего модуля? | ☑ | ||
---|---|---|---|---|
0
livru
01.11.13
✎
15:33
|
Собственно, вопрос. Есть справочник внешние отчеты и обработки. Хочется туда класть обработки и вызывать их процедуры из общего модуля. Спасибо.
|
|||
1
hhhh
01.11.13
✎
15:38
|
ну, вызывайте, в чем проблема? Они и на данном этапе из общего модуля вызываются.
|
|||
2
Поросенок Петр
01.11.13
✎
15:40
|
Я видел много разных извращений... Но такое вижу в первый раз.
|
|||
3
ЧессМастер
01.11.13
✎
15:40
|
(0) мьсье знает толк в извращениях
|
|||
4
User_Agronom
01.11.13
✎
15:46
|
(3) Тут похоже не просто знает толк. Тут гений извращений.
|
|||
5
Maxus43
01.11.13
✎
15:48
|
(3)(4) чойто вы такие ортодоксальные? в типовых это есть, это принцип внешних печатных форм
|
|||
6
Dmitry1c
01.11.13
✎
15:50
|
А что. Можно поиграться с паттернами проектирования :)
Изобрели классы в 1С :D |
|||
7
1dvd
01.11.13
✎
15:51
|
(5) +1
|
|||
8
livru
01.11.13
✎
16:21
|
(5) Точно же.. Я смотрю код в списке, а там все через получитьформу сделано. А как бы формы то и нет. Действительно, один в один механизм работы с печатными.
Спасибо Вам за ответ по делу, взгляд со стороны иногда нужен, а то глаз замылен. ) |
|||
9
Infsams654
01.11.13
✎
16:26
|
(5)+ а в чем собственно извращения? Находишь в доп. обработках нужную обработку (элемент справочника). Сохраняешь из ХЗ во временный файл, поднимаешь объект обработки из файла и обращайся к ее методам.
|
|||
10
livru
01.11.13
✎
16:57
|
(9) вроде поднимаю из файла, и функция в модуле обработки с директивой экспорт есть, а как к этой функции достучаться так и не понял. Внешние печатные как формируются пока не нашел, но ищу. )
Вот код, который использую: Пока Выборка.Следующий() Цикл ИмяФайла = ПолучитьИмяВременногоФайла(); ДвоичныеДанные = Выборка.Обработка.ХранилищеВнешнейОбработки.Получить(); ДвоичныеДанные.Записать(ИмяФайла); ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла); //ФормаОбработки=ВнешняяОбработка.ПолучитьФорму(); ЭтотОбъект Попытка Ответ=ВнешняяОбработка.ВернутьРезультат(); Если Ответ.ВыполненоБезОшибок=Ложь Тогда ТекстОшибки="Обработка отработала, но вернула ошибку "+СокрЛП(Выборка.ПорядокВыполнения); Прервать; Конецесли; Исключение ТекстОшибки="Обработка отработала неверно"; Прервать; КонецПопытки; КонецЦикла; |
|||
11
Infsams654
01.11.13
✎
17:11
|
(10) ВнешняяОбработка.ЭтотОбъект().ВернутьРезультат();
|
|||
12
livru
01.11.13
✎
18:23
|
(11) ВнешняяОбработка.ЭтотОбъект.ВернутьРезультат();
Вот так заработало. Спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |