Имя: Пароль:
1C
 
УФ и ключи записей, как с ними работать?
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
Функция РазложитьТЗ(ТЗ) Экспорт
    мТЗ=Новый Массив;
    
    Для каждого Стр Из ТЗ Цикл
        струкСтрока=Новый Структура;
        Для каждого Кол Из ТЗ.Колонки Цикл
            СтрукСтрока.Вставить(Кол.Имя,Стр[Кол.Имя]);
        КонецЦикла;    
        мТЗ.Добавить(струкСтрока);
    КонецЦикла;
    
    Возврат мТЗ
    
КонецФункции    

//
полученый массив структур перебирается на клиенте так же как ТЗ через Для Каждого