Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP и с8 / 25 сообщений из 31, страница 1 из 2
01.04.2009, 08:48
    #35904818
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
На FOX делаю

loV8App = CREATEOBJECT("V8.Application")
дает ошибку
Class definition V8.Application is not found
Где его взять
...
Рейтинг: 0 / 0
01.04.2009, 09:16
    #35904858
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Код: plaintext
1.
2.
3.
4.
5.
6.
AGETFILEVERSION(Arr, pathExe)
? 'Работаем с версией', arr( 4 ), ' ', arr( 1 )
IF LEFT(arr( 4 ), 3 ) == '8.0'
Ole1c8 = createobject("V8.Application","")
ELSE 
Ole1c8 = createobject("V81.Application","")
ENDIF 
...
Рейтинг: 0 / 0
01.04.2009, 09:37
    #35904899
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Да не дает v8 и 81.Выдает туже ошибку
...
Рейтинг: 0 / 0
01.04.2009, 09:38
    #35904904
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Дык сама 1с установлена на клиенте или нет?
...
Рейтинг: 0 / 0
01.04.2009, 09:50
    #35904930
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Установлена и работает. Но дело в том, что была переписана с другого компьютера
...
Рейтинг: 0 / 0
01.04.2009, 09:53
    #35904938
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Как переписана через дистрибутив или просто файлами?
...
Рейтинг: 0 / 0
01.04.2009, 10:08
    #35904981
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Просто файлами
...
Рейтинг: 0 / 0
01.04.2009, 10:33
    #35905053
VFP и с8
GAL21Просто файламиНу и чего Вы тогда хотите? Непорочного зачатия? Откуда появится соответствующая информация в реестре винды?
...
Рейтинг: 0 / 0
01.04.2009, 10:37
    #35905068
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Ну так и прошу - как записать
...
Рейтинг: 0 / 0
01.04.2009, 10:42
    #35905079
VFP и с8
GAL21Ну так и прошу - как записатьУстановить с дистрибутива, как это ни странно некоторым покажется.
...
Рейтинг: 0 / 0
01.04.2009, 10:48
    #35905103
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
А еще предложения есть?
...
Рейтинг: 0 / 0
01.04.2009, 12:43
    #35905455
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
GAL21А еще предложения есть?

Зарегистрировать СОМ-серверы 1С руками если влом ставить из дистрибутива
...
Рейтинг: 0 / 0
01.04.2009, 14:09
    #35905752
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Спасибо всем, получилось.
Теперь есть модуль


obj = CreateObject("V8.Application")
obj.Connect('File="C:\Documents and Settings\Проба";USR="Польз"')
obj.Visible = .T.

oQue = obj.NewObject("Запрос")
oQue.УстановитьПараметр("ДатаНач", {^2005-05-18 0:00:00})
oQue.УстановитьПараметр("ДатаКон", {^2010-05-18 23:59:59})
oQue.Текст = "ВЫБРАТЬ * ИЗ Документ.ПоступлениеТоваровУслуг " + ;
"ГДЕ Дата МЕЖДУ &ДатаНач И &ДатаКон"
oRes = oQue.Выполнить().Выгрузить()
MESSAGEBOX(TRANSFORM(oRes.Количество()))
CREATE CURSOR bDocs (numb C(8), date D)
FOR EACH oRow IN oRes
INSERT INTO bDocs (numb, date) VALUES (oRow.Номер, oRow.Дата)
ENDFOR
IF lApp
obj.Exit()
ENDIF
RELEASE obj
SELECT bDocs
BROWSE NORMAL

Выдает ошибку на oRes
...
Рейтинг: 0 / 0
01.04.2009, 14:17
    #35905778
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Текст ошибки какой?
...
Рейтинг: 0 / 0
01.04.2009, 14:21
    #35905792
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
oRes cannot be enumereted. Причем в отладчике я вижу ores.количество. Т.е. звпрос выполнен и выгружен , но как его просмотреть, не пойму
...
Рейтинг: 0 / 0
02.04.2009, 05:51
    #35907123
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
И все же - кто-нибудь заппос и 1с выгружал в FOX? Подскажите
...
Рейтинг: 0 / 0
02.04.2009, 07:41
    #35907151
SindoMeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
GAL21oRes cannot be enumereted. Причем в отладчике я вижу ores.количество. Т.е. звпрос выполнен и выгружен , но как его просмотреть, не пойму
Error 1794: "name" cannot be enumerated The FOR EACH comand can only be used to enumerate a Visual FoxPro array, an OLE array, a Visual FoxPro collection, or an OLE collection.

То есть в данном случае oRes не является ни одним из этих объектов - а сие значит, что надо искать другой вариант обработки oRes, без FOR EACH.
...
Рейтинг: 0 / 0
02.04.2009, 07:49
    #35907160
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Интересует в данном случае - что такое oRes . В отладчике стоит - object. ; ores.количество - показывает каоличество записей выбранных по данному запросу. Но как посмотреть сами записи?
...
Рейтинг: 0 / 0
02.04.2009, 07:59
    #35907167
SindoMeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
GAL21Интересует в данном случае - что такое oRes . В отладчике стоит - object. ; ores.количество - показывает каоличество записей выбранных по данному запросу. Но как посмотреть сами записи?
раз объект, да и с количством, то может помочь и такой вариант: oRes[1] ([2],[3]...) в обычном цикле.
...
Рейтинг: 0 / 0
02.04.2009, 08:06
    #35907173
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
ores[1] - exprerssion coud not be evaluated - ничего не дает
...
Рейтинг: 0 / 0
02.04.2009, 09:01
    #35907241
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
GAL21ores[1] - exprerssion coud not be evaluated - ничего не дает
Во-первых. 1С стоит у вас и вам проще, чем нам просмотреть свойства и методы объекта oRes.
А так, может быть oRes.Item[1], oRes.Row[1] и так далее и тому подобное.
...
Рейтинг: 0 / 0
02.04.2009, 09:48
    #35907342
VFP и с8
во-первых, тогда уж вот так
Код: plaintext
1.
oQue.Текст = "ВЫБРАТЬ * ИЗ Документ.ПоступлениеТоваровУслуг " + CHR( 13 ) + ; 
"ГДЕ ИЗ Документ.ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон"

а во-вторых, возможно будут проблемы вот с этим
Код: plaintext
1.
oQue.УстановитьПараметр("ДатаНач", {^ 2005 - 05 - 18   0 : 00 : 00 }) 
oQue.УстановитьПараметр("ДатаКон", {^ 2010 - 05 - 18   23 : 59 : 59 })

говорю, возможно, т.к. проверять щас лень

лучше сделать что-то типа этого
Код: plaintext
1.
2.
3.
4.
data1 = GOMONTH(DATE(), - 1 )
data2 = DATE()
oQue.УстановитьПараметр("ДатаНач", obj.МойОбщийМодуль.ПолучитьНачалоДня(data1)) 
oQue.УстановитьПараметр("ДатаКон", obj.МойОбщийМодуль.ПолучитьКонецДня(data2))
а в конфигураторе 1С добавить общий модуль МойОбщийМодуль, в котором будут две наших функции ПолучитьНачалоДня() и ПолучитьКонецДня()
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Функция ПолучитьНачалоДня(ТекДата) Экспорт
	Возврат НачалоДня(ТекДата);
КонецФункции

Функция ПолучитьКонецДня(ТекДата) Экспорт
	Возврат КонецДня(ТекДата);
КонецФункции
...
Рейтинг: 0 / 0
02.04.2009, 11:16
    #35907610
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Запрос то выполняет, поскольку дает количествао записей, ьполученных по данному запросу.
...
Рейтинг: 0 / 0
02.04.2009, 12:24
    #35907956
VFP и с8
посмотреть результат выборки можно вот так
Код: plaintext
1.
2.
oRes = oQue.Выполнить().Выгрузить() 
oRes.ВыбратьСтроку()

а перебор строк делать в цикле
Код: plaintext
1.
2.
3.
DO WHILE oRes.Следующий()
....
ENDDO
но только в место метода Выгрузить() надо использовать метод Выбрать(), т.е. сделать так
oRes = oQue.Выполнить().Выбрать()

или если использовать выгрузку в таблицу значений, т.е. использовать всё-таки метод Выгрузить(), то обращаться к данным таблицы значений надо по индексам
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
RowsCount       = oRes.Количество()
ColumnsCount   = oRes.Колонки.Количество()
FOR i =  0  TO RowsCount -  1 
    FOR j =  0  TO ColumnsCount -  1 
        ? oRes[i][j]
    ENDFOR
ENDFOR


а вот это obj.Visible = .T. ни к чему...
...
Рейтинг: 0 / 0
03.04.2009, 08:05
    #35909718
GAL21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP и с8
Большое спасибо, кое что получилось. Работает вот такой код

obj = CreateObject("V8.Application")
obj.Connect('File="D:\Documents and Settings\1C\Enterprise";Usr="Польз"')

oQue = obj.NewObject("Запрос")
oQue.Текст = "ВЫБРАТЬ Дата,Номер,СуммаДокумента ИЗ Документ.ПоступлениеТоваровУслуг "
Res = oQue.Выполнить().Выбрать()
RowsCount = Res.Количество()
*ColumnsCount = Res.Колонки.Количество()
FOR i = 0 TO RowsCount - 1
? Res.Номер+" "+str(Res.СуммаДокумента
ENDFOR

obj.Exit()
RELEASE obj

ColumnsCount = Res.Колонки.Количество() - дает ошибку OLE

Но что самое интеренсное - данные - ?Res.Номер+" "+str(Res.СуммаДокумента - показывает через одну запись , т.е. не каждую, а точно ч/з одну
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP и с8 / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]