| 
    
        
     
     | 
    
  | 
Программно скопировать строки с отбором в тч | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        synapce    
     09.03.22 
            ✎
    16:23 
 | 
         
        Всем привет. 
 
        Есть табличная часть, Товары, где есть Номенклатура Цена ВидТовара Проводим сверку с другой табличной частью Товары_копия Где есть Номенклатура Цена ВидТовара И если к примеру строке в Товары соответствует две строки в Товары_копия (по одной номенклатуре есть три записи с разным ВидТовара во второй ТЧ), то необходимо в ТЧ Товары сделать копию одной и той же строки (столько строк, сколько соответствует во второй ТЧ), а затем уже заполнить по каждой ВидТовара из Второй тч. Как заполнить ВидТовара разобрался, но вот - как скопировать по отбору строки и добавить их в первую? Я делаю как в тз = выгружаю всю табличную часть затем в ней провожу отбор. заливаю результат в тз_отобранная Затем в цикле, исходя из найденных количеств строк пишу, что - Перем = табличная часть.Добавить() - ЗаполнитьЗначенияСвойств(Перем, тз_отобранная) Но не работает, подскажите, в какую сторону копать или решение, если есть, чтобы поанализировать, а то врезался в стену)) Заранее всем спасибо за ответ!  | 
|||
| 
    1
    
        lodger    
     09.03.22 
            ✎
    16:33 
 | 
         
        а попробуй в 
 
        "- ЗаполнитьЗначенияСвойств(Перем, тз_отобранная)" написать СтрокаТЗ из отобранной.  | 
|||
| 
    2
    
        synapce    
     09.03.22 
            ✎
    16:40 
 | 
         
        (1) т.е. - перебрать строки из отобранной? 
 
        Пишу - для каждого стр из тз_Отобранная - Перем = табличная часть.Добавить() - ЗаполнитьЗначенияСвойств(Перем, стр) ничего не заполняет, к сожалению..  | 
|||
| 
    3
    
        Asmody    
     09.03.22 
            ✎
    16:45 
 | 
         
        Перем ключевое слово     
         | 
|||
| 
    4
    
        synapce    
     09.03.22 
            ✎
    16:47 
 | 
         
        (3) не, это понятно, я так для примера. 
 
        грубо говоря сейчас - МойПараметр= табличная часть.Добавить() - ЗаполнитьЗначенияСвойств(МойПараметр, тз_отобранная)  | 
|||
| 
    5
    
        pechkin    
     09.03.22 
            ✎
    16:54 
 | 
         
        ТЗ.Скопировать(СтруктураОтбора)     
         | 
|||
| 
    6
    
        synapce    
     09.03.22 
            ✎
    16:57 
 | 
         
        (5) так и сделал. Скопировал нужные строки. А теперь как этот результат, который ТЗ.Скопировать(СтруктураОтбора) залить в первую ТЧ? (надо оставить всю табличную часть, а эти строки скопированные - добавить ниже, ни в коем случае не заменять собой всю имеющуюся ТЧ)     
         | 
|||
| 
    7
    
        pechkin    
     09.03.22 
            ✎
    17:05 
 | 
         
        (6) ТЧ.Загрузить(ТЗ)     
         | 
|||
| 
    8
    
        1Сергей    
     09.03.22 
            ✎
    17:05 
 | 
         
        (6) ты бы весь код скинул. Гадания на кофейной гуще - занятие неблагодарное     
         | 
|||
| 
    9
    
        pechkin    
     09.03.22 
            ✎
    17:05 
 | 
         
        если добавить, то только построчно     
         | 
|||
| 
    10
    
        Said_We    
     09.03.22 
            ✎
    17:26 
 | 
         
        (0) Всю информацию в 1С SQL запрос. Подготавливаешь нужную информацию со всеми отборами и нужной структуры и обратно в ТЧ заливаешь.     
         | 
|||
| 
    11
    
        acht    
     09.03.22 
            ✎
    18:09 
 | 
         
        (10) > в 1С SQL запрос
 
        Скажите, а вы 2 на 2 контекстным серверным вызовом умножаете?  | 
|||
| 
    12
    
        lodger    
     09.03.22 
            ✎
    18:10 
 | 
         
        (11) ещё и субд напрягает.     
         | 
|||
| 
    13
    
        Said_We    
     09.03.22 
            ✎
    18:35 
 | 
         
        (11) Данная задача проще решается запросом - на мой взгляд. Тут левое соединение двух таблиц + условие.
 
        (12) Чего его там напрягать. Табличные части наверняка не большие. А если большие, то как раз пусть СУБД и ворочает.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |