Имя: Пароль:
1C
1С v8
таблица значений - объединение
,
0 SunProgy
 
20.01.15
18:35
Вечер добрый, есть две таблицы значений с одинаковой структурой, нужно их объединить, но так, чтобы не было задвоения строк, т. е в первую таблицу добавились новые данные из второй и перезаписались имеющиеся данные из второй, т.е
напр

Т1 код номенкл Цена    Т2 Код Номенкл Цена
   10  Утюг    1000       10  Утюг    1200
   20  Телефон 5000       30  ЭлГриль 5010

Итоговая Т3

   10  Утюг 1200
   20  Телефон 5000
   30  ЭлГриль 5010
1 TheVeryHe
 
20.01.15
18:37
И в чём сложность?
2 НП
 
20.01.15
18:38
for each Стр in Табл2 do
если ключевые  реквизиты найдены в Табл1 then
    continue;
endif;
Добавляем строку Стр в Табл1
enddo;
3 TheVeryHe
 
20.01.15
18:40
(2) эт ты на вижуал бейсике написал?
4 SunProgy
 
20.01.15
18:42
В чем сложность -  задваивает старые и новые значения, исп. след. код
ТЗ_Основная = ТЗ_Источник.Скопировать();

   Для Каждого СтрокаИсходнойТаблицы Из ТЗ_Источник Цикл
      НоваяСтрока = ТЗ_Основная.Добавить();
      ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаИсходнойТаблицы);
   КонецЦикла;
5 SunProgy
 
20.01.15
18:44
т. е. получается

   10  Утюг 1000
   10  Утюг 1200
   20  Телефон 5000
   30  ЭлГриль 5010

как вот презаписать данные в ТЗ_Основная, если совпадает код
6 WebberNSK
 
20.01.15
18:49
Посмотри функцию НайтиСтроки() - мощная вещь!
7 НП
 
20.01.15
19:05
(3) 1С ключевые слова позволяет писать по-английски.
8 НП
 
20.01.15
19:06
(4) Потому, что сначала надо поискать ключ в первой таблице.
Если найдены - пропустить добавление.
9 SunProgy
 
20.01.15
19:11
(8) тогда данные не перезапишутся
10 НП
 
20.01.15
19:12
(9) Тогда не перезапишутся только те, которые в первой таблице УЖЕ ЕСТЬ. Остальные припишутся.
11 НП
 
20.01.15
19:13
В сущности, это НЕ  ЛЕВОЕ СОЕДИНЕНИЕ.
12 FIXXXL
 
20.01.15
20:19
Засунуть обе таблицы в ВТ, группировать и максимум по цене
2 + 2 = 3.9999999999999999999999999999999...