![]() |
|
v7: пропадает контекст в ячейке таблицы. | ☑ | ||
---|---|---|---|---|
0
vip03
03.09.15
✎
06:32
|
есть обработка. на форме реквизит "Рекв1"
код обработки: Процедура Сформировать() Контт=ВзятьКонтекст(Контекст); Сп=СоздатьОбъект("СписокЗначений"); Сп.ДобавитьЗначение(Контт,"Контекст"); ОткрытьФорму("Отчет", Сп, КаталогИБ()+"extforms\Отчет2.ert"); КонецПроцедуры вторая обработка содержит таблицу. код второй обработки: Перем Парам; //******************************************* Процедура ПриОткрытии() Парам=Форма.Параметр; КонецПроцедуры // ПриОткрытии //++++++++++++++++++++++++++++++++ Процедура Печать() Таб=СоздатьОбъект("Таблица"); _Конт=Парам.Получить("Контекст"); Расшифровка="Контекст"; знРасшифровки=СоздатьОбъект("СписокЗначений"); знРасшифровки.ДобавитьЗначение(_Конт, "Контекст"); // вот здесь _Конт = форма первой обработки Таб.ВывестиСекцию("Строка"); Таб.ТолькоПросмотр(1); Таб.Показать(); КонецПроцедуры // Печать //++++++++++++++++++++++++++++++++ Процедура ОбработкаЯчейкиТаблицы(Зн, ФлагСО, Таб, Адрес) ФлагСО=0; _Конт=Зн.Получить("Контекст"); // здесь _Конт пустой _Конт.Рекв1="ВВВ"; _Конт.Форма.Обновить(); КонецПроцедуры // ОбработкаЯчейкиТаблица как победить? |
|||
1
PuhUfa
03.09.15
✎
06:44
|
_Конт=Зн.Получить("Контекст");// здесь _Конт пустой
что за переменная "зн" из которой ты делаешь Получить()? |
|||
2
vip03
03.09.15
✎
06:49
|
зн - это СписокЗначений в расшифровке ячейки
|
|||
3
PuhUfa
03.09.15
✎
07:02
|
(2) а зачем вообще такие заморочки с передачей через ячейку? ПриОткрытии ты его получил, почему не работать с напрямую с ним?
|
|||
4
vip03
03.09.15
✎
07:07
|
есть документ, есть внешняя печатная форма.
если был клик на ячейке, у документа нужно изменить реквизит. |
|||
5
PuhUfa
03.09.15
✎
07:12
|
(4) Ну у тебя при открытии же:
Перем Парам; Процедура ПриОткрытии() Парам=Форма.Параметр; КонецПроцедуры// ПриОткрытии Почему в ОбработкаЯчейкиТаблицы() ты не хочешь работать с Парам? Процедура ОбработкаЯчейкиТаблицы(Зн, ФлагСО, Таб, Адрес) ФлагСО=0; _Конт=Парам.Получить("Контекст"); _Конт.Рекв1="ВВВ"; _Конт.Форма.Обновить(); КонецПроцедуры// ОбработкаЯчейкиТаблица |
|||
6
vip03
03.09.15
✎
07:18
|
потому что самой формы не существует. есть только таблица.
Процедура ПриОткрытии() Парм=Форма.Параметр; Печать(); СтатусВозврата(0); КонецПроцедуры |
|||
7
PuhUfa
03.09.15
✎
08:18
|
(6) Хм... без формы у меня 1С сразу выдает ошибку при попытки выполнить ОбработкаЯчейкиТаблицы()
|
|||
8
vip03
03.09.15
✎
08:43
|
ОбработкаЯчейки в глобальном модуле.
в код просто для примера поместил. |
|||
9
trdm
03.09.15
✎
08:49
|
Думаю контекст не сериализуется/десериализуется.
Сделай обработку с таблицей, а не таблицу. |
|||
10
trdm
03.09.15
✎
08:52
|
Имеется ввиду что он (контекст) не будет сериализоваться/десериализоватся из расшифровки ячейки таблицы.
|
|||
11
vip03
03.09.15
✎
08:54
|
(9) не понял. что значит "обработку с таблицей" ?
|
|||
12
vip03
03.09.15
✎
10:02
|
проблема решилась ч/з дескриптор окна.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |