![]() |
![]() |
![]() |
|
Расшифровка ячейки отчета новым отчетом возможна? | ☑ | ||
---|---|---|---|---|
0
ekat_kuzn
30.07.10
✎
13:25
|
Здравствуйте!
СКажите, пожалуйста, возможно ли без использования СКД сделать расшифровку ячеек отчета в виде карточки счета? |
|||
1
Grusswelle
30.07.10
✎
13:26
|
Возможно.
|
|||
2
Mitriy
30.07.10
✎
13:26
|
смотри типовую ОСВ в бухгалтерии...
|
|||
3
Невский Александр
30.07.10
✎
13:27
|
(0) а кто запрещает получить этот отчет, передать туда параметры?
Также в его модуле указать Сформировать() Экспорт и вызвать эту процедуру |
|||
4
Невский Александр
30.07.10
✎
13:28
|
(3) + ну и конечно открыть саму форму
Только не забудь при получении формы передать форму владельца и набрать "ЗакрыватьПриЗакрытииВладельца = ИСТИНА" |
|||
5
ekat_kuzn
30.07.10
✎
13:36
|
Спасибо. мой неверный вариант:
ПараметрыКарточкиСчета = Новый Соответствие; ПараметрыКарточкиСчета.Вставить("ИмяОбъекта", "КарточкаСчетаХозрасчетный"); ПараметрыКарточкиСчета.Вставить("ДатаНач", ДатаНач); ПараметрыКарточкиСчета.Вставить("ДатаКон", ДатаКон); ПараметрыКарточкиСчета.Вставить("Счет", ВыборкаСтрока.БС); ОписаниеТипаОрганизации = Новый ОписаниеТипов("СправочникСсылка.Организации"); ОрганизацияДляОтчета = ОписаниеТипаОрганизации.ПривестиЗначение(Организация); ПараметрыКарточкиСчета.Вставить("Организация", ОрганизацияДляОтчета); ОписаниеТипаКонтрагент = Новый ОписаниеТипов("СправочникСсылка.Контрагенты"); КонтрагентДляОтчета = ОписаниеТипаКонтрагент.ПривестиЗначение(ВыборкаСтрока.Контрагент); ПараметрыКарточкиСчета.Вставить("Контрагент", КонтрагентДляОтчета); ОтборПоКонтрагенту = новый соответствие; ОтборПоКонтрагенту.Вставить("Субконто1",ВыборкаСтрока.Контрагент); ПараметрыКарточкиСчета.Вставить("Отбор", ОтборПоКонтрагенту); Область3Строка.Параметры.Расшифр = ОткрытьОтчет(ПараметрыКарточкиСчета); Проблема в том, как параметру "Расшифр" присвоить ссылку на карточку счета. Сейчас открываются все карточки счета с отборами, а затем главный отчет. |
|||
6
Невский Александр
30.07.10
✎
13:43
|
(5)
Не пойму ... передай в Расшифр -> ПараметрКарточкиСчета, а затем в процедуре ОбработкаРасшифровки() допишешь свой кусок открытия второго отчета |
|||
7
ekat_kuzn
30.07.10
✎
14:14
|
"передай в Расшифр -> ПараметрКарточкиСчета" это так: Область3Строка.Параметры.Расшифр = ПараметрыКарточкиСчета;
если написать Область3Строка.Параметры.Расшифр = ПараметрыКарточкиСчета; то при нажатии на ячейку появляется окно со словом "соответствие" |
|||
8
Невский Александр
30.07.10
✎
14:22
|
(7) СтандартнаяОбработка = ЛОЖЬ;
Далеее смотри ПолеТабличногоДокумента.ОбработкаРасшифровки (SpreadsheetDocumentField.DetailProcessing) ПолеТабличногоДокумента (SpreadsheetDocumentField) ОбработкаРасшифровки (DetailProcessing) Синтаксис: ОбработкаРасшифровки(<Расшифровка>, <Стандартная обработка>) Параметры: <Расшифровка> Тип: Произвольный. Значение расшифровки ячейки или рисунка. <Стандартная обработка> Тип: Булево. В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет. Значение по умолчанию: Истина Описание: Возникает при двойном щелчке мыши (нажатии клавиши Enter) на ячейке или рисунке, которые содержат значение расшифровки. ///// Если ТипЗнч(Расшифровка) = Тип("Соответствие") Тогда ... определяешь структуру соответствия - если все ОК, все данные есть и это именно то соответствие, то и получаешь здесь форму отчета, передаешь параметры, владельца и открываешь форму |
|||
9
ekat_kuzn
30.07.10
✎
14:38
|
спасибо большое, не ожидала такого быстрого ответа.
так у меня из макета расшифровка, а не из формы. поля таб. документа нет(. |
|||
10
ekat_kuzn
30.07.10
✎
14:38
|
СКД не используется.
|
|||
11
Невский Александр
30.07.10
✎
14:50
|
(9) А какая разница? Или нельзя добавить на форму поле табл. документа?
|
|||
12
Невский Александр
30.07.10
✎
14:51
|
(10) Ну и получается - что СКД не ипользуется
В любом случае в 8.1 расшифровка работает ТОЛЬКО для поля табл. документа По-другому никак |
|||
13
ekat_kuzn
30.07.10
✎
15:19
|
т.е.вызывая для ячейки макета расшифровку, отчет-расшифровка будет на форме в поле табличного документа?
|
|||
14
ekat_kuzn
30.07.10
✎
15:20
|
нужно вызывать событие "ОбработкаРасшифровки" для поля таб документа?
|
|||
15
ekat_kuzn
30.07.10
✎
15:21
|
(13) странно
|
|||
16
ekat_kuzn
30.07.10
✎
15:22
|
вызывать тогда надо расшифровку из поля таб док-та и без макета, видимо
|
|||
17
ekat_kuzn
30.07.10
✎
15:24
|
если не вызывать событие "ОбработкаРасшифровки" поля табличного документа:
ЭтотОбъект.получитьформу().ЭлементыФормы.ПолеТабличногоДокумента1.ОбработкаРасшифровки(ПараметрыКарточкиСчета,ЛОЖЬ); Если ТипЗнч(ПараметрыКарточкиСчета) = Тип("Структура") ИЛИ ТипЗнч(ПараметрыКарточкиСчета) = Тип("Соответствие") Тогда Отчет = Отчеты[ПараметрыКарточкиСчета["ИмяОбъекта"]].Создать(); Отчет.Настроить(ПараметрыКарточкиСчета); ФормаОтчета = Отчет.ПолучитьФорму(, , Новый УникальныйИдентификатор()); ФормаОтчета.ПоказыватьЗаголовок = Истина; ФормаОтчета.ОбновитьОтчет(); ФормаОтчета.Открыть(); КонецЕсли; пишет "поле объекта недоступно для чтения" |
|||
18
ekat_kuzn
30.07.10
✎
15:25
|
(17) из модуля объекта
|
|||
19
Невский Александр
30.07.10
✎
15:28
|
(18) а на какую строку именно ругается?
|
|||
20
ekat_kuzn
30.07.10
✎
15:30
|
ЭтотОбъект.получитьформу().ЭлементыФормы.ПолеТабличногоДокумента1.ОбработкаРасшифровки(ПараметрыКарточкиСчета,ЛОЖЬ);
ПараметрыКарточкиСчета - соответствие, я проверяла |
|||
21
ekat_kuzn
30.07.10
✎
15:31
|
С учетом (4) про владельца:
ЭтотОбъект.получитьформу().ЭлементыФормы.ПолеТабличногоДокумента1.ОбработкаРасшифровки(ПараметрыКарточкиСчета,ЛОЖЬ); Если ТипЗнч(ПараметрыКарточкиСчета) = Тип("Структура") ИЛИ ТипЗнч(ПараметрыКарточкиСчета) = Тип("Соответствие") Тогда Отчет = Отчеты[ПараметрыКарточкиСчета["ИмяОбъекта"]].Создать(); Отчет.Настроить(ПараметрыКарточкиСчета); ФормаОтчета = Отчет.ПолучитьФорму(,ЭтотОбъект.получитьформу(), Новый УникальныйИдентификатор()); //* ФормаОтчета.ЗакрыватьПриЗакрытииВладельца = ИСТИНА; //* ФормаОтчета.ПоказыватьЗаголовок = Истина; ФормаОтчета.ОбновитьОтчет(); ФормаОтчета.Открыть(); КонецЕсли; |
|||
22
ekat_kuzn
30.07.10
✎
15:33
|
с чего ему не ругаться, если это просто поле таб док-та, с отчетом никак не связано(
|
|||
23
Невский Александр
30.07.10
✎
15:33
|
(20) потому что неправильно
Нельзя так делать |
|||
24
Невский Александр
30.07.10
✎
15:35
|
процедура ОбработкаРасшифровки у поля таб. документа является ЗАРЕЗЕРВированной (аналогично, также как и например, ПриОткрытии() у формы)
и параметры туда никакие передавать не надо - она сама использует два своих параметра Расшифровка и СтандартнаяОбработка |
|||
25
Невский Александр
30.07.10
✎
15:36
|
Соответственно и проверять надо будет не так ...
Если ТипЗнч(ПараметрыКарточкиСчета) = Тип("Структура") ИЛИ ТипЗнч(ПараметрыКарточкиСчета) = Тип("Соответствие") Тогда а вот так Если ТипЗнч(Расшифровка) = Тип("Структура") ИЛИ ТипЗнч(Расшифровка) = Тип("Соответствие") Тогда |
|||
26
ekat_kuzn
30.07.10
✎
15:39
|
Если ТипЗнч(Расшифровка) = Тип("Структура") ИЛИ ТипЗнч(Расшифровка) = Тип("Соответствие") Тогда - Переменная не определена (Расшифровка)
|
|||
27
ekat_kuzn
30.07.10
✎
15:49
|
не понимаю:
ЭтотОбъект.получитьформу().ЭлементыФормы.ПолеТабличногоДокумента1.ОбработкаРасшифровки(,ЛОЖЬ); - Возникает при двойном щелчке мыши (нажатии клавиши Enter) на ячейке или рисунке, которые содержат значение расшифровки. Значит, этот код должен располагаться в событии "обработкарасшифровки", а онсейчас в модуле объекта. |
|||
28
ekat_kuzn
30.07.10
✎
16:00
|
Процедура ПолеТабличногоДокумента1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
стандартнаяобработка=ложь; Если ТипЗнч(Расшифровка) = Тип("Структура") ИЛИ ТипЗнч(Расшифровка) = Тип("Соответствие") Тогда Отчет = Отчеты[Расшифровка["ИмяОбъекта"]].Создать(); Отчет.Настроить(Расшифровка); ФормаОтчета = Отчет.ПолучитьФорму(,ЭтотОбъект.получитьформу(), Новый УникальныйИдентификатор()); //* ФормаОтчета.ЗакрыватьПриЗакрытииВладельца = ИСТИНА; //* ФормаОтчета.ПоказыватьЗаголовок = Истина; ФормаОтчета.ОбновитьОтчет(); ФормаОтчета.Открыть(); КонецЕсли; КонецПроцедуры |
|||
29
ekat_kuzn
30.07.10
✎
16:01
|
В модуле объекта:
... ПараметрыКарточкиСчета.Вставить("Отбор", ОтборПоКонтрагенту); Область3Строка.Параметры.Расшифр = ПараметрыКарточкиСчета; ЭтотОбъект.получитьформу().ЭлементыФормы.ПолеТабличногоДокумента1.ОбработкаРасшифровки(); |
|||
30
ЗлобнийМальчик
30.07.10
✎
16:02
|
(0) это невозможно
|
|||
31
ekat_kuzn
30.07.10
✎
16:09
|
(24) если параметры не передавать, то как связать ячейку макета (данные о ней) и поле таб док-та?
|
|||
32
Невский Александр
30.07.10
✎
16:12
|
(31)
Делается так: В макете нужно задать "параметрРасшифровки", перадать туда твое соответствие Область.параметры.ПараметрыДляОтчета = параметрыКарточкиСчета; А в процедуре ОбработкаРасшифровки ты это соответствие сможешь получить как Расшифровка |
|||
33
ekat_kuzn
30.07.10
✎
16:21
|
в макете пар-тр расшифровки назван "Расшифр"
Область3Строка.Параметры.Расшифр = ПараметрыКарточкиСчета; (29) - так и написано отчет главный выводится, при нажатии на ячейку этого отчета выводится окно со словом "соответствие". еще раз: 1) в модуле объектанаписано: Область3Строка.Параметры.Расшифр = ПараметрыКарточкиСчета; //ЭтотОбъект.получитьформу().ЭлементыФормы.ПолеТабличногоДокумента1.ОбработкаРасшифровки(Область3Строка.Параметры.Расшифр,ПараметрыКарточкиСчета); 2) в модуле формы: Процедура ПолеТабличногоДокумента1ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) стандартнаяобработка=ложь; Если ТипЗнч(Расшифровка) = Тип("Структура") ИЛИ ТипЗнч(Расшифровка) = Тип("Соответствие") Тогда Отчет = Отчеты[Расшифровка["ИмяОбъекта"]].Создать(); Отчет.Настроить(Расшифровка); ФормаОтчета = Отчет.ПолучитьФорму(,ЭтотОбъект.получитьформу(), Новый УникальныйИдентификатор()); //* ФормаОтчета.ЗакрыватьПриЗакрытииВладельца = ИСТИНА; //* ФормаОтчета.ПоказыватьЗаголовок = Истина; ФормаОтчета.ОбновитьОтчет(); ФормаОтчета.Открыть(); КонецЕсли; КонецПроцедуры |
|||
34
ekat_kuzn
30.07.10
✎
16:23
|
у меня в 16-30 инет отключится, потом только вечером смогу зайти
|
|||
35
ekat_kuzn
30.07.10
✎
16:25
|
(32) вместо ПараметрыДляОтчета у меня Расшифр. верно?
|
|||
36
ekat_kuzn
30.07.10
✎
17:13
|
а вот и я
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |