|
v7: Работа с расшифровкой! | ☑ | ||
---|---|---|---|---|
0
TwoWorld
29.11.11
✎
12:42
|
Мне нужно, при клике на ячейку вызывать отчет!
Создал Сз, далее при выводе группировки пишу: СЗДляОтчетовОСостоянии.ДобавитьЗначение(ПечЗаявка,"СостояниеЗаявки"); И потом в Процедура ОбработкаЯчейкиТаблицы(Расшифровка, СтандартнаяОбработка, Таблица,Адрес) Экспорт Если ТипЗначенияСтр(Расшифровка) = "СписокЗначений" Тогда ДокументЗаявки = Расшифровка.Получить("СостояниеЗаявки"); СЗпараметров = СоздатьОбъект("СписокЗначений"); Сзпараметров.ДобавитьЗначение(ДокументЗаявки,"ВыбДокумент"); ОткрытьФорму("Отчет.СостояниеЗаявки",СЗпараметров); КонецЕсли; КонецПроцедуры // ОбработкаЯчейкиТаблицы Что делаю не так? |
|||
1
Aleksey
29.11.11
✎
12:43
|
а что тебе не нравится? Пока что все хорошо, продолжай наблюдение
|
|||
2
TwoWorld
29.11.11
✎
12:44
|
мне не нравится то, что при клике на любую ячейку один и тот же документ выдает
|
|||
3
ДенисЧ
29.11.11
✎
12:45
|
ПечЗаявка.ТекущийДокумент()
|
|||
4
TwoWorld
29.11.11
✎
12:46
|
Он в процедуру один и тот же документ в расшифровку кидает!
|
|||
5
TwoWorld
29.11.11
✎
12:48
|
И 2 момент, как сделать : мне нужно при клике на 1 ячейку один отчет вызывать, при клике на другую - другую
|
|||
6
filh
29.11.11
✎
12:51
|
(5) проверяй расшифровку
|
|||
7
TwoWorld
29.11.11
✎
12:52
|
так а почему один и тот же документ выводит при клике на разные ячейки
|
|||
8
filh
29.11.11
✎
12:53
|
(7) см (3)
|
|||
9
Aleksey
29.11.11
✎
12:53
|
(5) У тебя же есть Адрес, вот и смотри. Или в расшифровку добавь флаг какой нибудь
|
|||
10
TwoWorld
29.11.11
✎
12:55
|
причем тут текущийДокумент()? я его вот тут получаю из списка:
Если ТипЗначенияСтр(Расшифровка) = "СписокЗначений" Тогда ДокументЗаявки = Расшифровка.Получить("СостояниеЗаявки"); СЗпараметров = СоздатьОбъект("СписокЗначений"); Сзпараметров.ДобавитьЗначение(ДокументЗаявки,"ВыбДокумент"); ОткрытьФорму("Отчет.СостояниеЗаявки",СЗпараметров); КонецЕсли; |
|||
11
Aleksey
29.11.11
✎
12:56
|
(10) Потому что при заполнении ты один и тот же документ пихаешь во все ячейки
|
|||
12
TwoWorld
29.11.11
✎
12:56
|
я понял
|
|||
13
Aleksey
29.11.11
✎
12:57
|
Чтобы это избежать при заполнении используй ТекущийДокумент()
|
|||
14
TwoWorld
29.11.11
✎
12:58
|
а подскажите еще: мне нужно открыть отчет с заполнеными параметрами которые я передаю, а у меня ни чего почему то не передается
|
|||
15
ДенисЧ
29.11.11
✎
12:58
|
не так передаёшь, видать...
|
|||
16
TwoWorld
29.11.11
✎
13:01
|
(15) в список значений, а как же по другому то?
|
|||
17
ДенисЧ
29.11.11
✎
13:02
|
(16) Нам отсюда не видно, как передаёшь, как получаешь...
|
|||
18
TwoWorld
29.11.11
✎
13:04
|
СЗпараметров = СоздатьОбъект("СписокЗначений");
Сзпараметров.ДобавитьЗначение(ДокументЗаявки,"ВыбДокумент"); ОткрытьФорму("Отчет.СостояниеЗаявки",СЗпараметров); так передаю! |
|||
19
Ёпрст
29.11.11
✎
13:07
|
(18) дурила, нужно показать, как ты изначально СЗДляОтчетовОСостоянии.ДобавитьЗначение(ПечЗаявка,"СостояниеЗаявки");
делаешь и как ты секции выводишь. + Нужно не ДобавитьЗначение делать а Установить, а сйчас у теб я в списке куча документов с ОДИНАКОВЫМ представлением "СостояниеЗаявки", по которому ты всегда получаешь первый документ из списка. |
|||
20
TwoWorld
29.11.11
✎
13:10
|
(19)
СЗДляОтчетовОСостоянии.Установить("Документ",ПечЗаявка); СЗДляОтчетовОСостоянии.Установить("Отчет","По состоянию оплаты"); Вот как я делаю |
|||
21
Ёпрст
29.11.11
✎
13:12
|
(20) да ну ? А в (0) нагло врешь значит ?! :))
|
|||
22
Cthulhu
29.11.11
✎
13:17
|
прочитать (3) по слогам ещё не советовали?..
|
|||
23
TwoWorld
29.11.11
✎
13:17
|
(21) изначально я в (0) делал так и написал, щас все работает правильно, вот осталось параметры как то передать, как мне получить параметры в вызываемом отчете :
В вызываемом отчете: Процедура ПриОткрытии(ФлагВосстановленияНастройки) Если глФлагРасшифровки = 1 Тогда Обновить = глОбновить; // восстанавливаем настройки из списка ДатаКонца = глРасшифровка.Получить("ДатаКонца"); ВыбДокумент = глРасшифровка.Получить("ВыбДокумент"); ВыбНоменклатура = глРасшифровка.Получить("ВыбНоменклатура"); Режим = глРасшифровка.Получить("Режим"); Если Режим = "По документам" Тогда ПоДокументам(); СтатусВозврата(0); Возврат; КонецЕсли; Если Обновить <> 0 Тогда Таб = глТаблица; КонецЕсли; Если Обновить <> 2 Тогда Сформировать(); СтатусВозврата(0); Возврат; КонецЕсли; Иначе Обновить = 0; КонецЕсли; КонецПроцедуры // ПриОткрытии() |
|||
24
Ёпрст
29.11.11
✎
13:19
|
(23)ты определись, тебе передать надо или получить.
А так, что передал - то и получил. Не вижу никаких проблем в этом действии. |
|||
25
TwoWorld
29.11.11
✎
13:21
|
(24) мне надо при нажатии на ячейку, открыть другой отчет , по тому документу, который я перад в отчет
|
|||
26
Ёпрст
29.11.11
✎
13:21
|
(23) Либо ты передаешь всё через контекст формы и пользуешься Форма.Параметр, либо как у тебя в (23) - глобальная экспортная переменная глРасшифровка, которая представляет собой список значений.именно её нужно заполнять в ОбработкаЯчейкиТаблицы в таком случае.
|
|||
27
TwoWorld
29.11.11
✎
13:23
|
понял , а что делать с глФлагРасшифровки? при открытии он 0
|
|||
28
Ёпрст
29.11.11
✎
13:25
|
(27)вестимо его в 1 заточить в обработке ячейки таблицы
|
|||
29
TwoWorld
29.11.11
✎
13:38
|
не взлетает что то:
глФлагРасшифровки = 1; СЗпараметров = СоздатьОбъект("СписокЗначений"); Сзпараметров.ДобавитьЗначение(ДокументОплаты,глРасшифровка.Установить("ВыбДокумент")"); Сзпараметров.ДобавитьЗначение("По документам",глРасшифровка.Установить("Режим")"); |
|||
30
TeddySlaf
29.11.11
✎
13:39
|
(0) простите, читал не всё.
Автор точно уверен, что в разных ячейках хранятся разные расшифровки? Возможно неправильно заполлняетя расшифровками сама таблица? |
|||
31
TwoWorld
29.11.11
✎
13:41
|
Передача параметров не работает:
глФлагРасшифровки = 1; СЗпараметров = СоздатьОбъект("СписокЗначений"); Сзпараметров.ДобавитьЗначение(ПолучитьПустоеЗначение(Дата()),"глРасшифровка.Установить("ДатаКонца")"); Сзпараметров.ДобавитьЗначение(ДокументОплаты,"глРасшифровка.Установить("ВыбДокумент")"); Сзпараметров.ДобавитьЗначение("По документам","глРасшифровка.Установить("Режим")"); Сзпараметров.ДобавитьЗначение(ПолучитьПустоеЗначение("Справочник.Номенклатура"),"глРасшифровка.Установить("ВыбНоменклатура")"); ОткрытьФорму("Отчет.СостояниеЗаявки",СЗпараметров); |
|||
32
TeddySlaf
29.11.11
✎
13:42
|
(25) точно ли в каждую ячейку передана своя расшифровка, помимо отображаемого текста?
|
|||
33
Ёпрст
29.11.11
✎
13:42
|
(29) ёпта, это же надо такой извращенный ум иметь ?!
И потом в Процедура ОбработкаЯчейкиТаблицы(Расшифровка, СтандартнаяОбработка, Таблица,Адрес) Экспорт Если ТипЗначенияСтр(Расшифровка) = "СписокЗначений" Тогда глФлагРасшифровки = 1; глРасшифровка.Установить("ДатаКонца",ДатаКонца); глРасшифровка.Установить("ВыбДокумент",Расшифровка.Получить("СостояниеЗаявки")); ........... ОткрытьФорму("Отчет.СостояниеЗаявки"); КонецЕсли; КонецПроцедуры |
|||
34
filh
29.11.11
✎
13:43
|
(31) открой лубую типовую уже. Там все есть!
|
|||
35
filh
29.11.11
✎
13:45
|
А можно и через параметр формы передать
|
|||
36
TeddySlaf
29.11.11
✎
13:46
|
(33) поосторожней надо быть с таким подходом как глФлагРасшифровки.
В его случае хватит и стандартно поддерживаемой Форма.Параметр. |
|||
37
TeddySlaf
29.11.11
✎
13:47
|
Автор ответь на (32)
|
|||
38
TwoWorld
29.11.11
✎
13:47
|
(33) глРасшифровка.Установить("ВыбДокумент",Расшифровка.ПолучитьЗначение(1,));
{C:\USERS\АЛЕКСЕЙ\DESKTOP\ОТЧЕТ_ЗАЯВКИ ПОКУПАТЕЛЕЙ В РАБОТЕ.ERT(1156)}: Значение не представляет агрегатный объект (Установить) |
|||
39
TwoWorld
29.11.11
✎
13:49
|
(38) глФлагРасшифровки = 1;
глРасшифровка.Установить("ВыбДокумент",Расшифровка.ПолучитьЗначение(1,)); ОткрытьФорму("Отчет.СостояниеЗаявки"); |
|||
40
Ёпрст
29.11.11
✎
13:49
|
(38) :)))
Дык глРасшифровка = СоздатьОбъект("СписокЗначений") сделай. |
|||
41
Ёпрст
29.11.11
✎
13:49
|
+40 один раз в приоткрытии отчета.
|
|||
42
TeddySlaf
29.11.11
✎
13:50
|
(40) НЕ НАДО направлять неокрепший ум по этому направлению: передачу параметров через глобальную переменную! , когда есть спецмальный способ передачи параметра при вызове Обработки.
|
|||
43
TeddySlaf
29.11.11
✎
13:51
|
(41) не при открытии отчета, а как глобальная во всей конфе!
|
|||
44
Ёпрст
29.11.11
✎
13:51
|
(42) надо федя, надо.
У него уже сам отчет заточен под работу с глРасшифровка, смотри (23) |
|||
45
TeddySlaf
29.11.11
✎
13:52
|
Автор ответь на (37)
|
|||
46
filh
29.11.11
✎
13:53
|
(41) ставлю, что глРасшифровка у него не глобальная
:) |
|||
47
TeddySlaf
29.11.11
✎
13:54
|
(38) а его АЛЕКСЕЙ зовут.
|
|||
48
TwoWorld
29.11.11
✎
13:57
|
Вообщем в отчет попадает, и там сразу выдает:
ДатаКонца = глРасшифровка.Получить("ДатаКонца"); {Отчет.СостояниеЗаявки.Форма.Модуль(323)}: Значение не представляет агрегатный объект (Получить) Хотя глРасшифровка объявил и написал: глФлагРасшифровки = 1; глРасшифровка.Установить("ДатаКонца",ПолучитьПустоеЗначение(ТекущаяДата())); глРасшифровка.Установить("ВыбДокумент",Расшифровка.ПолучитьЗначение(1,)); глРасшифровка.Установить("ВыБНоменклатура",ПолучитьПустоеЗначение("Справочник.Номенклатура")); глРасшифровка.Установить("Режим","По документам"); |
|||
49
filh
29.11.11
✎
13:59
|
бинго!
|
|||
50
filh
29.11.11
✎
14:00
|
(48) глобальной сделай глРасшифровка
|
|||
51
Ёпрст
29.11.11
✎
14:01
|
(48) в глобальничек добавь
Перем глРасшифровка Экспорт; Перем глФлагРасшифровки Экспорт; |
|||
52
filh
29.11.11
✎
14:01
|
в глобальном модуле
Перем глРасшифровка; экспорт и самой нижней строчной к глобальнике глРасшифровка = СоздатьОбъект("СписокЗначений"); |
|||
53
TeddySlaf
29.11.11
✎
14:02
|
Автор ответь на (45).
точно ли в каждую ячейку передана своя расшифровка, помимо отображаемого текста? |
|||
54
filh
29.11.11
✎
14:03
|
(53) да с этим разобрались уже
|
|||
55
filh
29.11.11
✎
14:04
|
(52) опа, ; не туда ткнул
:) |
|||
56
TwoWorld
29.11.11
✎
14:08
|
В глобальном модуле это есть
|
|||
57
TwoWorld
29.11.11
✎
14:09
|
(51),(52)это сдандартно заложено
|
|||
58
TeddySlaf
29.11.11
✎
14:11
|
(57) тогда этого не должно быть в вызываемой обработке!
|
|||
59
filh
29.11.11
✎
14:23
|
(58) мдя, через параметр быстрей дошло бы...
|
|||
60
TeddySlaf
29.11.11
✎
14:33
|
(59) не только быстрей, но и логичнее и системнее и правильнее.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |