Имя: Пароль:
1C
 
Заполнение одной таблицы значений данными другой (дополняя значения)
0 Qwaide
 
15.11.21
11:54
Добрый день. Есть две таблицы значений ТЗ! и ТЗ№
В ТЗ! две строки и колонки 1 2 3
В ТЗ№ одна строка и колонки 4 5 6
В каждой из них имеются данные
В ТЗ! добавил колонки 4 5 6, но не получается добавить корректно значения. Так чтобы они отобразились в одной строке. ЗаполнитьЗначенияСвойств вроде более близкое, но оно зачищает значения в ТЗ!
1 Strogg
 
15.11.21
12:01
(0) юзай НайтиСтроки() по своим ключевым именам колонок и заполняй свои значения.
2 Галахад
 
гуру
15.11.21
12:05
У ЗаполнитьЗначенияСвойств есть четвертый параметр, если нужно что-то исключить.
3 Малыш Джон
 
15.11.21
12:14
(2) а есть ещё третий, если нужно заполнять только определенные поля
4 Qwaide
 
15.11.21
13:07
(3) (2) Попробовал и тот и другой способ, не помогло, ругается что нет такой колонки, хотя она есть. Что забавно, при создании новой строки, отрабатывает как надо (с ошибкой сделал только одну колонку, ее только и заполнило).
5 Йохохо
 
15.11.21
13:21
всё удалить и сделать с нуля
6 Галахад
 
гуру
15.11.21
13:22
(4) Скорее всего ошибка в коде. :-)
7 lodger
 
15.11.21
13:23
(4) способы рабочие, твой код не рабочий.
8 ДедМорроз
 
15.11.21
13:25
Если для каждой строки,то сначала скопировать колонки через колонки.добавить
А потом через ЗаполнитьЗначения просто установить одно значение для всех колонок
Если нужно что-то другое,то нужнл объяснять задачу,которая привела к такому решению.
9 Мимохожий Однако
 
15.11.21
13:25
(4) Вышли кофе погадать, что ты шКодил
10 Йохохо
 
15.11.21
13:27
(9) вышло кофе!11
11 ДедМорроз
 
15.11.21
13:31
Кодер кодер,что ты кодил?
И зачем наг.внокодил?
А потом еще поднос
С этим нам суда принес?
12 Qwaide
 
15.11.21
14:29
Фухххх... спасибо за помощь. Удалось решить следующим образом.
А как оформлять текст похожим в 1С?

Для Каждого Колонка Из Таблица2.Колонки Цикл
  Если Таблица1.Колонки.Найти(Колонка.Имя) = Неопределено Тогда
    МассивКолонок.Добавить(Колонка.Имя);
    ТЗ1.Колонки.Добавить(Колонка.Имя);
  КонецЕсли;
КонецЦикла;
///////////////////////////////

Для Каждого Строка Из Таблица1 Цикл
  Индекс = Таблица1.Индекс(Строка);
  Если Индекс <= Таблица2.Количество()-1 Тогда
    Строка2 = Таблица1[Индекс];
  Для Каждого Колонка Из МассивКолонок Цикл  
Строка2[Колонка] = Таблица2[Индекс][Колонка];
  КонецЕсли;  
  КонецЦикла;
КонецЦикла;
13 Qwaide
 
15.11.21
14:29
а, понял, само )))
14 Йохохо
 
15.11.21
14:36
для инд=0 по т2.Количество() - 1 цикл Заполнитьзначениясвойств(т1[инд], т2[инд]) конеццикла