:: Вопросы по 1С
Выполнить 1С запрос в VFP
LUCIAN
Автор

Сообщений: 343
Откуда: Лида Беларусь
Дата регистрации: 25.03.2008
Следующий запрос,который работает в 1С:
Запрос =НОВЫЙ Запрос() ;
Запрос.Текст = "ВЫБРАТЬ
| ОсновныеСредства.Код КАК Код,
| ОсновныеСредства.Наименование
|ИЗ
| Справочник.ОсновныеСредства КАК ОсновныеСредства
|
|УПОРЯДОЧИТЬ ПО
| Код" ;
РЕЗУЛЬТАТ = Запрос.Выполнить();
ВЫБОРКА = РЕЗУЛЬТАТ.ВЫБРАТЬ() ;
ПОКА ВЫБОРКА.Следующий() ЦИКЛ
Сообщить(ВЫБОРКА.Код+" "+ВЫБОРКА.Наименование) ;
КОНЕЦЦИКЛА ;
хочу реализовать в VFP:
БазаОле=CREATEOBJECT("V81.Application")
РезультатПодключения = БазаОле.Connect("File='C:\1С 8 База данных по ОС';Usr='';")
IF NOT РезультатПодключения
WAIT WIND "Ошибка подключения."
RETURN
ENDIF
Запрос = БазаОле.НОВЫЙ Запрос()
......
при запуске на строчке "Запрос = БазаОле.НОВЫЙ Запрос()" получаю SYNTAX ERROR,что не так ?
Ratings: 0 negative/0 positive
Re: Выполнить 1С запрос в VFP
sphinx

Сообщений: 31180
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
А если так:

оЗапрос = РезультатПодключения.NewObject('Запрос')
? VARTYPE(оЗапрос)


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Выполнить 1С запрос в VFP
LUCIAN
Автор

Сообщений: 343
Откуда: Лида Беларусь
Дата регистрации: 25.03.2008
sphinx
А если так:
оЗапрос = РезультатПодключения.NewObject('Запрос')
? VARTYPE(оЗапрос)
Спасибо,продвинулось когда сделал так:
Запрос = БазаОле.NewObject('Запрос')
Так как на "оЗапрос = РезультатПодключения.NewObject('Запрос')" выдало is not object
Ratings: 0 negative/0 positive
Re: Выполнить 1С запрос в VFP
LUCIAN
Автор

Сообщений: 343
Откуда: Лида Беларусь
Дата регистрации: 25.03.2008
Получился такой код:
БазаОле=CREATEOBJECT("V81.Application")
РезультатПодключения = БазаОле.Connect("File='C:\1С 8 База данных по ОС';Usr='';")
IF NOT РезультатПодключения
WAIT WIND "Ошибка подключения."
RETURN
ELSE
WAIT WIND "Успех подключения." NOWAIT
ENDIF
TEXT TO TEKCTЗАПРОСА TEXTMERGE NOSHOW
ВЫБРАТЬ
ОсновныеСредства.Код ,
ОсновныеСредства.Наименование
ИЗ
Справочник.ОсновныеСредства КАК ОсновныеСредства
УПОРЯДОЧИТЬ ПО
Код
ENDTEXT
Запрос = БазаОле.NewObject('Запрос')
Запрос.Текст = TEKCTЗАПРОСА
РЕЗУЛЬТАТ = Запрос.Выполнить()
ВЫБОРКА = РЕЗУЛЬТАТ.ВЫБРАТЬ()
DO WHILE .T.
IF NOT Выборка.Следующий()
* WAIT WIND "ВЫХОЖУ ИЗ ЦИКЛА"
EXIT
ENDIF
WAIT WINDOW ВЫБОРКА.Код+" "+ВЫБОРКА.Наименование TIMEOUT 0.01
ENDDO
БазаОле.Exit()
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 3 (Гостей: 3)

© 2000-2024 Fox Club 
Яндекс.Метрика