Имя: Пароль:
1C
1С v8
Помогите объединить несколько ТЗ в одну
0 katochimoto
 
19.12.14
09:15
Имеется несколько таблиц значений формата:
Таблица1
/Номенклатура/
/Номенкл1    /
/Номенкл2    /

Таблица2
/Количество/
/кол1      /
/кол2      /

Надо получить в таком виде:
/Номенклатура/Количество/
/номенкл1    /кол1      /
/номенкл2    /кол2      /

причем могут попадаться пустые значения, но количество строк в тз всегда одинаковое, обьеденить надо 6 ТЗ.
1 Cube
 
19.12.14
09:16
(0) Благословляю, объединяй.
2 kortun
 
19.12.14
09:17
Открой для себя метод таблицы значений Свернуть
3 piter3
 
19.12.14
09:17
забавно,а какие же поля связи между 2 таблицами.
4 kortun
 
19.12.14
09:17
(3) ну видимо номенклатура
5 katochimoto
 
19.12.14
09:18
в том то и прикол что никаких, тупо с одинаковыми индексами строки надо объединить, а вообще зачем троллить, дайте ссыль что почитать, или примерный код наброску.
6 Cube
 
19.12.14
09:18
(3) (4) Фиговые телепатические способности... Номер строки = поле связи.
7 Cube
 
19.12.14
09:21
(5) А чё там писать-то?

Для НомерСтроки = 1 по ПерваяТаблица.Количество() Цикл
    НоваяСтрока = НоваяТаблица.ДобавитьСтроку();
    НоваяСтрока.Номенклатура = ПерваяТаблица[НомерСтроки-1].Номенклатура;
    НоваяСтрока.Количество = ВтораяТаблица[НомерСтроки-1].Количество;
КонецЦилка;
8 katochimoto
 
19.12.14
09:22
(7) Спасибо, будем пробовать
9 katochimoto
 
19.12.14
09:27
(7) А разве ДобавитьСтроку() в ТаблицеЗначений будет работать?
10 ИС-2
 
naïve
19.12.14
09:29
(9) это писал семерочник
11 Cube
 
19.12.14
09:29
(9) Я писал прямо тут, в поле ответа. Ошибки сам исправь, тыж программист...
12 katochimoto
 
19.12.14
09:30
(10) а что нибудь подобное для восьмерки имеется?
13 Бледно Золотистый
 
19.12.14
09:30
А что, ЗагрузитьКолонку уже не в моде?
14 Cube
 
19.12.14
09:30
(10) Ну, ты сейчас наговоришь... :)
Я семерку лет пять в глаза не видел :)))
15 katochimoto
 
19.12.14
09:30
ну тогда тупо через добавить получается?
16 Cube
 
19.12.14
09:31
(15) СП в помощь...
17 batman69
 
19.12.14
09:34
(15) Тупо, совсем не получается. Ты умно попробуй.
18 batman69
 
19.12.14
09:34
(16) Зачем, миста же есть.
19 hhhh
 
19.12.14
09:34
(15) ну, типа

Таблица1.Колонки.Добавить("Количество");
Таблица1.ЗагрузитьКолонку(Таблица2.ВыгрузитьКолонку("Количество"), "Количество");
20 katochimoto
 
19.12.14
09:48
(19) Не получается так обращение к процедуре как к функции пишет.
21 katochimoto
 
19.12.14
09:50
(19) подозреваю пустые сроки надо добавить сначала чтобы так загрузить?
22 Cube
 
19.12.14
09:50
(20) Значит, так написал...
23 katochimoto
 
19.12.14
09:59
(19) Чтобы таким методом сделать действительно надо было добавить сначала нужное количество пустых строк
24 kortun
 
19.12.14
10:06
емое, вот лентяй то

Для НомерСтроки = 1 по ПерваяТаблица.Количество() Цикл
    НоваяСтрока = НоваяТаблица.Добавить();
    НоваяСтрока.Номенклатура = ПерваяТаблица[НомерСтроки-1].Номенклатура;
    НоваяСтрока.Количество1 = ВтораяТаблица[НомерСтроки-1].Количество;
    НоваяСтрока.Количество2 = ВтораяТаблица[НомерСтроки-1].Количество;
КонецЦикла;
25 kortun
 
19.12.14
10:06
вернее так

ля НомерСтроки = 1 по ПерваяТаблица.Количество() Цикл
    НоваяСтрока = НоваяТаблица.Добавить();
    НоваяСтрока.Номенклатура = ПерваяТаблица[НомерСтроки-1].Номенклатура;
    НоваяСтрока.Количество1 = ПерваяТаблица[НомерСтроки-1].Количество;
    НоваяСтрока.Количество2 = ВтораяТаблица[НомерСтроки-1].Количество;
КонецЦикла;
26 Cube
 
19.12.14
10:07
(25) Букву "Б" в начале кода пропустил :)
27 kortun
 
19.12.14
10:22
(26) ага, хотел же ее еще добавить :)