|
Печать документа из 2 документа | ☑ | ||
---|---|---|---|---|
0
KonstantinK90
07.05.15
✎
11:26
|
Всем привет! У меня проблема! Есть первый документ в есть макет(печатная форма), Есть второй документ как повесить во втором документе на кнопку что бы при нажатии формировалась печатная форма из первого документа только при условии что 1 документ является основанием 2 документа
|
|||
15
KonstantinK90
07.05.15
✎
11:39
|
ага если я ее скопирую вылазиют ошибки реквизит не определен
|
|||
16
Fish
07.05.15
✎
11:40
|
(14) Если процедура экспортная то так:
ТвойДокументОбъект.Печать(); |
|||
17
lera01
07.05.15
✎
11:40
|
ДокументОснование.ПолучитьОбъект.ПЕчать(Вот тут надо поставить параметры с которыми вызывается процедура ПЕчать в объекте этого документа чтоб напечаталась нужная печатная форма)
|
|||
18
hhhh
07.05.15
✎
11:41
|
(15) определить реквизит, который неопределен, и не парить людям мозг.
|
|||
19
lera01
07.05.15
✎
11:41
|
*ПолучитьОбъект().
|
|||
20
KonstantinK90
07.05.15
✎
11:42
|
я чет не понимаю не могли бы написать по подробнее как обратиться к первой процедуре и од куда
|
|||
21
fisher
07.05.15
✎
11:43
|
Боюсь, в этой ветке мозги будут испаряться еще долго.
|
|||
22
KonstantinK90
07.05.15
✎
11:45
|
???
|
|||
23
Fish
07.05.15
✎
11:47
|
(20) Ты понимаешь, чем тип "документобъект" отличается от типа "документссылка"?
|
|||
24
KonstantinK90
07.05.15
✎
11:49
|
Объект для записи ссылка показывает данные
|
|||
25
KonstantinK90
07.05.15
✎
11:49
|
и все же как обратиться к процедуре 1 документа
|
|||
26
Fish
07.05.15
✎
11:50
|
(25) Через объект. Тебе же ещё в (3) написали. Что не получается?
|
|||
27
ДенисЧ
07.05.15
✎
11:50
|
Хм... То ли человек от первых майских не отошёл, то ли ко вторым уже начал готовиться...
|
|||
28
KonstantinK90
07.05.15
✎
11:52
|
я пишу как это сделать через объект
|
|||
29
KonstantinK90
07.05.15
✎
11:53
|
я с такой задачей первый раз сталкиваюсь и понятия даже не имею с чего начать
|
|||
30
KonstantinK90
07.05.15
✎
11:53
|
я вас и прошу что бы вы мне помогли обратиться правильно к процедуре
|
|||
31
Fish
07.05.15
✎
11:54
|
(30) Пост (3) видел? Там ответ. Или ты тролль?
|
|||
32
KonstantinK90
07.05.15
✎
11:55
|
док2.ПолучитьОбъект().Печать()- док 2 это как описать
|
|||
33
ДенисЧ
07.05.15
✎
11:56
|
(32) док2 - это сслыка на документ, который ты хочешь распечатать.
Остальное - дословно |
|||
34
hhhh
07.05.15
✎
11:56
|
док2 = ДокументОснование;
|
|||
35
1976vas
07.05.15
✎
11:57
|
(32) Док2.ДокументОснование.ПолучитьОбъект().Печать()
|
|||
36
KonstantinK90
07.05.15
✎
11:59
|
вам легко говорить когда понимаешь очем
|
|||
37
fisher
07.05.15
✎
11:59
|
(32) Слушай внимательно и не отвлекайся!
"Док2" - вместо этого нужно подставить имя реквизита в твоем документе, где хранится ссылка на тот документ, который ты хочешь распечатать. Если такого реквизита нет, то распечатать не получится. |
|||
38
KonstantinK90
07.05.15
✎
11:59
|
док -2 ссылка на документ который я хочу получить. как получить эту ссылку
|
|||
39
1976vas
07.05.15
✎
12:00
|
(38) Это реквизит ДокументОснование в твоем Док1
|
|||
40
Fish
07.05.15
✎
12:01
|
(38) Тогда вопрос на засыпку: что ты имел ввиду в (0) под фразой:
"1 документ является основанием 2 документа" |
|||
41
KonstantinK90
07.05.15
✎
12:02
|
да 1 документ является основанием 2 документа
|
|||
42
Fish
07.05.15
✎
12:02
|
(39) В (0) вроде наоборот написано. док1 является основанием док2 (если я правильно понял). И автору надо получить подчинённый док.
|
|||
43
Fish
07.05.15
✎
12:02
|
(41) Тогда запросом получаешь подчинённый документ.
|
|||
44
fisher
07.05.15
✎
12:03
|
Чувствую, назревает очередной ликбез по понятиям подчиненного документа, документа введенного на основании, и отсутствию прямой связи между этими понятиями.
|
|||
45
KonstantinK90
07.05.15
✎
12:03
|
да все верно
|
|||
46
KonstantinK90
07.05.15
✎
12:03
|
реквизит ДокументОснование в твоем Док1 - е меня нету такого реквизита
|
|||
47
Fish
07.05.15
✎
12:04
|
(45) Тогда смотри (43), но встаёт вопрос, как быть, если подчинённых доков несколько?
|
|||
48
KonstantinK90
07.05.15
✎
12:04
|
а как запросом?
|
|||
49
Fish
07.05.15
✎
12:07
|
(48) Приехали :)
Нажимаешь в модуле ПКМ, выбираешь "конструктор запросов" и вперёд. |
|||
50
hhhh
07.05.15
✎
12:07
|
(47) в (0) кстати наоборот написано, запрос не нужно. Нужно ДокументОснование.
|
|||
51
hhhh
07.05.15
✎
12:09
|
(48) вы это, потренируйтесь сначала на кошках. Зачем вы сразу с реальных задач начинаете?
|
|||
52
Fish
07.05.15
✎
12:10
|
(50) Ну строго говоря да, написано именно так, но автор путается в показаниях, поэтому я и предположил обратную ситуацию :)
|
|||
53
KonstantinK90
07.05.15
✎
12:11
|
Док1 = Документы.Уат_УведомлениеОПринятыхУслугах.ПолучитьСсылку();
Док1.ПолучитьОбъект().Печать(); ошибка:Значение не является значением объектного типа (Печать) Док1.ПолучитьОбъект().Печать(); |
|||
54
lera01
07.05.15
✎
12:13
|
(53) Ужжас. Ссылку чего ты получаешь????
|
|||
55
Timon1405
07.05.15
✎
12:13
|
(53) Рекомендую отойти от конфигуратора на 3 метра, сделать 3 оборота на месте, закрыть конфигуратор и позвать специалиста
|
|||
56
1976vas
07.05.15
✎
12:13
|
"1 документ является основанием 2 документа" где, в каком реквизите Документа2 у тебя хранится ссылка на ДокументОснование?
|
|||
57
Fish
07.05.15
✎
12:15
|
(56) Судя по (53) всё ещё более запущено, чем я предполагал. На этом я умываю руки, может, найдётся тот, кто сможет помочь автору, но не я. :)
|
|||
58
hhhh
07.05.15
✎
12:15
|
всё-таки лучше скопипастить в док2 макет и процедуру печать.
|
|||
59
KonstantinK90
07.05.15
✎
12:16
|
у меня нету реквизита документ основание
|
|||
60
lera01
07.05.15
✎
12:17
|
(48) Ты когда Вводишь Док2 на основании Док1, у тебя работает процедура "Обработка заполнения" в модуле Док2. В этой процедуре параметр Основание - это и есть ссылка на Док1. Открой конфигуратор, погляди в код и выясни, в какой реквизит твоего Док2 записывается Основание, пока будем называть этот реквизит "ТудаКудаПишетсяДокументОснование". Когда ты это узнаешь, в код своего вызова Печати Док1 из Док2 вставь оператор
ТудаКудаПишетсяДокументОснование.ПолучитьОбъект().Печать(), заменив слова ТудаКудаПишется документОснование на конкретное название реквизита. |
|||
61
hhhh
07.05.15
✎
12:17
|
(59) а как тогда определили, что "1 документ является основанием 2 документа"? По какому реквизиту?
|
|||
62
KonstantinK90
07.05.15
✎
12:27
|
ОбработкаЗаполненияТечатнойформы() Экспорт
//Костя Если ТипЗнч(Основание) = Тип("ДокументСсылка.Уат_УведомлениеОПринятыхУслугах") Тогда Заполнение шапки Дата = Основание.ДатаУведомления; ДоговорКонтрагента = Основание.ДоговорКонтрагента; Комментарий = Основание.Комментарий; Контрагент = Основание.Контрагент; НомерУведомления = ДанныеЗаполнения.НомерУведомления; Ответственный = Основание.Ответственный; Статус = ДанныеЗаполнения.Статус; ТабЧ = Услуги.Добавить(); ТабЧ.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00000000878"); ТабЧ.Содержание = "Перевозка груза согласно уведомления о выполненных услугах№ "+ Основание.НомерУведомления + " от "+ Формат(Основание.ДатаУведомления,"ДЛФ=Д"); //Сообщить(Формат(Дата, "ДЛФ=Д")); // 01.01.2005 СуммаКол = 0; СуммаСуммы = 0; Для Каждого ТекСтрокаУведомлениеОПринятыхУслугах Из Основание.УведомлениеОПринятыхУслугах Цикл СуммаКол = СуммаКол + ТекСтрокаУведомлениеОПринятыхУслугах.РастояниеПеревозкиКМРедактируемое; СуммаСуммы = СуммаСуммы + ТекСтрокаУведомлениеОПринятыхУслугах.СтоимостьПеревГруза; ТабЧ.Цена = ТекСтрокаУведомлениеОПринятыхУслугах.ЦенаНаПеревЗа1КМ_Руб_НДС; КонецЦикла; ТабЧ.Количество = СуммаКол; ТабЧ.Сумма = СуммаКол * ТабЧ.Цена; ТабЧ.СуммаНДС = (ТабЧ.Сумма * 18) / 118; ТабЧ.СчетДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); ТабЧ.СчетУчетаНДСПоРеализации = ПланыСчетов.Хозрасчетный.НайтиПоНаименованию(" Налог на добавленную стоимость"); ТабЧ.Субконто = Справочники.НоменклатурныеГруппы.НайтиПоКоду("000000027"); ТабЧ.СчетРасходов = ПланыСчетов.Хозрасчетный.НайтиПоНаименованию("Себестоимость продаж по деятельности с основной системой налогообложения"); ТабЧ.СтавкаНДС = Перечисления.СтавкиНДС.НДС18; КонецЕсли; |
|||
63
KonstantinK90
07.05.15
✎
12:27
|
нету реквизита документ основание
|
|||
64
hhhh
07.05.15
✎
12:43
|
если нету, то никак не поймешь, что он является основанием.
|
|||
65
lera01
07.05.15
✎
12:47
|
(62) А это здесь зачем? ОбработкаЗаполненияТечатнойФормы??? Это что? Возможно, в твоей конфе вообще запись основания еще куда-то вынесена. Посмотри групповой обработкойсправочников и документов, куда пишется основание и там потом его ищи.
|
|||
66
KonstantinK90
07.05.15
✎
13:14
|
ошибка Ошибка при вызове метода контекста (ПолучитьОбъект)
СсылкаНаПотомка.ПолучитьОбъект().Печать(); по причине: Элемент не выбран! СсылкаНаДок = Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту("ДокументОснование", Ссылка); СсылкаНаДок.ПолучитьОбъект().Печать(); |
|||
67
ДенисЧ
07.05.15
✎
13:14
|
(66) Наверное, документ не нашли. Ваш СЯХ.
|
|||
68
KonstantinK90
07.05.15
✎
13:14
|
Ошибка при вызове метода контекста (ПолучитьОбъект)
СсылкаНаДок.ПолучитьОбъект().Печать(); по причине: Элемент не выбран! |
|||
69
KonstantinK90
07.05.15
✎
13:15
|
и что делать
|
|||
70
KonstantinK90
07.05.15
✎
13:18
|
ну как это исправить
|
|||
71
1976vas
07.05.15
✎
13:21
|
СсылкаНаПотомка.ПолучитьОбъект().Печать(); тебе нужна функция печати предка вроде же.
|
|||
72
KonstantinK90
07.05.15
✎
13:24
|
да печать документа основания
|
|||
73
KonstantinK90
07.05.15
✎
13:25
|
как это сделать уже всю голову сломал
|
|||
74
Fish
07.05.15
✎
13:27
|
(73) Не расстраивайся, я тоже, пытаясь понять, что же ты в итоге хочешь сделать: то ли документ-основание из подчинённого напечатать, то ли наоборот. :)
|
|||
75
KonstantinK90
07.05.15
✎
13:29
|
документ А основание Б введенный на основании А нужно покнопке из документа Б Распечатать макет из Документа А
|
|||
76
KonstantinK90
07.05.15
✎
13:30
|
пишу вот так СсылкаНаДок = Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту("ДокументОснование", Ссылка);
СсылкаНаДок.ПолучитьОбъект().Печать(); Ошибка при вызове метода контекста (ПолучитьОбъект) СсылкаНаДок.ПолучитьОбъект().Печать(); по причине: Элемент не выбран! |
|||
77
1976vas
07.05.15
✎
13:30
|
(75) Задачу ставишь правильно, по крайней мере сходится с (0), но решение ее не можешь понять.
|
|||
78
KonstantinK90
07.05.15
✎
13:32
|
ну так помогите что я от вас и жду
|
|||
79
KonstantinK90
07.05.15
✎
13:33
|
Как правильно надо
|
|||
80
1976vas
07.05.15
✎
13:33
|
"СсылкаНаДок = Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту("ДокументОснование", Ссылка);" Ссылка - это что?
|
|||
81
KonstantinK90
07.05.15
✎
13:35
|
ссылка документ А, я в отладчике смотрю вней отображается ссылка документа А
|
|||
82
KonstantinK90
07.05.15
✎
13:36
|
ой нет документ А отображается
|
|||
83
KonstantinK90
07.05.15
✎
13:36
|
ой Б
|
|||
84
1976vas
07.05.15
✎
13:36
|
Е-мае так это и есть ДокументОснование - твоя Ссылка. По ней просто получай объект А.
|
|||
85
ДенисЧ
07.05.15
✎
13:36
|
Ой А
Ой Б Ой всё... |
|||
86
KonstantinK90
07.05.15
✎
13:38
|
а если вот так пишу СсылкаНаДок = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(ДокументОснование.Ссылка);
СсылкаНаДок.ПолучитьОбъект().Печать(); Ошибка при вызове метода контекста (ПолучитьСсылку) СсылкаНаДок = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(ДокументОснование.Ссылка); по причине: Несоответствие типов (параметр номер '1') |
|||
87
KonstantinK90
07.05.15
✎
13:39
|
вы же знаете как это сделать не ужели так тяжело помочь?
|
|||
88
1976vas
07.05.15
✎
13:40
|
(87) Я сдаюсь...
|
|||
89
TeddySlaf
07.05.15
✎
13:43
|
(62) Код из 62 поста работает?
|
|||
90
KonstantinK90
07.05.15
✎
13:44
|
да работает на основании реализация создается
|
|||
91
Fish
07.05.15
✎
13:45
|
(87) Понимаешь, мы-то знаем, как сделать. И больше того, тебе даже всё, что нужно, уже объяснили. Но пока ты сам не узнаешь что же тебе нужно, и что у тебя и где есть (а пока сам не узнаешь - не сможешь внятно задать вопрос), то боюсь, ты просто не поймёшь наших ответов, которые в этой ветке уже есть в избытке.
|
|||
92
PCcomCat
07.05.15
✎
13:46
|
Ссылка.Печать();
|
|||
93
KonstantinK90
07.05.15
✎
13:47
|
вы кусками пишете а я общую картину не вижу
|
|||
94
KonstantinK90
07.05.15
✎
13:49
|
я даже ссылку не могу получить пишу вот так СсылкаНаДок = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(ДокументОснование);
СсылкаНаДок.ПолучитьОбъект().Печать(); Ошибка при вызове метода контекста (ПолучитьСсылку) СсылкаНаДок = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(ДокументОснование); по причине: Несоответствие типов (параметр номер '1') что это как исправить |
|||
95
fisher
07.05.15
✎
13:49
|
(87) Гы! Ну, скажи это врачу-хирургу, чтобы он бы он тебе помог в телефонном режиме операцию провести.
|
|||
96
PCcomCat
07.05.15
✎
13:49
|
ДокументОснование - в отладчике это что?
|
|||
97
hhhh
07.05.15
✎
13:50
|
(93) вот эту вот функцию ПОлучитьСсылку() никогда не используй. Ножом у себя на ладони вырежи "Я никогда не буду использовать ПоОлучитьСсылку() ". Мы тебе другое пишем, а ты постоянно этот бред выкатываешь.
|
|||
98
KonstantinK90
07.05.15
✎
13:51
|
вы напишите полностью как правильно получить ссылку
|
|||
99
hhhh
07.05.15
✎
13:54
|
СсылкаНаДок = ДокументОснование;
|
|||
100
KonstantinK90
07.05.15
✎
13:56
|
документоснование это ссылка на док А
|
|||
101
TeddySlaf
07.05.15
✎
13:56
|
(90) Попробуй вместо написать так:
Исходя из кода в (62), возможно переменная "Основание' вовсе не переменная, а реквизит твоего второго документа, который создается на основании. |
|||
102
hhhh
07.05.15
✎
13:56
|
если в форме пишете то
СсылкаНаДок = Объект.ДокументОснование; |
|||
103
KonstantinK90
07.05.15
✎
14:00
|
блин вот я тормоз у меня несколько документов я открывал тот который не создан на основвании
|
|||
104
KonstantinK90
07.05.15
✎
14:00
|
все получилось спасибо!
|
|||
105
Fish
07.05.15
✎
14:01
|
Все дружно выдохнули :))
|
|||
106
KonstantinK90
07.05.15
✎
14:02
|
ага вместе со мной
|
|||
107
TeddySlaf
07.05.15
✎
14:02
|
(104) KonstantinK90, напиши уж, какой командой у тебя получилось вызвать печать документа-родителя.
|
|||
108
KonstantinK90
07.05.15
✎
14:03
|
СсылкаНаДок = ДокументОснование;
СсылкаНаДок.ПолучитьОбъект().Печать(); |
|||
109
KonstantinK90
07.05.15
✎
14:04
|
а как поставить условие если у документа Б нет основания что бы ошибка не выходила
|
|||
110
KonstantinK90
07.05.15
✎
14:04
|
по нажатию кнопки
|
|||
111
Fish
07.05.15
✎
14:07
|
(110) Например, есть такая функция ЗначениеЗаполнено(). Почитай про неё с СП.
|
|||
112
TeddySlaf
07.05.15
✎
14:09
|
(111) или как уже у него есть в коде в посте (62)
|
|||
113
Fish
07.05.15
✎
14:11
|
(112) Если пустая ссылка, то условие выполнится.
|
|||
114
KonstantinK90
07.05.15
✎
14:11
|
все понял спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |