Имя: Пароль:
1C
 
Открыть отчет
0 tonic
 
08.04.04
16:00
Привет ВСЕМ:))
Как открыть из отчета др. отчет, с передачей ему параметров.
КАК я прочитал это делаеться через Расшифровку, но я не как не могу занести в список значений параметры:( Может кто подскажет.
Спасибо.
1 kiwi
 
08.04.04
16:26
1.создать список
2.добавить в него значения
3.вызвать др. отчет типа того: ОткрытьФорму("ОбработкаТакаяТо", ТвойСписок)
2 mszsuz
 
08.04.04
16:29
Конфа какая?
3 NastyFrog
 
08.04.04
16:32
//В вызывающем - например, на форме есть Наименование="Вызывающий отчет"
Конт=глВзятьКонтекст(Контекст);
ОткрытьФорму("Отчет.ХХХ",Конт);//ХХХ-вид отчета для встроенного
ОткрытьФорму("Отчет",Конт,"c:\вызываемый.ert");// для внешнего
//В вызываемом
Сообщить(Форма.Параметр.Наименование);
// Выдаст - Вызывающий отчет
4 tonic
 
08.04.04
16:35
(1) АГА я так зделал так он мне окно предупреждения вываливает и пишел Список значений?!?!?!?!
Хотя я его не где об этом не просил:(
5 NastyFrog
 
08.04.04
16:37
Сорри. Невнимателен.
6 tonic
 
08.04.04
16:43
ААА люди, помогите,
С какой такой стати он у меня вываливает окно "Список значений"?
Что это?
7 NastyFrog
 
08.04.04
16:59
Попробуй
Сообщить(Форма.параметр.ПолучитьЗначение(1));
8 Рупор абсурда
 
08.04.04
17:00
(6) По двойному клику на ячейке таблицы?
9 NastyFrog
 
08.04.04
17:01
Вываливает "Список значений", как наименование всего объекта.
10 tonic
 
08.04.04
17:05
(8) АГА :(
11 Рупор абсурда
 
08.04.04
17:07
(10) А что интересного написано в процедуре ОбработкаЯчейкиТаблицы()?
12 tonic
 
08.04.04
17:13
Ура Все передает:)))
Теперь вопрос а как мне открывать вызываемый отчет чтобы сразу появлялась таблица?
(11)Процедура ОбработкаЯчейкиТаблицы(РасшифровкаРез, СтандартнаяОбработка, Таблица)
   Перем Отчет;
   Если ТипЗначенияСтр(РасшифровкаРез) = "СписокЗначения" Тогда
    СтандартнаяОбработка = 1;
    Возврат;
   КонецЕсли;
       ОткрытьФорму("Отчет.РезервыпоСчету", РасшифровкаРез);
КонецПроцедуры
13 Рупор абсурда
 
08.04.04
17:16
(12) Хм ... А судя по твоей ОбработкаЯчейкиТаблицы() нифиха ведь не передаёт ...
14 tonic
 
08.04.04
17:28
Почему, я же получаю переменные?
15 Рупор абсурда
 
08.04.04
17:29
(14) Хорошо! А что тогда скрывается за термином "передаёт"?
16 mszsuz
 
08.04.04
17:31
А я не ведь не зря в (2) про конфу спросил. Молчи ... Мучайся ...
17 tonic
 
08.04.04
17:34
(15)
из 1 отчета я беру название склада и товара
И передаю их через Список значений во второй отчет.
Во втором отчете я написал
Сообщить(Форма.параметр.ПолучитьЗначение(1));
И когда я в первом отчете кликаю на ячейку мне открываеться второй и выводиться данные переменной.
Разве не так должен работать?
18 Рупор абсурда
 
08.04.04
17:39
(16) Какая на фих разница?
Ну скажет он(а) какой-нить Срарус-Подрядчик Ассенизатор, чем это поможет?
(17) Это глюк!
19 tonic
 
08.04.04
17:42
(18) По поводу конфигурации Вы правы
(16) Я сам ее пишу, и стандартный конфы тут врятли помогут:))

(18) А что Вы можите подсказать?
20 Рупор абсурда
 
08.04.04
17:49
(19) Всё!
21 tonic
 
08.04.04
17:50
Спасибо за исчерпывающий ответ:))))
А что не хватает в данной процедуре?
22 Рупор абсурда
 
08.04.04
17:52
(21) Смысла ...
23 mszsuz
 
08.04.04
17:56
(18) Разница в том, что если конфа нормальная, можно соотвествующим образом заполнить глРасшифровку и установить глФлагРасшифровки=1, а потом просто открытьформу отчета.
А если ненормальная, то можно посмотреть, как это сделано в нормальных ...
24 Рупор абсурда
 
08.04.04
17:57
(23) В нормальных это сделано ненормально!
25 Рупор абсурда
 
08.04.04
17:58
(24)+ ... и делали это ненормальные!
26 tonic
 
08.04.04
17:59
(22) Очень ценное предложение, но позвольте я сам буду решать есть для меня смысл это делать или нет. Спасибо.

(23) Я смотрел, но уж очень там наворочено, а так как я только еще учюсь, то мне сложно разобраться в том что в типовых:((
Мне бы ченить попроще:)
27 Рупор абсурда
 
08.04.04
18:01
(26) Ты не согласен с тем, что в (12) бессмыслица?
28 tonic
 
08.04.04
18:05
Я не спорю может и бессмыслица, но если вы это утверждаете, то объесните почему.
29 Рупор абсурда
 
08.04.04
18:08
(28) В расшифровке СписокЗначений?
30 NastyFrog
 
08.04.04
18:12
Процедура ОбработкаЯчейкиТаблицы(РасшифровкаРез,1)
  Если ТипЗначенияСтр(РасшифровкаРез) = "СписокЗначения" Тогда
  ОткрытьФорму("Отчет.РезервыпоСчету", РасшифровкаРез);
КонецПроцедуры
// в Резервах по счету
Сообщить(Форма.параметр.ПолучитьЗначение(1));
Не так?
31 tonic
 
08.04.04
18:14
Простите я не понял, какя может быть расшифровка у Списка Значений.
Если вы намекаете что я не создаю Список Значений то Вы ошибаетесь, я его создаю но не в этой процедуре.
РасшивровкаРез = СоздатьОбъект("СписокЗначений");
РасшивровкаРез.Установить("выбсклад1" ,Запрос.Склад);
РасшивровкаРез.Установить("выбтовар1", Запрос.Товар);
32 Рупор абсурда
 
08.04.04
18:16
(30) Только флаг в 0 сбросить забыл ...
33 NastyFrog
 
08.04.04
18:19
Процедура ОбработкаЯчейкиТаблицы(<?>,,,)
КонецПроцедуры
Синтаксис:
ОбработкаЯчейкиТаблицы(<Значение>,<ФлагСтандОбраб>,<Таблица>,<Адрес>)
Назначение:
Предопределенная процедура обработки ячейки таблицы (по двойному щелчку мыши или по нажатию клавиши ''Enter'' в табличном документе на выбранной ячейке).
Параметры:
*********
<Значение> - здесь в процедуру передается вычисленное значение ячейки (задается в конфигураторе: ''Свойства'' ячейки, ''Текст'', ''Значение'').

В данном случае РасшифровкаРез.
То-бишь - список взятый из ячейки
*************
34 NastyFrog
 
08.04.04
18:22
(32) Сорри
35 Рупор абсурда
 
08.04.04
18:23
(32)+ ... забылА ...
36 NastyFrog
 
08.04.04
18:24
О чем ты забылА?
37 Рупор абсурда
 
08.04.04
18:26
(36) Насть, не тупи ..., это я поправился ...
38 NastyFrog
 
08.04.04
18:27
На сколько кг? Где-то в прессе было о склерозе у тучных
39 tonic
 
08.04.04
18:28
(30) В таком случае вообже не работает:((
40 Рупор абсурда
 
08.04.04
18:31
(39) Значит в расшифровке не СЗ сидит ...
41 tonic
 
08.04.04
18:32
А зачем флаг в 0 Сбрасывать?
42 Рупор абсурда
 
08.04.04
18:33
(41) Чтоб список не вылазил на экране ..., см. (6) ...
43 tonic
 
08.04.04
18:37
Он у меня и так не вываливался:)
Вот только не как не могу понять почему после вызова ОбработкиЯчейки, у меня второй отчет появляеться в виде формы, и тприходиться нажимать на кнопку:((
44 NastyFrog
 
08.04.04
18:38
ПриОткрытии()?
45 Рупор абсурда
 
08.04.04
18:39
(43) Я знаю, что перестал вываливаться ...
Из (12) понял ...
А ты по другой какой-нить ячейке с расшифровкой щёлкал?
46 tonic
 
08.04.04
18:39
Блин все....
В сообщениях все правильно выводиться то что я и нажимаю, а вот дальше в запрос толи неправильно передаеться толи еще черт знает что:((
47 Рупор абсурда
 
08.04.04
18:40
(43) Ты сперва с одним разберись ...
48 tonic
 
08.04.04
18:41
(45) Да шелкал.
49 Рупор абсурда
 
08.04.04
18:43
(48) Здорово, правда?
50 tonic
 
08.04.04
18:44
(44) Ну да когда я шелкаю на ячейке, поидее должен открываться таблица второго отчета, а у меняч открываеться форма этого отчета:(
51 tonic
 
08.04.04
18:47
(49) Прости я щаз сорказм не воспринимаю:)))))))
(44) Как я понял в модуле второго отчета мне надо создать процедуру при открытии?
И запихнуть туда обработку запроса и вывод таблицы?
52 NastyFrog
 
08.04.04
18:48
По моему да.
53 Рупор абсурда
 
08.04.04
18:49
(51) Нет!
54 Рупор абсурда
 
08.04.04
18:51
(53)+ Не бойся ... Я чтоб не шокировать тебя больше своим сарказмом, буду далее отвечать односложно ...
55 tonic
 
08.04.04
18:51
Мдааа.....
Здорово:))))
56 tonic
 
08.04.04
18:53
(54) Да я и не боюсь:))
Я просто совсем запутался:(
57 NastyFrog
 
08.04.04
18:58
Запрос в первом отчете, вывод таблицы во втором ПриОткрытии().
58 tonic
 
08.04.04
19:02
(57) А разве нельзя запрос во второй поместить, Чтобы его можно было открывать нетолько через первый но и отдельно?
59 NastyFrog
 
08.04.04
19:03
Можно, тада к чему первый?
60 tonic
 
08.04.04
19:04
И еше вопрос в догонку,
А можно Форма.параметр.ПолучитьЗначение(1) вместо 1 написать название переменной?
61 tonic
 
08.04.04
19:07
(59) Первый нужен для других целей.
62 NastyFrog
 
08.04.04
19:08
Не было известно как ты значения обзовешь. Пиши "выбсклад"
(ИМХО слово неприличное)
63 NastyFrog
 
08.04.04
19:09
тада ПриОткрытии проверяй как открыли
64 tonic
 
08.04.04
19:10
(62) Писал, так он зараза пишет что неправильно указан индекс:(((
65 NastyFrog
 
08.04.04
19:12
(60)Выдели слово, например ПолучитьЗначение и нажми Ctrl+F1
66 Рупор абсурда
 
08.04.04
19:13
Процедура Сформировать()
Т=СоздатьОбъект("Таблица");
А=Т.Область(2,2);
А.Текст="Кнопка";
А.ЦветФона(192,192,192);
А.Расшифровка("Здесь может быть любая хрень, например, твой СписокЗначений");
Т.ТолькоПросмотр(1);
Т.Показать();
КонецПроцедуры        
//----------
Процедура ОбработкаЯчейкиТаблицы(Зн,Фл,Т,Адр)
Если Адр<>"R2C2" Тогда Возврат КонецЕсли;
Фл=0; //Если не сбросишь флаг в 0, откроется диалог а-ля Предупреждение()
//Далее имеем значение из расшифровки
//Можно открыть какую-нить форму и передать в неё это значение
//Я просто тебе его сообщу ..., вдруг ты забыл уже :))
Сообщить(Зн);
КонецПроцедуры

Как разберёшся займёмся вплотную открываемым отчётом ...
67 NastyFrog
 
08.04.04
19:14
(64) Проверь по полученному в форму контексту
Если Форма.Параметр.Наименование="Вызывающий отчет" Тада
68 Рупор абсурда
 
08.04.04
19:22
(67) Ох, уж эта Настя ...
69 NastyFrog
 
08.04.04
19:31
(68)Сам научил. Спасибо.
70 Рупор абсурда
 
08.04.04
19:32
(69) Если ты сможешь получить имя отчета, я сниму шляпу ...
71 Рупор абсурда
 
08.04.04
19:33
(70)+ Да чё там шляпу ..., я ващще разденусь до гола!
72 NastyFrog
 
08.04.04
19:44
(71)Извиняюсь, не контекст же передаём.
В список добавить идентификатор отчета. Его проверить.
Продолжай быть в шляпе.
73 Рупор абсурда
 
08.04.04
19:46
(72) Нет ... Пусть контекст ... Узнаешь идентификатор отчёта по идентификатору, я съем свою шляпу ...
74 Рупор абсурда
 
08.04.04
19:47
(73)+ Тьфу, заговариваюсь от волнения ...
Узнать надо идентификатор отчёта по контекту этого отчета ...
75 NastyFrog
 
08.04.04
19:49
(73) Идентификатор узнавать не буду -ходи голодный. А из этого ли отчеты другой вызвали -узнаю.
76 NastyFrog
 
08.04.04
19:51
(75)+ Тоже тьфу. Из этого ли отчета.
77 Рупор абсурда
 
08.04.04
19:51
(75) По контексту?
78 NastyFrog
 
08.04.04
19:59
(77) Первый отчет имеет поле ИдОтчета равное допустим "1"
Конт=глВзятьКонтекст(Контекст);
ОткрытьФорму("Отчет.ВторойОтчет",конт);
//во втором
Сообщить(Форма.Параметр.ИдОтчета);
?
79 Рупор абсурда
 
08.04.04
20:13
(78) И ты полагаешь, что в другом каком-нить отчете ни в коем случае не может существовать поле ИдОтчета?
Наивная ты девушка ... :))
80 NastyFrog
 
08.04.04
20:20
(78)И его значение "1?(346735"%:?);(*(;:ЦН%;Рц47чаноFU26%$)%^&^%#"&" ?
(Не во всей вселенной и в граниченный промежуток времени)
81 NastyFrog
 
08.04.04
20:28
(79) Пойду придумывать наиуникальнейший идентификатор для отчета. И процедуру проверки его на уникальность в пределах солненой системы.
82 Рупор абсурда
 
08.04.04
20:31
(80,81) Да правильно всё ... Только так и можно ... Это всё мой сарказм, будь ему неладно ... :))
83 NastyFrog
 
08.04.04
20:33
(82)Голодный, в шляпе и с неладным сарказмом. До завтра.
84 Рупор абсурда
 
08.04.04
20:34
(83) Пока ...