Имя: Пароль:
1C
1С v8
переменная с таблицей значения
0 bfss-732
 
23.08.20
19:57
Всем привет!
Есть переменная, в которой есть таблица значений
ТаблицаТовары          = ОбеспечениеСервер.ТаблицаОстатковКЗаказу(ЗаказКлиента, ПараметрыТаблицыТовары);

МНЕ ДО ЗАГРУЗКИ В ТОВАРЫ(НИЖЕ) НАДО "ПРИКЛЕИТЬ" ЕЩЕ 5 КОЛОНОК С ЗНАЧЕНИЯМИ (которые получил в запросе в таблицу значений) К ПЕРЕМЕННОЙ ТаблицаТоваров.
В табличной части Товары уже есть все реквизиты, чтоб принять "приклеенные" значения.

Есть табличная часть Товары, куда все записывается
Товары.Загрузить(ТаблицаТовары);


Как правильно сделать?
Все взял из Процедура ЗаполнитьДокументНаОснованииЗаказа(Знач ЗаказКлиента)
МодульОбъекта ЗаказПоставщику Управление торговлей, редакция 11 (11.4.9.70)
1 icipher
 
23.08.20
20:11
ТаблицаТовары.Колонки.Вставить("ИмяКолонки")
2 icipher
 
23.08.20
20:13
(1)
ТаблицаТовары.Колонки.Добавить("ИмяКолонки")
ТаблицаТовары.ЗаполнитьЗначения(...)
ТаблицаТовары.ЗагрузитьКолонку(...)
и т. д.
3 bfss-732
 
23.08.20
20:31
Ставлю точку после ТаблицаТовары. подсказки не выходит, это смутило
4 ДенисЧ
 
23.08.20
20:36
(3) А откуда 1с узнает, какой тип у тебя возвращается из какой-то левой (для неё) функции?
5 Ненавижу 1С
 
гуру
23.08.20
20:59
(3) нетипизированный язык, отсюда всё
6 bfss-732
 
23.08.20
22:23
Как сделать чтоб каждая строка не перезаписывалась? Получается все строки заполняются последним значением из ВыборкаДетальныеЗаписи
Для Каждого Строка Из ТаблицаТовары Цикл
            
   Для Каждого Элемент Из ВыборкаДетальныеЗаписи Цикл
                
      ЗаполнитьЗначенияСвойств(Строка, Элемент);
                
                
   КонецЦикла;
            
КонецЦикла;
7 acht
 
23.08.20
22:38
Ты сначала задайся вопросом - какая строка выборки какой строки таблицы соответствует. Одинаковый ли у них порядок, например, и почему нет
8 bfss-732
 
23.08.20
22:45
(7) Есть строка "ТаблицаТовары", есть результат запроса ТЗ "ВыборкаДетальныеЗаписи". Для каждой строки "ТаблицаТовары" соответствует строка из "ВыборкаДетальныеЗаписи"
9 bfss-732
 
23.08.20
22:46
Все идет правильно, просто последняя строка Элемент Из ВыборкаДетальныеЗаписи перетирает все 4 предыдущие строки. Получается в нужных колонках, в каждой строке из 4 одинаковые значения
10 acht
 
23.08.20
22:46
(8) В запросе, порождающем выборку есть УПОРЯДОЧИТЬ ПО?
11 bfss-732
 
23.08.20
22:49
(10) нет, а это причем?
12 acht
 
23.08.20
22:52
(11) Ну все, порядок строк в выборке - произвольный, зависит от настроения сервера. Поэтому строки в выборке и таблице - несопоставимы. Присваивая значения, ты просто портишь данные.
13 bfss-732
 
23.08.20
22:53
(12) Какой порядок нужен? АВТОУПОРЯДОЧИВАНИЕ подойдет?
14 bfss-732
 
23.08.20
22:55
Порядок не помог
15 acht
 
23.08.20
22:56
(13) > Какой порядок нужен?
Понятия не имею.
16 Ненавижу 1С
 
гуру
24.08.20
00:22
Для Каждого Строка Из ТаблицаТовары Цикл
            
   НайденныеСтроки = ВыборкаДетальныеЗаписи.НайтиСтроки(...);
   Если НайденныеСтроки.Количество()>0 Тогда
     ЗаполнитьЗначенияСвойств(Строка, НайденныеСтроки[0]);
            
КонецЦикла;