|
УФ и ключи записей, как с ними работать? |
☑ |
0
vde69
14.03.17
✎
15:12
|
есть обработка на УФ на ней (на сервере) заполняю ТЗ, в ТЗ есть специфическая колонка с типом "КлючЗаписиРегистра", эту таблицу мне нужно использовать при интерактивных действиях.
Что я пробовал
1. Создать ТЧ у обработки - нету моего типа данных
2. Создать реквизит формы с колонками с типом "произвольный" - выдает ошибку типов
3. в модуле объекта создать ТЗ и дальше ее использовать в форме, не выходит, ибо не получается обновить "Объект"
какие варианты?
|
|
1
vde69
14.03.17
✎
15:27
|
почему не работает код
мОбъект = РеквизитФормыВЗначение("Объект");
....
мОбъект.ВсеРегистры.Добавить();
....
ЗначениеВРеквизитФормы(мОбъект, "Объект");
// вот тут мОбъект.ВсеРегистры - содержит строки
мОбъект = РеквизитФормыВЗначение("Объект");
// а вот тут мОбъект.ВсеРегистры - пустой
|
|
2
DmitrO
14.03.17
✎
15:33
|
(0)проверил, у меня способ 2 работает.
|
|
3
RomanYS
14.03.17
✎
15:50
|
(0) конвертировать КлючЗаписи в структуру и использовать ее
|
|
4
Fedor-1971
14.03.17
✎
17:21
|
(0) Если в твоей ТЗ есть все ключевые поля регистра сведений, то работай себе на здоровье интерактивно и когда будешь отрабатывать результат построишь свой КлючЗаписиРегистра, если он тебе будет нужен.
Если нет то (3) - Структура точно подходит для передачи Клиент-Сервер
|
|
5
FIXXXL
14.03.17
✎
17:46
|
(0) ЗначениеВСтрокуВнутр?
|
|
6
RomanYS
14.03.17
✎
17:49
|
(5) на клиенте?
|
|
7
FIXXXL
15.03.17
✎
08:38
|
(6) на сервере
на клиента строка поедет
|
|
8
RomanYS
15.03.17
✎
08:50
|
(7) а что с ней на клиенте делать? ТС нужно "нужно использовать при интерактивных действиях"
|
|
9
Fedor-1971
15.03.17
✎
09:00
|
(8) интерактивно ТС будет работать с таблицей, как я понял, он хочет для каких-то целей сохранить КлючЗаписиРегистра. Вот этот ключ, существует НаСервере, а НаКлиента не передаётся.
Ситуация подобна проблеме с ТаблицаЗначений - НаСервере есть, а НаКлиента не отправляется.
|
|
10
FIXXXL
15.03.17
✎
09:12
|
(8) в душе не чаю
а что вообще может сказать пользователю такой Ключ? что пользователь будет с ним делать? думаю ничего не будет, и поле это нужно для синхронизации
для такой цели костыль с ЗначениеВСтрокуВнутр вполне проканает
|
|
11
h-sp
15.03.17
✎
09:39
|
(1) так он и должен быть пустой. Это же два разных мОбъекта. Два клона.
|
|
12
Рэйв
15.03.17
✎
09:42
|
Функция РазложитьТЗ(ТЗ) Экспорт
мТЗ=Новый Массив;
Для каждого Стр Из ТЗ Цикл
струкСтрока=Новый Структура;
Для каждого Кол Из ТЗ.Колонки Цикл
СтрукСтрока.Вставить(Кол.Имя,Стр[Кол.Имя]);
КонецЦикла;
мТЗ.Добавить(струкСтрока);
КонецЦикла;
Возврат мТЗ
КонецФункции
//
полученый массив структур перебирается на клиенте так же как ТЗ через Для Каждого
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший