• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы KiR
  • Дата начала
K

KiR

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

Hryv

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

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

KiR

Может нет компоненты Бух.учет?
только она и есть)

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

KiR

может и лучше. ща попробую. а в чем разница?

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

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

KiR

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

Hryv

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

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

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

vbs

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

KiR

Hryv, спасибо. печально, конечно, но видимо ничо не поделаешь.
 
H

Hryv

KiR, а что именно печально?
Давай поподробнее что конкретно надо сделать
Может все-таки получится через OLE
 
K

KiR

а что именно печально
печально то что получаешь только примитивные типы данных :) а сделать нужно вот что:
выбрать проводки 76,5-76,5 (третья аналитика - справочник номенклатура) да еще и так чтобы по 3 аналитике - только физики, а корсубконто2 - договор определенного вида.
по идее можно реализовать выборку черным запросом или бух итогами. ща мучаю бух итоги. но может запрос будет отрабатывать быстрее и точнее?
 
H

Hryv

Тогда я не вижу особых проблем

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

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

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

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

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

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

KiR

Hryv, так-то оно так, да вот только отладчиком я могу видеть результаты только текущей базы, а не оле...

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

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

Hryv

отладчиком я могу видеть результаты только текущей базы, а не оле...
как и для печати, попробуй вместо БухИт.КорСубконто(2) смотреть БухИт.КорСубконто(2).Наименование или БухИт.КорСубконто(2).Код

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

kaa

Рекомендую - ЗначениеВСтроку,ЗначениеИзСтроки
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!