|
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
|
проблема решилась ч/з дескриптор окна.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший