Имя: Пароль:
1C
 
Ошибка при установке значения атрибута контекста (Владелец)
0 klr
 
16.05.05
10:53
//  V7 = Новый ComОбъект("V77.Application");

Договоры=V7.CreateObject("Справочник.Договоры");
Договоры.ИспользоватьВладельца(КонтрагентОЛЕ);

// Контрагент в отладчике находится. Т.е он ОЛЕ,
//но КонтрагентОЛЕ.Код показывает правильно.

Ошибка при установке значения атрибута контекста (Владелец): Произошла исключительная ситуация (1С:Предприятие): Объект не может быть перепозиционирован!
Договоры.ИспользоватьВладельца(КонтрагентОЛЕ);
1 Rovan
 
гуру
16.05.05
11:02
(0) Как (чем) создан объект КонтрагентОЛЕ ?
2 klr
 
16.05.05
11:08
флаг=V7.ExecuteBatch("глСканерВкл=CreateObject(""ТаблицаЗначений"");
       |глСканер=CreateObject(""Регистр.Покупатели"");
       |глСканер.ВременныйРасчет();
       |РассчитатьРегистрыПо('"+Дат+"');
       |глСканер.ВыгрузитьИтоги(глСканерВкл,,1);");
       
       Таб=V7.глСканерВкл;    
       Таб.ВставитьКолонку("Вид");
       Таб.ВыбратьСтроки();
       Пока Таб.ПолучитьСтроку()=1 Цикл
       Таб.УстановитьЗначение(Таб.НомерСтроки,"Вид",Таб.КредДокумент.Вид());
       
       КонецЦикла;
       
       Таб.Свернуть("Фирма,Договор,Вид","СуммаВал,СуммаРуб");
       
       Таб.ВыбратьСтроки();
       Пока Таб.ПолучитьСтроку()=1 Цикл
                   КонтрагентОЛЕ=Таб.Договор.Владелец;
...
3 Proba
 
16.05.05
11:26
Пардон, а куды инициализация ОЛЕ объекта делась?
V7.Initialize(V7.RMTrade, Путь к базе и входные пакраметры, Режим запуска).
Или это просто специально опущено?
4 Terv
 
16.05.05
11:31
(3) У тебя  КонтрагентОЛЕ является значением текущей базы а не OLE,
поробуй так:
 Контр=V7.CreateObject("Справочник.Контрагенты");
  Контр.ВыбратьЭлементы();    
      Таб.ВыбратьСтроки();
      Пока Таб.ПолучитьСтроку()=1 Цикл
              Контр = КонтрагентОЛЕ.НайтиПоПоКоду(Таб.Договор.Владелец.Код);  
              КонтрагентОЛЕ= Контр.ТекущийЭлемент();
...
5 Proba
 
16.05.05
11:37
Вообще у меня проскакивали какие-то странные затыки с таблицей значений.
Попробуй вместо КонтрагентОЛЕ = Таб.Договор.Владелец подсунуть следующее
//КонтрагентОЛЕ = V7.CreateObject("Справочник.Контрагенты");
КонтрагентОЛЕ.НайтиЭлемент(Таб.Договор.Владелец);
6 Terv
 
16.05.05
11:43
тьфу ...
вместо
Контр = КонтрагентОЛЕ.НайтиПоПоКоду(Таб.Договор.Владелец.Код);  
надо
КонтрагентОЛЕ = Контр.НайтиПоПоКоду(Таб.Договор.Владелец.Код);
7 Ого
 
16.05.05
11:43
Ух ты! Не разу не слышал про ExecuteBatch(). Дайте ссылки есть есть по методам V77.Application please...)
8 Ого
 
16.05.05
11:44
Ух ты! Не разу не слышал про ExecuteBatch(). Дайте ссылки есть есть по методам V77.Application please...)
9 Terv
 
16.05.05
11:44
(8) в ЖКК все есть
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший