Имя: Пароль:
1C
1С v8
заполнить колонку табличной части УФ
0 bfss-732
 
02.03.22
14:55
Добрый день!
Для хейтеров: не программист 1С, но стремлюсь. Книги читал, теория теорией а практика практикой.

Есть документ реализация, в ТЧ товары добавил колонку ID товара, ее нужно заполнить из регистра сведений.
Запросом получил нужные данные в ТабЗнач.
Как правильно сделать, по кнопке ЗаполнитьIDТовара, чтоб колонка очистилась сначала, а потом заполнилась данными в соответствии с номенклатурой в строке?

IDТовара - число

&НаСервере
Процедура ЗаполнитьIDТовараНаСервере()
    
    Если Объект.Товары.Количество()>0 Тогда
        
        ////////ЗАПРОС ПРАВИЛЬНЫЙ
        

        Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
        
        РезультатЗапроса = Запрос.Выполнить();
        Если НЕ РезультатЗапроса.Пустой() Тогда     
            ВыборкаДетальныеЗаписи = РезультатЗапроса.Выгрузить();
            
        КонецЕсли;    
        
    Иначе
        Сообщить ("Табличная часть Товары не заполнена!")
    КонецЕсли;
    
    КонецПроцедуры //--Заполнить ID Товара

  
&НаКлиенте
Процедура ЗаполнитьIDТовара(Команда)  
    ЗаполнитьIDТовараНаСервере();  
    
    ТЧ = Объект.Товары;
    Для Каждого СтрокаТЧ Из ТЧ Цикл  
        СтрокаТЧ.IDТовара = ".....";    
        Сообщить(СтрокаТЧ.IDТовара);    
    КонецЦикла;
    
КонецПроцедуры
1 Deon
 
02.03.22
15:35
(0) Значения колонки стоит заполнять не на клиенте, а сразу на сервере из результатов запроса
2 errorg
 
02.03.22
15:49
(0) Заполнять лучше на сервере. Нужно чтобы был ключ в ТЧ и такой же ключ в получаемой в результате запроса ТЗ. Перебрать строки ТЧ и по ключу найти соответствующую строку в ТЗ.
3 bfss-732
 
02.03.22
15:50
(1)

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
            
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
                
    Для каждого строки из Объект.Товары цикл
        Колонка.IDТовара = ВыборкаДетальныеЗаписи.IDОзон;           
    КонецЦикла;
                
КонецЦикла;
4 bfss-732
 
02.03.22
16:23
(2) ключом является реквизит Номенклатура
5 Мимохожий Однако
 
02.03.22
16:55
(0) Если "запрос правильный", то после  

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выгрузить();

добавь строку

Объект.Товары.Загрузить(ВыборкаДетальныеЗаписи );
6 bfss-732
 
02.03.22
17:00
(5) табличная часть в момент создание уже готова, есть номенклатура, цены.... Есть пустая колонка, которую по кнопки надо или заполнить или нет
7 bfss-732
 
02.03.22
17:37
(5) все остальные колонки очистились
8 bfss-732
 
02.03.22
17:40
(2) Нет так в предыдущем сообщении, ключ собирается из двух реквизитов ТАбЧасти  документа. Номенклатура и Характеристика и тогда идет один ID товара
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан