1С7.7 Плохой тип переменной

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#1
вот изучаю новый объектик - подключение по Олям к 1С7.7.... Подключится удалось, далее Спр = БазаОле.CreateObject("Справочник.Номенклатура"); тоже вроде отработало, а вот при попытке - БухИт = БазаОле.CreateObject("БухгалтерскиеИтоги"); получаю ошибку "Плохой тип переменной". Вероятно что-то делаю не правильно, вопрос только - что именно? Прошу подсказать как именно нужно поступать при работе с конкретным объектом. Заранее спасибо
 
H

Hryv

#2
Может нет компоненты Бух.учет?

У меня так все работает
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#3
Может нет компоненты Бух.учет?
только она и есть)

P.S. забыл еще кое что уточнить. выдается ошибка не при создании бух.итогов, а при БухИт.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#5
может и лучше. ща попробую. а в чем разница?

таки и правда лучше! а кто может объяснить почему? а также почему я в отладчике не могу поглядеть результаты? кроме того как мне заполнить полученными данными ТЗшку чтобы поля содержали нужные мне значения? (сейчас просто в первой строчке написано ОЛЕ)

P.S. буду также благодарен за ссылочки на литературу где все подробненько описывается
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#7
А ты из бухгалтерии вызываешь ОЛЕ-бухгалтерию ?
ДА. это как бы две базы одной конторы, тока одна для всех клиентов, а другая для физиков. вот с общей в нее и нада некие данные передавать. а через файл не хочецо - и так умею уже
 
H

Hryv

#8
Разница в том, что при
БухИт.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
во ВТОРОЙ базе идет попытка использовать субконто ПЕРВОЙ базы
ТЗ надо заполнять простыми значениями (строка, число ...)
А элементы справочников, документы и прочее затем искать по кодам, номерам и т.п.

Добавлено: Например, мне недавно надо было сделать сверку остатков одной базы с одной из трех других баз на выбор юзера

Я в ТЗ загонял коды номенклатуры, которые во всех базах совпадают и остатки из разных баз. Потом сравнивал
 

vbs

Well-known member
18.02.2007
1 708
1
#9
Разница в том, что при
БухИт.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
во ВТОРОЙ базе идет попытка использовать субконто ПЕРВОЙ базы
Так что, скорее всего
БухИт.ИспользоватьСубконто(БазаОле.ВидыСубконто.Контрагенты);
будет корректно
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#10
Hryv, спасибо. печально, конечно, но видимо ничо не поделаешь.
 
H
#11
KiR, а что именно печально?
Давай поподробнее что конкретно надо сделать
Может все-таки получится через OLE
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#12
печально то что получаешь только примитивные типы данных :) а сделать нужно вот что:
выбрать проводки 76,5-76,5 (третья аналитика - справочник номенклатура) да еще и так чтобы по 3 аналитике - только физики, а корсубконто2 - договор определенного вида.
по идее можно реализовать выборку черным запросом или бух итогами. ща мучаю бух итоги. но может запрос будет отрабатывать быстрее и точнее?
 
H
#13
Тогда я не вижу особых проблем

печально то что получаешь только примитивные типы данных
это не совсем так

Выше уже было
Так что, скорее всего
БухИт.ИспользоватьСубконто(БазаОле.ВидыСубконто.Контрагенты);
будет корректно
Все объекты из подключенной базы получаются нормальными, но их не надо путать и сравнивать с объектами текущей базы
Например
БухИт = БазаОле.CreateObject("БухгалтерскиеИтоги");
СпрВД = БазаОле.CreateObject("Справочник.ВидДоговора");
СпрВД.НайтиПоКоду(НужныйКод);
...
Если БухИт.КорСубконто(2).ВидДоговора=СпрВД.ТекущийЭлемент() Тогда
...

Примерно так и в таком духе

А если что-то надо, например, вывести на печать, то пишем не БухИт.КорСубконто(2), а БухИт.КорСубконто(2).Наименование

Вроде как можно с подключенной базой сделать все, что и с обычной
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#14
Hryv, так-то оно так, да вот только отладчиком я могу видеть результаты только текущей базы, а не оле...

кстати, а что по поводу черного запроса и бухитогов?

выбрать проводки 76,5-76,5 (третья аналитика - справочник номенклатура) да еще и так чтобы по 3 аналитике - только физики, а корсубконто2 - договор определенного вида.
по идее можно реализовать выборку черным запросом или бух итогами. ща мучаю бух итоги. но может запрос будет отрабатывать быстрее и точнее?
 
H
#15
отладчиком я могу видеть результаты только текущей базы, а не оле...
как и для печати, попробуй вместо БухИт.КорСубконто(2) смотреть БухИт.КорСубконто(2).Наименование или БухИт.КорСубконто(2).Код

а что значит "черный" запрос? я что-то такого жаргона не слышал :what?: