Имя: Пароль:
1C
1С v8
Как во внешней обработке получить ссылку на документ
0 Штурман
 
28.10.11
08:25
Есть обычная внешняя печатная форма.
В есть реквизит СсылкаНаОбъект, со ссылкой на один тип документа.
В модуле объекта следующий простой код:

Функция Печать() Экспорт    
   НомерДока = СсылкаНаОбъект.Номер;
   ДатаДока = СсылкаНаОбъект.Дата;
   
   сообщить(ЭтотОбъект.СсылкаНаОбъект);
   сообщить("-");
   сообщить(СсылкаНаОбъект.Сотрудник);
   сообщить("-");
   сообщить(НомерДока);
   сообщить("-");
   сообщить(ДатаДока);    
КонецФункции

Подключаю эту обработку в Сервис – Дополнительные отчеты и обработки – Дополнительные внешние печатные формы.

Открываю документ, в меню Печать выбираю ее, а выводится пустые значения:
-
-
         
-
01.01.0001 0:00:00

Как получить объект документа?
1 kosts
 
28.10.11
08:32
(0) Перед печатью необходимо сохранить документ
2 Штурман
 
28.10.11
08:33
(1) открываю проведенный документ
3 kosts
 
28.10.11
08:34
Тип документа и СсылкаНаОбъект совпадает?
4 Штурман
 
28.10.11
08:37
да, в свойствах реквизита тип выбирал из ниспадающего списка
5 Рэйв
 
28.10.11
08:38
Проверь в табло

СсылкаНаОбъект.Пустая()
6 dka80
 
28.10.11
08:39
Реквизит то поди в форме документа, а не у самой обработки?
7 Рэйв
 
28.10.11
08:39
(6)Ругнулось бы
8 dka80
 
28.10.11
08:41
кинь на [email protected] погляжу
9 Мимохожий Однако
 
28.10.11
08:45
ДокументСсылка.<Имя документа> (DocumentRef.<Имя документа>)
ПолучитьОбъект (GetObject)
Синтаксис:

ПолучитьОбъект()
Возвращаемое значение:

Тип: ДокументОбъект.

Описание:

Получает по ссылке объект для чтения, изменения, добавления и удаления документа.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

Объект = ВыбДокумент.ПолучитьОбъект();
....
Попробуй
Объект = СсылкаНаОбъект.ПолучитьОбъект();
НомерДок = Объект.Номер;
10 dka80
 
28.10.11
08:48
(9) А смысл? У него печатная форма, а ты предлагаешь изменять ему
11 Мимохожий Однако
 
28.10.11
08:50
(10)я измену не предлагал.:-)
12 salvator
 
28.10.11
08:57
(0) При регистрации внешней печатной формы указал тип документа?
13 Штурман
 
28.10.11
09:14
(8) Отправил
14 Штурман
 
28.10.11
09:16
(9) не пашет

Не удалось сформировать внешнюю печатную форму!
Метод объекта не обнаружен (ПолучитьОбъект)
15 Maxus43
 
28.10.11
09:16
(3) наверное прав, другим не объяснить... ну или кэш поехал)
16 Штурман
 
28.10.11
09:16
(12) да, ниже в "Принадлежность печатной формы"
17 Штурман
 
28.10.11
09:24
апну
18 Штурман
 
28.10.11
09:26
вот выложил: http://depositfiles.com/files/uezafn65t

там сама простота, замените на свой документ

как вообще получить объект документа или хотя бы вывести его номер?
19 Maxus43
 
28.10.11
09:27
(18) нашёл куда выложить, 60 секунд ещё ждать)
20 shuhard
 
28.10.11
09:28
(18) прикольная ветка

я первым спрошу

у тебя УТ 10.3 или УТ 11 ?
21 Штурман
 
28.10.11
09:30
(19) ну кроме рапиды больше не знаю куда еще
22 Штурман
 
28.10.11
09:30
(20) ни то, не другое, ЗУП
23 Maxus43
 
28.10.11
09:31
(21) народ, файлы Майл.ру... да много где
24 Maxus43
 
28.10.11
09:31
З.ы. я вот с депозита не скачаю, забанен на работе
25 Штурман
 
28.10.11
09:32
ну сюда выложил: http://webfile.ru/5631890
26 Штурман
 
28.10.11
09:33
в общем я в начале топика постарался все подробно расписать, обработка самая простая

мне нужно номер и дату получить документа, при открытии документа и выбора данной обработки в меню Печать
27 shuhard
 
28.10.11
09:36
(22) ну а реквизит у ВПФ ты сделал
нужного типа и с нужным именем
так,как это по F1 написано ?
28 Штурман
 
28.10.11
09:37
(27) да
29 Maxus43
 
28.10.11
09:38
ну ппц
30 Maxus43
 
28.10.11
09:38
почему тип ДокументОбъект у реквизита?
31 Ткачев
 
28.10.11
09:38
(25)ТипЗнч(СсылкаНаОбъект) = Тип("Строка")
32 Шапокляк
 
28.10.11
09:39
(0) А ссылкаНаОбъект тип ДокументСсылка.такойТо или ДокументОбъект.такойТо?
33 Maxus43
 
28.10.11
09:39
мозг в пятницу этой темой выел просто....)
34 shuhard
 
28.10.11
09:39
(28) прекрасно
теперь сделай морду у ВПФ
вытащи на неё реквизит и кнопку и отлаживай
35 Maxus43
 
28.10.11
09:40
Всем читать (30), что ещё обсуждать то?
36 Штурман
 
28.10.11
09:41
(35) а что не так, какой тип должне быть?
37 Ткачев
 
28.10.11
09:42
(35)У меня вооще тип строка
38 Maxus43
 
28.10.11
09:42
(36) ДокументСсылка
39 Maxus43
 
28.10.11
09:42
(37) у самого реквизита в обработке тип ДокументОбъект
40 Штурман
 
28.10.11
09:45
товарищи, вы чего, я ж сказал, в реквизите все правильно указал

у меня конфа - ЗУП, видимо вы в других конфах открываете, вот у вас документ и не находится, поэтому и ставится тип - Строка например

я же в (18) писал, замените на свой любой документ
41 Штурман
 
28.10.11
09:46
в общем в ПараметрахАвторегистрации какой документ стоит - такойже и в реквизите
42 Шапокляк
 
28.10.11
09:47
(41) На (32) ответите?
43 Maxus43
 
28.10.11
09:47
я скачал по ссыдке из (25) и ясно вижу что в реквизите у обработки указан НЕПРАИЛЬНЫЙ ТИП
44 Maxus43
 
28.10.11
09:48
(40) я в УПП открываю, там есть этот док
45 Штурман
 
28.10.11
09:49
(44) ну так у тебя как-нибудь номер документа сообщается если что-то поправить?
46 Ткачев
 
28.10.11
09:50
А я вооще неудачнег, я непойму как мне эту обработку запустить.
47 Maxus43
 
28.10.11
09:52
48 Maxus43
 
28.10.11
09:52
(45) как в (47) у тебя?
49 shuhard
 
28.10.11
09:53
(40) классный пятничный срач

я доволен
50 Maxus43
 
28.10.11
09:54
(46) да и не надо) не переживай
51 Штурман
 
28.10.11
09:55
(47) ок, поставил так, но код

   НомерДок = СсылкаНаОбъект.Номер;
   ДатаДока = СсылкаНаОбъект.Дата;
   
   сообщить(ЭтотОбъект.СсылкаНаОбъект);
   сообщить("-");
   сообщить(СсылкаНаОбъект.Сотрудник);
   сообщить("-");
   сообщить(НомерДок);
   сообщить("-");
   сообщить(ДатаДока);

пустые значения выводит
52 Ткачев
 
28.10.11
09:55
(40)Аааа, вон и конфа появилась, (46) это неправда.
53 Maxus43
 
28.10.11
09:55
(51) ты не понял, как в (47) - НЕПРАВИЛЬНО
54 Штурман
 
28.10.11
09:57
(53) а как правильно?
55 Ткачев
 
28.10.11
09:58
Реквизит нах, передавать ссылку при вызове
Функция Печать(СсылкаНаОбъект) Экспорт    
   НомерДока = СсылкаНаОбъект.Номер;
   ДатаДока = СсылкаНаОбъект.Дата;
   
   сообщить(ЭтотОбъект.СсылкаНаОбъект);
   сообщить("-");
   сообщить(СсылкаНаОбъект.Сотрудник);
   сообщить("-");
   сообщить(НомерДока);
   сообщить("-");
   сообщить(ДатаДока);    
КонецФункции
56 wertyu
 
28.10.11
09:59
(54) правильно ДокументСсылка написали же выше ))
57 Maxus43
 
28.10.11
09:59
58 Maxus43
 
28.10.11
10:01
ну почто не читают а только картинками воспринимают... шо за жись пошла
59 Ткачев
 
28.10.11
10:01
(58)Лучше видео, как у Гилева
60 Штурман
 
28.10.11
10:01
(57) спасиб, теперь работает
61 Штурман
 
28.10.11
10:02
просто внешние обработки давно не делал, а щас пятница вообще
62 Ткачев
 
28.10.11
10:03
(60)Ну теперь может покажете как вы ее вызываете ?
63 Maxus43
 
28.10.11
10:03
(61) и не читал что другие пишут тоже давно) по сути в (3) уже ответ, в (30)(38) просто тыкнул уже, но сработало только (57)...
64 Штурман
 
28.10.11
10:04
кстати, товарищи, я еще не говорил зачем мне это, а дело было вот в чем

я хочу печатную форму вывести, однако она во внешней печатной форме не пашет, а вот во внешней обработке работает, так вот, задумал из отчета в обработку параметры все передать
65 Штурман
 
28.10.11
10:04
(62) открываю документ и выбираю через кнопку Печать в списке
66 Штурман
 
28.10.11
10:05
(63) ну звиняйте, не внимательно читал
67 Ткачев
 
28.10.11
10:05
(65)А как она понимает что ей нужно открыть ?
68 Штурман
 
28.10.11
10:06
(67) кто понимает? кнопка или печатная форма?
69 Maxus43
 
28.10.11
10:07
(67) Типовой механизм, справочник внешние обработки.
Внешняя печатная форма.

Внешняя обработка, содержащая:

Необязательный реквизит «ДополнительныеПараметры» произвольного типа, которому будут передаваться дополнительные параметры примитивного типа в виде структуры.
Реквизит «СсылкаНаОбъект», в который при вызове будет передана ссылка на объект, для которого необходимо выполнить печать.
Функция «Печать()» - без параметров,  возвращающая табличный документ.

Также обработка может иметь в своем составе макет «Параметры_Авторегистрации», используемый для автоматического заполнения принадлежности печатной формы в справочнике «Внешние обработки» и состоящий из 2-х колонок («полное имя метаданного» и «имя табличной части»).
2 + 2 = 3.9999999999999999999999999999999...