Упр.форма. Реквизит типа Хранилище зничения в ТЧ. Не получается
☑
0
ilpar
22.09.11
✎
14:28
В общем есть код. Не могу пока догнать почему не работает
&НаКлиенте
Процедура ТестНаКлиенте
ПоместитьАдресВХранилищеНаСервере(Результат, Элементы.абМестаПогрузкиРазгрузки.ТекущаяСтрока);
//Тут получаем неопределено
абАдресТЗ=абПолучитьАдресИзТекущейСтрокиТЧ(Элементы.абМестаПогрузкиРазгрузки.ТекущаяСтрока);
КонецПроцедуры
&НаСервере
Процедура ПоместитьАдресВХранилищеНаСервере(Результат, НомерСтроки)
абОбъект=РеквизитФормыВЗначение("Объект");
ХранилищеАдреса=Новый ХранилищеЗначения(Результат.ЗначенияПолей);
СтрокаТЧ=абОбъект.абТЗ[НомерСтроки];
СтрокаТЧ.абАдресСтруктура=ХранилищеАдреса;
//абТЗ=СтрокаТЧ.абАдресСтруктура.Получить();
//Если этот код раскомментировать, то получим нужный результат, т.е. ТЗ
ЗначениеВРеквизитФормы(абОбъект,"Объект");
КонецПроцедуры// абНовыйХранилищеЗначенияНаСервере(Результат)()
&НаСервере
Функция абПолучитьАдресИзТекущейСтрокиТЧ(НомерСтроки)
абОбъект=РеквизитФормыВЗначение("Объект");
СтрокаТЧ=абОбъект.абТЧ[НомерСтроки];
абТЗ=СтрокаТЧ.абАдресСтруктура.Получить();
Возврат абТЗ;
КонецФункции // абПолучитьАдресИзТекущейСтрокиТЧ()
1
ilpar
22.09.11
✎
14:28
Блин , счас исправлю первую процедуру
2
ilpar
22.09.11
✎
14:29
&НаКлиенте
Процедура ТестНаКлиенте
//Результат - это Структура, данные есть
//Результат.ЗначенияПолей - это ТЗ
ПоместитьАдресВХранилищеНаСервере(Результат, Элементы.абТЗ.ТекущаяСтрока);
//Тут получаем неопределено
абАдресТЗ=абПолучитьАдресИзТекущейСтрокиТЧ(Элементы.абТЗрузкиРазгрузки.ТекущаяСтрока);
КонецПроцедуры
3
ilpar
22.09.11
✎
14:30
еще одно исправление
&НаКлиенте
Процедура ТестНаКлиенте
//Результат - это Структура, данные есть
//Результат.ЗначенияПолей - это ТЗ
ПоместитьАдресВХранилищеНаСервере(Результат, Элементы.абТЗ.ТекущаяСтрока);
//Тут получаем неопределено
абАдресТЗ=абПолучитьАдресИзТекущейСтрокиТЧ(Элементы.абТЗ.ТекущаяСтрока);
КонецПроцедуры
4
ilpar
22.09.11
✎
15:30
Как я понял, когда делаю
5
ilpar
22.09.11
✎
15:31
ЗначениеВРеквизитФормы(абОбъект,"Объект");
У меня т.к. документ не записан - реквизит очищается
6
ilpar
22.09.11
✎
15:31
т..к. когда после присвоения реквизиту ТЧ значения и записи документа все сохраняется, как обойти ?
7
H A D G E H O G s
22.09.11
✎
15:35
(6) Хранить до ПередЗаписьюНаСервере() в временном гнобилище
8
ilpar
22.09.11
✎
15:51
нужно для каждой строки ТЧ хранить Адрес.
Строки могут отсортировать ?
Как хранить ?
9
ilpar
22.09.11
✎
16:02
придумал, нахер хранилище
10
Defender aka LINN
22.09.11
✎
16:03
ПоместитьАдресВХранилищеНаСервере(Результат, Элементы.абТЗ.ТекущаяСтрока);
...
СтрокаТЧ=абОбъект.абТЗ[НомерСтроки];
Вам таки кто-то сказал, что в "ТекущаяСтрока" будет индекс строки? Плюньте ему в лицо.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший