Имя: Пароль:
1C
1C 7.7
v7: УстановитьАтрибут в документе
0 gabatel
 
12.06.12
20:39
Данный код копирует в другую базу по ОЛЕ документ.Проблема в том что при установки атрибута выдает ошибку плохой тип перемены,в реквизитах документа есть разные типы значений

ТЗ.НоваяКолонка("Значение");
Док = База.CreateObject("Документ.ВидатковаНакладна");
Док.Новый();
Кво =  Метаданные.Документ("ВидатковаНакладна").РеквизитШапки();
Для і=1 ПО Кво Цикл
  ТЗ.ВыбратьСтроки();
  Пока ТЗ.ПолучитьСтроку() = 1 Цикл
   Если ТЗ.Таблица=1 Тогда
          Идентификатор = Реквизиты.РеквизитШапки(і).Идентификатор;
            Док.УстановитьАтрибут(Идентификатор,ТЗ.Значение);
   Иначе
      Продолжить;
   КонецЕсли;
   КонецЦикла;
КонецЦикла;
1 viktor_vv
 
12.06.12
20:41
П тип значения какой в ТЗ ? По ОЛЕ можно напрямую только примитивные типы писать.
2 gabatel
 
12.06.12
20:42
ТЗ.НоваяКолонка("Значение");
3 gabatel
 
12.06.12
20:44
А как по другому можно реализовать,неохота писать Док.НомерДок=ТекДок.НомерДок
4 viktor_vv
 
12.06.12
20:46
(2) Ну в принципе это и не важно.
(3) Это можно напрямую, а вот справочники, перечисления и документы не получится. Надо сначала найти эти объекты в базе ОЛЕ по примитивным атрибутам (код, наименование, номкр и т.д.).
5 zak555
 
12.06.12
20:53
> Док = База.CreateObject("Документ.ВидатковаНакладна");

http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=592909#592899

это что такое ?
6 zak555
 
12.06.12
20:54
7 zak555
 
12.06.12
20:59
+ ОдиниціВиміру (я так понимаю, что единицы измерения) -- перечисление

жесть - зачем же так ?
8 gabatel
 
12.06.12
21:01
Это просто совпадение или я не так понял, zak555 я не разумею ты о чем
9 zak555
 
12.06.12
21:02
(8) яндекс на слово "ВидатковаНакладна" привёл на (6)
10 gabatel
 
12.06.12
21:08
Понятно,это не со мной связано
11 andrewks
 
12.06.12
21:31
поставь текущую локаль системы как русскую
12 gabatel
 
12.06.12
22:15
(4) ТЗ.НоваяКолонка("Идентификатор");