|
v7: Отладчик. Как поймать передающийся Контекст ? | ☑ | ||
---|---|---|---|---|
0
Последняя_
Надежда 09.09.11
✎
13:49
|
В модуле формы есть вызов процедуры из ГМ глПечатьСпецификации(Контекст, ФормаПечати). Как поймать данные, которые передаются в параметре Контекст ? В табло выдает "ГрупповойКонтекст" - чтобы это могло значить?
|
|||
1
Рэйв
09.09.11
✎
13:52
|
Зачем тебе?
|
|||
2
povar
09.09.11
✎
13:52
|
(0) когда же вы купите у ДенисЧа ЖКК ?
|
|||
3
Последняя_
Надежда 09.09.11
✎
13:54
|
Было бы незачем - не спрашивала бы.
|
|||
4
Ёпрст
09.09.11
✎
13:58
|
(0) это контекст открытой формы обработки.
|
|||
5
povar
09.09.11
✎
13:59
|
(4) предвижу следующий вопрос
|
|||
6
Последняя_
Надежда 09.09.11
✎
14:03
|
(4) да я понимаю это. мне надо что в нем. внутренности так сказать
|
|||
7
povar
09.09.11
✎
14:03
|
гы, пошел записываться на битву экстрасенсов
|
|||
8
Ёпрст
09.09.11
✎
14:05
|
(6)
Что именно ?! |
|||
9
ДенисЧ
09.09.11
✎
14:05
|
(6) Внутренности обработки?
|
|||
10
Рэйв
09.09.11
✎
14:06
|
(6)Контекст.Внутренность
|
|||
11
Последняя_
Надежда 09.09.11
✎
14:08
|
Процедура глПечатьСпецификации(Конт, ИмяФормы = "Накладная") Экспорт
Перем НачПовт, КонПовт; ИсхТабл = СоздатьОбъект("Таблица"); ИмяФайлаПечатнойФормы = КаталогИБ() + "ExtForms\PrnForms\1cbs.mxl"; ИмяТаблицы = "Спецификация"; Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда ИсхТабл.ИсходнаяТаблица(ИмяФайлаПечатнойФормы); Иначе ИсхТабл.ИсходнаяТаблица(ИмяТаблицы); КонецЕсли; НачПовт = 0; КонПовт = 0; Если ИмяФормы = "Счет" Тогда Получатель = ""; Банк = ""; Счет = ""; БИК = ""; СчетБанка = ""; ИННПолучатель = ""; КПППолучатель = ""; глПлатежныеРеквизиты(Конт.РасчетныйСчет, Получатель, Банк, Счет, БИК, СчетБанка, ИННПолучатель, КПППолучатель, 2); Если ПустоеЗначение(Конт.РасчетныйСчет.Корреспондент)=1 Тогда КПППолучатель = ""; КонецЕсли; ИсхТабл.ВывестиСекцию("ПлатежноеПоручение"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("ПлатежноеПоручение"); КонецЕсли; // секция Заголовок ИсхТабл.ВывестиСекцию("Заголовок" + ИмяФормы); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("Заголовок" + ИмяФормы); // Секция Шапка таблицы ИсхТабл.ВывестиСекцию("ШапкаТаблицы"); КонПовт = НачПовт + ИсхТабл.ВысотаСекции("ШапкаТаблицы"); ИсхТабл.ПовторятьПриПечатиСтроки(НачПовт + 1, КонПовт); // выводим табличную часть НомСтроки = 0; Конт.ВыбратьСтроки(); ЕстьЕдиница = глЕстьРеквизитМнЧ("Единица", Конт.Вид()); Пока Конт.ПолучитьСтроку() = 1 Цикл Если ЕстьЕдиница = 0 Тогда Если Конт.Номенклатура.Вид() = "Номенклатура" Тогда Единица = Конт.Номенклатура.ЕдиницаИзмерения; Иначе Единица = ""; КонецЕсли; Иначе Единица = Конт.Единица; КонецЕсли; НомСтроки = НомСтроки + 1; ИсхТабл.ВывестиСекцию("Строка"); КонецЦикла; СуммаИтог = Конт.Итог("Сумма"); // секция Итого ИсхТабл.ВывестиСекцию("Итого"); // секция ИтогоНДС Если Конт.УчитыватьНДС = 1 Тогда СуммаНДСИтог = Конт.Итог("СуммаНДС"); Если Конт.СуммаВклНДС = 0 Тогда СуммаИтог = СуммаИтог + СуммаНДСИтог; КонецЕсли; ИсхТабл.ВывестиСекцию("ИтогоНДС"); КонецЕсли; // секция ИтогоНП Если Конт.УчитыватьНП = 1 Тогда СуммаНПИтог = Конт.Итог("СуммаНП"); Если Конт.СуммаВклНП = 0 Тогда СуммаИтог = СуммаИтог + СуммаНПИтог; КонецЕсли; ИсхТабл.ВывестиСекцию("ИтогоНП"); КонецЕсли; // секция СуммаПрописью ИсхТабл.ВывестиСекцию("СуммаПрописью"); // секция Подписи ИсхТабл.ВывестиСекцию("Подписи" + ИмяФормы); ИсхТабл.Опции(0,0,0,0,, ИмяФормы, ИмяФормы); ИсхТабл.ТолькоПросмотр(1); ИсхТабл.Показать(глНазваниеДокументаВжурнале(Конт),""); КонецПроцедуры // глПечатьСпецификации() |
|||
12
ДенисЧ
09.09.11
✎
14:09
|
(11) и?
|
|||
13
Последняя_
Надежда 09.09.11
✎
14:10
|
процедура печатает несколько видов документов. в зависимости от Контекста формы. А нужно напечатать только определенный вид без открытия формы
|
|||
14
ДенисЧ
09.09.11
✎
14:10
|
(13) Конт.Вид() ?
|
|||
15
Последняя_
Надежда 09.09.11
✎
14:14
|
(14) конт.вид() = "Реализация"
неужели передается всего одно слово? быть не может |
|||
16
Ёпрст
09.09.11
✎
14:14
|
(15) :))))))))))))))))))))))))))))))))))))))))))))))))))))
|
|||
17
Ёпрст
09.09.11
✎
14:15
|
женская логика убивает
|
|||
18
povar
09.09.11
✎
14:15
|
(15) это пятнично
|
|||
19
Последняя_
Надежда 09.09.11
✎
14:15
|
(16) (17) ну уж какая есть.
|
|||
20
Последняя_
Надежда 09.09.11
✎
14:15
|
(18) да, и пятница сказывается.
|
|||
21
Последняя_
Надежда 09.09.11
✎
14:16
|
Кажется поняла в чем тут дело... Ну никак без вашего присутствия умные мысли не приходят!
|
|||
22
Ёпрст
09.09.11
✎
14:16
|
(19) в данном случае, контекст - это "указатель" на открытую форму обработки. Через него доступны все реквизиты формы + методы для работы с формой/реквизитами диалога.
|
|||
23
Ёпрст
09.09.11
✎
14:18
|
+22 блин, а у тебя передается контекст открытой формы документа - +еще будут доступны некоторые методы самого документа, в частности, Вид()
|
|||
24
1Сергей
09.09.11
✎
14:19
|
на самом деле, трудно понять что такое контекст :)
|
|||
25
Последняя_
Надежда 09.09.11
✎
14:20
|
(24) понять не трудно, заставить себя понять сложнее
|
|||
26
VladZ
09.09.11
✎
14:20
|
гы-гы-гы... Спасибо, поржал...
|
|||
27
Последняя_
Надежда 09.09.11
✎
14:22
|
(26) значит все не зря! хоть кому-то польза )))
|
|||
28
VladZ
09.09.11
✎
14:24
|
(27) Не обижайся... Это действительно смешно. :)
Попробуй свой вопрос задать по-другому. Может кто и поймет. |
|||
29
Ткачев
09.09.11
✎
14:25
|
(15)А че надо то ?
Конт.ТекущийЭлемент(); Конт.ТекущийДокумент(); и т.п. |
|||
30
VladZ
09.09.11
✎
14:26
|
(29) Вопрос на засыпку: что если объект не записан?
|
|||
31
Последняя_
Надежда 09.09.11
✎
14:26
|
(28) по сути уже поняла что не углядела кое-что.
|
|||
32
1Сергей
09.09.11
✎
14:26
|
(30) вернет пустое значение
|
|||
33
VladZ
09.09.11
✎
14:27
|
(32) Ты знал! :)
|
|||
34
VladZ
09.09.11
✎
14:29
|
(31) Давай.. Соберись...
Все не так сложно, как кажется.. :) |
|||
35
Torquader
09.09.11
✎
14:32
|
Когда мы находимся в модуле формы, то мы можем вызывать некоторые функции объекта без указания его самого, то есть, например, пишем "Записать", чтобы записать текущий объект.
В этом случае мы работаем в локальном контексте. Чтобы функции других модулей могли выполнять эти же функции нашего объекта, мы передаём им ссылку на наш контекст, то есть ссылку на модуль объекта, из которого можно вызывать функции, например, тот же записать. Аналогом контекста может быть использование With Object в Visual Basic, когда мы работаем с текущим объектом. |
|||
36
Последняя_
Надежда 09.09.11
✎
14:37
|
(34) Собрался, собрался... разобрался ))) это про меня. Пятница же и еще 20 минут рабочего дня...
|
|||
37
Ткачев
09.09.11
✎
14:40
|
(0)Shift + F9 в отладчике и там переменную контекста.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |