Имя: Пароль:
1C
 
Как можно внешней обработки присвоить кнопку на форме?
0 Elf1k
 
26.06.10
09:44
Всем доброго времени суток.

У меня такой вопрос, как можно внешней обработке, которая выдает печатную форму присвоить кнопку на форме документа "РеализацияТоваровУслуг" 1с 8.1 УТ 10.3. Необходимо возле кнопки "Печать " и "Расходная Наклодная" создать новую кнопку при щелчке на которую открывался бы макет внешней обработки. Как это можно сделать ?

Всем заранее спасибо ?
1 Rie
 
26.06.10
09:47
(0) Положить кнопку на форму.
В обработчике события Нажатие для этой кнопки - указать процедуру, которая откроет этот самый "макет внешней обработки" (?).

Возможно, что на самом деле требуется создать внешнюю печатную форму. Тогда - смотреть в Справке (в режиме Предприятие), как это делается.
2 Serg_1960
 
26.06.10
10:16
v8: Меню - для кнопки Печать на командной панели

:) "Учу пользоваться поиском. Дорого."(с)
3 Elf1k
 
26.06.10
10:19
Просто вопрос то в чем собственно как получить функцию модуля внешней обработки из документа ?
4 Rie
 
26.06.10
10:25
(3) Она там экспортирована?
Если да - создаёшь объект внешней обработки и вызываешь, что тебе нужно.
5 Elf1k
 
26.06.10
10:27
Если не сложно не могли бы привести пример кода, как это сделать ?
6 Rie
 
26.06.10
10:32
(5)
МояСуперОбработка = ВнешниеОбработки.Создать("r:\ВсякоеРазное\СуперОбработка.epf");
МояСуперОбработка.ЭкспортируемаяПроцедураКотораяДелаетВсёЧтоНадо(ПараметрКНей,ЕщёПараметр,ИЕщё);
7 Elf1k
 
26.06.10
10:40
Написал вот так

Процедура ОсновныеДействияФормыСклад31(Кнопка)
            ВнешняяОбработка = ВнешниеОбработки.Создать("C:\Program Files\1cv81\РасходнаяНаклодная31Склад.epf");
            ВнешняяОбработка.ПечатьДокумента();
КонецПроцедуры

Конфигуратор ошибок не выдал, а вот в самой 1с вылезает ошибка
"ошибка при вызове метода контекста(Получить Макет): Недопустимое значение параметра (параметр '1')"


Сама процедура ВешняяОбработка.ПечатьДокумента();
во внешней обработки стоит экспорт
8 Strogg
 
26.06.10
10:56
Жесть... сделай внешнюю печатную форму, а в процедуре печать() экспорт напиши все, что тебе надо...
9 Elf1k
 
26.06.10
11:00
Почему Жесть ?
10 Serg_1960
 
26.06.10
11:05
(8) Сам ты... жесть... :(

Если вспомнить, что различные внешние обработки, обработки ТЧ и обработки ПФ "по разному" вызываются - то можно сообразить, что не стоит вызывать Печать() если вы не собираетесь печатать. Оставьте Печать() для печати. Есть множество других возможностей, методически более правильных.
11 Strogg
 
26.06.10
11:07
(10) - поясни. Автор-то как раз и собирается печатать, не? Просто до печати ему надо будет сделать кое-какие приготовления к ней. Ты предлагаешь менять код в конфе? :)))
12 Seducer
 
26.06.10
11:07
(7) А что, "Сервис - Внешние печатные формы и обработки - Внешние печатные формы" не подходит?
13 Serg_1960
 
26.06.10
11:15
(12) Автор желает отдельную кнопку иметь :)


(не в тему) Почему авотр всё время повторяет "наклОдная"? Если мы говорим об документе - то это "наклАдная". Это только искуственные ногти наклодные, да пряди волос наклодные... :(
14 Serg_1960
 
26.06.10
11:17
(13) + "наклОдные" - для блОндинкО :)
15 Strogg
 
26.06.10
11:21
(13) - а автор желает вместе с отдельной кнопкой иметь геморрои при обновлении типовой конфы? :)
16 Serg_1960
 
26.06.10
11:24
Ну... это его проблемы.

Можно самому себе создавать трудности, героически их преодолевать и чуствовать себя Героем :))
17 Seducer
 
26.06.10
11:32
(13) Может, просто автор не знал, как добавить в список свою печатную форму? И своя кнопка - это просто от незнания?  :)
18 Serg_1960
 
26.06.10
11:40
(17) Может быть. Объясним? :)

В справочник внешних обработок можно добавить внешню печатную форму. См. справку в режиме 1С:Предприятие.

Но можно добавить и дважды! Первый раз - стандартное подключение внешней печатной формы. Второй раз - тоже самое, но с другим наименование и с заполнением реквизита «ДополнительныеПараметры»...

В обработке - анализировать наличие дополнительного параметра. Если есть параметры - добавляем кнопку. А лучше сразу - открываем макет на редактирование. Нет параметров - печатаем документ.

Как-то типа так :)
19 Strogg
 
26.06.10
11:42
(18) - хм......
"Если вспомнить, что различные внешние обработки, обработки ТЧ и обработки ПФ "по разному" вызываются - то можно сообразить, что не стоит вызывать Печать() если вы не собираетесь печатать. Оставьте Печать() для печати. Есть множество других возможностей, методически более правильных." © Serg_1960
-----
:-)
20 Elf1k
 
26.06.10
11:46
Я знаю как в список печати добавить новую печатную форму, но именно надо на отдельную кнопку.
По поводу обновлений у нас вобще не кто не знает про это и не собирается на это тратить деньги. Пи*дец конечно. А вобще по моему УТ очень редко обноляется ?
21 Serg_1960
 
26.06.10
11:50
(скромно и смущенно, потупив глазки) Да, ладно уж... чего там... погорячился...

:))
22 Strogg
 
26.06.10
11:52
(20) - добавь и сделай внешнюю печатью по умолчанию. Не поверишь - будет тебе отдельная кнопка.
(21) - :-))
23 Serg_1960
 
26.06.10
11:54
Непонимаю (20) Если автор уже внёс изменения в конфигурацию - почему бы ему не добавить кнопку в модуле формы? Зачем это делать "из-под" внешней обработки?
24 Elf1k
 
26.06.10
11:58
Дело в том, что одни пользователь должен печатать одну накладную, а другой пользователь другую накладную. По умолчанию привязано к пользователю или к базе ?

Внешнию обработку мне посоветовали, чтобы было поддержка конфигурации, но я думаю лучше наверное добавить в документ новую печатную форму а не печатную форму из внешней обработки.
25 Serg_1960
 
26.06.10
11:58
+ В модуле формы при открытии, например, делаешь запрос к справочнику внешних обработок; получаешь подключенные формы; если есть такие - добавляешь кнопку; если надо - запускаешь(вызываешь) обработку из хранилища...
26 Seducer
 
26.06.10
11:59
(23) +Да и собственно, почему бы тогда не добавить обработку в конфигурацию?

Автор, что произойдет, если ""C:\Program Files\1cv81\РасходнаяНаклодная31Склад.epf");" вдруг "внезапно" потеряется?  :)
27 Serg_1960
 
26.06.10
12:00
(24) В обработке, перед печатью, анализируй кто вызвал и используй различные макеты печати.
28 Elf1k
 
26.06.10
12:04
если я добавлю макет в сам документ и на действие новой кнопки сделаю функцию печати моего нового макета так будет работать ?

Ведь при печати надовызывать печать как то по особому ?
29 Seducer
 
26.06.10
12:04
(24) > По умолчанию привязано к пользователю или к базе ?
При нажатии кнопки "По умолчанию" в списке печатных форм для текущего пользователя запоминается выбранная форма.
30 Seducer
 
26.06.10
12:05
Естественно, назначить печатную форму по умолчанию должен сам пользователь
31 Strogg
 
26.06.10
12:05
(29) +Каждому пользователю задай свою печать по умолчанию - у каждого пользователя будет своя отдельная кнопка печати.
32 Serg_1960
 
26.06.10
12:10
(31) +1 Угу, полностью согласен. Можно даже использовать одну, общую для всех обработку, но прописать в справочнике с разными наименованиями и дополнительными параметрами при вызове.
33 Seducer
 
26.06.10
12:12
(32) +1
34 Serg_1960
 
26.06.10
12:14
(помоему это изврат, но все же) Можно даже использовать "общий" макет. Анализировать (что там надо? Пармаметры, пользователя и т.д.) и использовать для печатного документа различные области макета...
35 Strogg
 
26.06.10
12:14
(32), (33) - +1 :)
36 Elf1k
 
26.06.10
12:16
А мне кажется проще просто добавить новую кнопку =)))
37 Serg_1960
 
26.06.10
12:17
"Гы-гы" (как говаривал незабвенный Гений 1С) - неплохо спелись(спились? как правильно?). Короче - на троих сообразили :))

(36) Тебе решать. Простые решения - легче поддерживать... и исправлять :)
38 Seducer
 
26.06.10
12:23
(36) Ну вот смотри.
1. Если вдруг понадобится обновлять УТ (все-таки обновления выходит, законы меняются и т.п.) - как будешь действовать?
2. Если вдруг что-то понадобится поменять в кнопке (например, поменять заголовок или вызвать другую обработку) - как будешь действовать?

З.Ы. Не живи только текущим днем.  :)
39 Seducer
 
26.06.10
12:25
(37)  Да уж...  сообразили.  :)
40 Serg_1960
 
26.06.10
12:27
Не сочти нравоучением, но всё-же: я по любому - сначало делаю внешнюю обработку. Так легче тестировать, ошибки исправлять и т.д. И даже когда отработаю - всё равно подключаю как внешнюю обработку.

Опыт подсказывает :) Хотелки юзверей оглашаются уже после выполненной работы :(
41 Serg_1960
 
26.06.10
12:33
Вроде-бы всё уже сказано. Ушел. "по англицки - не прощаясь"
42 Strogg
 
26.06.10
12:34
(40) - Делаю проще. Просто на форму вешаю СсылкуНаОбъект, а в кнопке "Сформировать" сразу же отправляю на печать() экспорт. После отладки можно даже форму не удалять.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn