Имя: Пароль:
1C
1C 7.7
v7: Заполнить из таблицы значений табличную часть
,
0 edmon777
 
10.08.12
11:12
Не получаеться заполенение табличной части документа. В одном документе таблица значений, я хочу хранить данные в табличной части другого..

Вот я пробовал :
ДокДвижение = СоздатьОбъект("Документ.ДвижениеСетевогоОборудования");
   ДокДвижение.Новый();
   ТЗРасх.ВыбратьСтроки();
   Пока ТЗРасх.ПолучитьСтроку() = 1 Цикл
       Если ДокДвижение.Выбран() = 1 Тогда    
           ДокДвижение.НоваяСтрока();
           ДокДвижение.Товар = ТЗРасх.Товар;
           ДокДвижение.СерийныйНомер = ТЗРасх.СерийныйНомер;
           ДокДвижение.Количество = ТЗРасх.Количество;
           Форма.Обновить();
       КонецЕсли;
   КонецЦикла;
   ДокДвижение.Записать();

Выдает ошибку : ДокДвижение.Товар = ТЗРасх.Товар;
{Документ.НарядНаСозданиеМагистрали.Форма.Модуль(102)}: Неверное присвоение значения.
1 viktor_vv
 
10.08.12
11:16
Странно, что оно вообще туда зашло. учитывая

   ДокДвижение.Новый(); // Вот это
   ТЗРасх.ВыбратьСтроки();
   Пока ТЗРасх.ПолучитьСтроку() = 1 Цикл
       Если ДокДвижение.Выбран() = 1 Тогда   // Вот здесь Выбран всегда 0 должен быть.
2 edmon777
 
10.08.12
11:36
то как сделать что бы все работало?
3 sTOd
 
10.08.12
11:40
(2) Пригласить специалиста.
4 viktor_vv
 
10.08.12
11:46
(2) Ты похоже не тот кусок кода выложил, в этом строка с ошибкой вообще никогда не выполнится. А в том коде, на котором ошибку дает, скорее всего пропущена  ДокДвижение.НоваяСтрока(); .
5 edmon777
 
10.08.12
11:53
(3) не умничай. я задал вопрос - не хочешь отвечать то в правом верхнем углу есть красный крестик
6 edmon777
 
10.08.12
11:54
(4) НоваяСтрока() же есть
7 viktor_vv
 
10.08.12
11:57
(6) Я говорю ты код не тот запостил, на котором ошибка вываливается. В приведенном ты никогда не дойдешь до

ДокДвижение.Товар = ТЗРасх.Товар;
8 viktor_vv
 
10.08.12
11:58
Или у тебя есть есть реквизит документа с Идентификатором "ДокДвижение".
9 viktor_vv
 
10.08.12
12:02
(8) + Тогда примерно так.

Тогда так.

ДокДвижениеОбъект = СоздатьОбъект("Документ.ДвижениеСетевогоОборудования");
Если ПустоеЗначение(ДокДвижение) = 0 Тогда
ДокДвижениеОбъект.НайтиДокумент(ДокДвижение) ;
ДокДвижениеОбъект.УдалитьСтроки();
Иначе
   ДокДвижениеОбъект.Новый();
КонецЕсли ;

   ТЗРасх.ВыбратьСтроки();
   Пока ТЗРасх.ПолучитьСтроку() = 1 Цикл
//        Если ДокДвижение.Выбран() = 1 Тогда    
           ДокДвижениеОбъект.НоваяСтрока();
           ДокДвижениеОбъект.Товар = ТЗРасх.Товар;
           ДокДвижениеОбъект.СерийныйНомер = ТЗРасх.СерийныйНомер;
           ДокДвижениеОбъект.Количество = ТЗРасх.Количество;
 //          Форма.Обновить();
//        КонецЕсли;
   КонецЦикла;
Если ДокДвижениеОбъект.Записать() = 1 Тогда
ДокДвижение = ДокДвижениеОбъект.ТекущийДокумент();
КонецЕсли ;
10 edmon777
 
10.08.12
12:15
ДокДвижениеОбъект - это объект
а тогда ДокДвижение - это чё??
11 viktor_vv
 
10.08.12
12:20
Ты последовательно прочитай мои посты (7),(8) и (9) и ответь на (8).
12 1Сергей
 
10.08.12
12:37
ВыгрузитьТабличнуюЧасть
ЗагрузитьТабличнуюЧасть