|
8.2 Не могу записать в реквизит типа хранилище профи подскажите | ☑ | ||
---|---|---|---|---|
0
vladnet
24.10.11
✎
15:12
|
Предыстория, нужно в справочник реквизит табличной части типа хранилище значения, засунуть значение (тип в данном контексте не важен), вроде все форумы уже перекопал и делаю как там написано.
Но тестовый код: лОбъект=РеквизитФормыВЗначение("НаборОбъект"); Сообщить(ТипЗнч(лОбъект.Назначения[0].НастройкиОтбора.Получить())); лОбъект.Назначения[0].НастройкиОтбора=Новый ХранилищеЗначения("ыфваы"); ЗначениеВРеквизитФормы(лОбъект, "НаборОбъект"); лОбъект=РеквизитФормыВЗначение("НаборОбъект"); Сообщить(ТипЗнч(лОбъект.Назначения[0].НастройкиОтбора.Получить())); возвращает мне: Настройки компоновки данных Настройки компоновки данных а мне нужно чтобы во втором случае была строка если в управляемых формах разбираетесь хорошо - подскажите вроде должна быть мелочь |
|||
1
vladnet
24.10.11
✎
15:47
|
вверх, может кто то знает (
|
|||
2
izekia
24.10.11
✎
15:49
|
то что такое??
лОбъект.Назначения[0].НастройкиОтбора=Новый ХранилищеЗначения("ыфваы"); |
|||
3
vmv
24.10.11
✎
15:50
|
ЗначениеВРеквизитФормы(лОбъект, "НаборОбъект");
Сообщить(ТипЗнч(лОбъект.Назначения[0].НастройкиОтбора.Получить())); эти две команды в одном куске коде как бы говорят нам, что автор еще не разобрался, что исполняется на сервере, а что на клиенте. когда разбереться можно искать ошиьки и давать советы |
|||
4
izekia
24.10.11
✎
15:54
|
(3) я вообще немного непонял что этим кодом автор хотел сказать ... и ведь не пятница еще вроде
|
|||
5
vladnet
24.10.11
✎
16:10
|
В справочнике есть табличная часть с реквизитом типа Хранилище значений. Мне нужно по действию пользователя поменять этот реквизит в определенной строке.
Код отладочный, я вырезал все ненужное. Сообщить там для того чтобы показать что значение не меняется. Кстати сообщить прекрасно работает и на клиенте и на сервере. |
|||
6
vladnet
24.10.11
✎
16:18
|
(2) Поясню: Назначения - табличная часть, НастройкиОтбора - реквизит типа хранилища значений
в хранилище значения записывается строка для теста |
|||
7
vladnet
24.10.11
✎
16:18
|
(3) А почему эти 2 команды не могут сочетаться? Обе могут быть выполнены на сервере
|
|||
8
Defender aka LINN
24.10.11
✎
16:21
|
Перед записью на сервере это делай
|
|||
9
izekia
24.10.11
✎
16:26
|
(3) а, кстати, сообщить же работает на сервере
|
|||
10
izekia
24.10.11
✎
16:30
|
(0) а тебе не ДанныеФормыВЗначение надо использовать?
|
|||
11
izekia
24.10.11
✎
16:30
|
(10)2(6)
|
|||
12
vladnet
24.10.11
✎
16:31
|
(8) Тогда придется отдельный массив хранить для табличной части?
вот тут например написан пример когда это вроде как работает, по уверениям автора: http://www.1c-pro.ru/index.php?showtopic=35107 |
|||
13
vladnet
24.10.11
✎
16:36
|
(10) попробовал тоже самое
лОбъект=ДанныеФормыВЗначение(НаборОбъект, Тип("СправочникОбъект.НаборыСвойств")); Сообщить(ТипЗнч(лОбъект.Назначения[0].НастройкиОтбора.Получить())); лОбъект.Назначения[0].НастройкиОтбора=Новый ХранилищеЗначения("ыфвафывафывафы"); ЗначениеВДанныеФормы(лОбъект, НаборОбъект); лОбъект=ДанныеФормыВЗначение(НаборОбъект, Тип("СправочникОбъект.НаборыСвойств")); Сообщить(ТипЗнч(лОбъект.Назначения[0].НастройкиОтбора.Получить())); |
|||
14
vladnet
24.10.11
✎
16:36
|
результат тот же
|
|||
15
izekia
24.10.11
✎
16:43
|
погоди, а с чего ты взял, что в настройки отбора ты можешь записать другое значение?
|
|||
16
izekia
24.10.11
✎
16:48
|
(15) немного не в тему, сорри
|
|||
17
vmv
24.10.11
✎
16:59
|
что касается отбора, то он на компоновке в 8.2. и уставливается так
//ЭлементыОтбора = МенеджерФорма.Список.Отбор.Элементы; //ЭлементыОтбора.Очистить(); // //Для каждого ЭлементСтруктуры Из СтруктураОтбора Цикл // ЭлементОтбораДанных = ЭлементыОтбора.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); // ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ЭлементСтруктуры.Ключ); // ЭлементОтбораДанных.Использование = Истина; // ЭлементОтбораДанных.ПравоеЗначение = ЭлементСтруктуры.Значение; // Если ТипЗнч(ЭлементСтруктуры.Значение) = Тип("СписокЗначений") Тогда // ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; // Иначе // // по умолчанию вид сравнения "Равно" // КонецЕсли; //КонецЦикла; что касается Сообщить(), то как правило сервер - это сервер, он должен работать, а не выводить сообщения. да и с адресом временного хранилища тоже разберитесь |
|||
18
izekia
24.10.11
✎
17:01
|
(17) это не отбор, это у него так реквизит табличной части называется
|
|||
19
vladnet
24.10.11
✎
17:06
|
(17) Тут вопрос не в отборе, а в том что в Хранилище не могу значение установить. Тут идея такая пользователь кликает на выбор в табличной части представления, отрывается окно с выбором отборов, и после того как пользователь введет, я запихаю данные в строку, а при записи формы уже запишу.
По поводу сообщить - это тест, конечно потом уберу от туда сообщение. Что значит адрес временного хранилища? Сори пока не везде въезжаю в управляемое приложение. |
|||
20
vladnet
24.10.11
✎
17:07
|
Пока абсолютно без разницы что там находится, главное как поменять.
|
|||
21
vmv
24.10.11
✎
17:14
|
у меня с Тз так работает, в регистр сведений я пишу неважно где и как в ресурс типа "Хранилище..." таблицу значений
ЗаписьНабора.СохраненнаяТаблицаВИ = Новый ХранилищеЗначения(Тз, Новый СжатиеДанных()); Затем на обработчик начало выбора строки в таблице форме, которая показывает измерения этого регистра я вешаю ОтборЗаписей = Новый Структура; ОтборЗаписей.Вставить("ИмяИсточника", ИмяИсточника); ОтборЗаписей.Вставить("ИмяТаблицы" , ИмяТаблицы ); Тз = РегистрыСведений.AddЧНГТаблицыИзВнешнихИсточников.Получить(ОтборЗаписей)[ИмяРесурса].Получить(); ЗначениеВРеквизитФормы(ТзИсточника, ИмяТаблицыФормы); и все работает Важно: структуры колонок(ИМЕНА и ТИПЫ) таблицы значений на форме и полученная из храненнища должны ТОЧЬ-В-ТОЧЬ совпадать, иначе будет молчаливый плевок в виде пустой таблицы или исключение в худщем случае. Я формирую структура ТаблицаФормы динамически - посему проблем нет. В вашем случае проверьте в отладчике структуру РеквизитФормыВЗначение("ВашаТаблица") и ТзПолученнаяИзСохранения. усе, больше вариантов нету |
|||
22
vmv
24.10.11
✎
17:15
|
и СжатиеДанных не забывайте, управляемая к нему иногда критичка, особенно в тонком и веб
|
|||
23
vladnet
24.10.11
✎
17:52
|
Да у меня не тз, а табличное поле
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |