Имя: Пароль:
1C
 
Как открыть внешнюю зарегестрированную обработку
0 freddy_kind
 
11.02.09
14:39
Сделал внешнюю печатную форму ТТН, по аналогии со стандартной открывает обработку. Открыть просто внешнюю обработку понятно как, а как открыть зарегестрированную в 1С внешнюю обработку??
1 ДенисЧ
 
11.02.09
14:39
А где в 1с она регистрируется?
2 freddy_kind
 
11.02.09
14:39
упс, это в 1С 8.1 УПП
3 Попытка1С
 
11.02.09
14:40
закинуть ее в extforms и сделать *.epf
4 Попытка1С
 
11.02.09
14:41
(2) брррр
5 inka
 
11.02.09
14:41
Список внешних обработок. Двойной шелчок на нужной.
Если это в УПП
6 freddy_kind
 
11.02.09
14:42
не, мне надо из печатной формы ТТН открывать ее
7 freddy_kind
 
11.02.09
14:46
эмм...где вообще хранятся зарегестрированные внешние обработки в УПП?
8 freddy_kind
 
11.02.09
14:48
ну дык??никто не знает?
9 ДенисЧ
 
11.02.09
14:49
Блин... Ну посмотри в коде, где они регистрируются. Оттуда и выдирай...
10 y22-k
 
11.02.09
14:50
http://www.uasoft.com.ua/content/articles/315/

там все подробно описано
11 y22-k
 
11.02.09
14:53
Так ты зарегистрируй ВПФ  и в ней напиши в
печать()
открыть(что нибудь) н-р форму во ВПФ, а зачем разделять обработку и внешнюю печатную форму я не понял
12 freddy_kind
 
11.02.09
14:54
потому что это ТТН, там при откритии надо еще доп.поля заполнять
13 freddy_kind
 
11.02.09
14:55
а внешнюю печатную форму и обработку я сделал, с компа открывается легко. НО надо чтоб и всех пользователей она открывалась
14 freddy_kind
 
11.02.09
14:56
(9) Код чего посмотреть?
15 y22-k
 
11.02.09
14:56
(14)код печати ттн в расходной накладной
16 freddy_kind
 
11.02.09
14:57
ии?? код как код) открывает обработку внутреннюю
17 freddy_kind
 
11.02.09
14:57
а мне надо свою внешнюю
18 Невский Александр
 
11.02.09
14:58
(0) 1С помещает ее в хранилище "ХранилилищеВнешнейОбработки"
19 freddy_kind
 
11.02.09
15:02
(18) а вызвать программно из этого хранилища можно ее?
20 Невский Александр
 
11.02.09
15:04
у меня переделанная из УПП, вот та часть, из которой она вызывается:
       Если ТипЗнч(НазваниеМакета) = Тип("СправочникСсылка.ДополнительныеПечатныеФормы") Тогда
           
           ИмяФайла = КаталогВременныхФайлов()+"PrnForm.tmp";
           ОбъектВнешнейФормы = НазваниеМакета.ПолучитьОбъект();
           Если ОбъектВнешнейФормы = Неопределено Тогда
               Сообщить("Ошибка получения внешней формы
документа. Возможно форма была удалена", СтатусСообщения.Важное);
               Возврат;
           КонецЕсли;
           
ДвоичныеДанные = ОбъектВнешнейФормы.ХранилищеВнешнейОбработки.Получить();
           ДвоичныеДанные.Записать(ИмяФайла);
           Обработка = ВнешниеОбработки.Создать(ИмяФайла);
           Обработка.СсылкаНаОбъект = Ссылка;
           ТабДокумент = Обработка.Печать();
21 freddy_kind
 
11.02.09
15:08
(20) Спасибо! вот еще нарыл:

обр=Справочники.ВнешниеОбработки.НайтиПоКоду("0000001");
//проверка на найденность
ЭтоОбработка = ?(обр.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка, Истина, Ложь);
Если ЭтоОбработка Тогда
  ИмяФайла = ПолучитьИмяВременногоФайла();
  ДвоичныеДанные = обр.ХранилищеВнешнейОбработки.Получить();
  ДвоичныеДанные.Записать(ИмяФайла);
  Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
  Если Не Форма = Неопределено Тогда
   Форма.Открыть();
  Иначе
   ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
  КонецЕсли;
КонецЕсли;
22 y22-k
 
11.02.09
15:08
(17) ЗАЧЕМ тебе разделять внешнюю обработку и внешнюю печатную форму?
23 dnab
 
11.02.09
15:10
как вариант, внешнюю обоботку поместить в двоичный макет обработки печатной формы. Оттуда ее распаковывать и вызывать как обычную внешнюю.
Плюс - всё будет в одном месте, не надо искать в справочнике по коду, наименованию.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.