powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP и с8
31 сообщений из 31, показаны все 2 страниц
VFP и с8
    #35904818
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На FOX делаю

loV8App = CREATEOBJECT("V8.Application")
дает ошибку
Class definition V8.Application is not found
Где его взять
...
Рейтинг: 0 / 0
VFP и с8
    #35904858
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
VFP и с8
    #35904899
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не дает v8 и 81.Выдает туже ошибку
...
Рейтинг: 0 / 0
VFP и с8
    #35904904
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык сама 1с установлена на клиенте или нет?
...
Рейтинг: 0 / 0
VFP и с8
    #35904930
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установлена и работает. Но дело в том, что была переписана с другого компьютера
...
Рейтинг: 0 / 0
VFP и с8
    #35904938
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как переписана через дистрибутив или просто файлами?
...
Рейтинг: 0 / 0
VFP и с8
    #35904981
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто файлами
...
Рейтинг: 0 / 0
VFP и с8
    #35905053
GAL21Просто файламиНу и чего Вы тогда хотите? Непорочного зачатия? Откуда появится соответствующая информация в реестре винды?
...
Рейтинг: 0 / 0
VFP и с8
    #35905068
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так и прошу - как записать
...
Рейтинг: 0 / 0
VFP и с8
    #35905079
GAL21Ну так и прошу - как записатьУстановить с дистрибутива, как это ни странно некоторым покажется.
...
Рейтинг: 0 / 0
VFP и с8
    #35905103
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще предложения есть?
...
Рейтинг: 0 / 0
VFP и с8
    #35905455
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GAL21А еще предложения есть?

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


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
VFP и с8
    #35905778
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текст ошибки какой?
...
Рейтинг: 0 / 0
VFP и с8
    #35905792
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oRes cannot be enumereted. Причем в отладчике я вижу ores.количество. Т.е. звпрос выполнен и выгружен , но как его просмотреть, не пойму
...
Рейтинг: 0 / 0
VFP и с8
    #35907123
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И все же - кто-нибудь заппос и 1с выгружал в FOX? Подскажите
...
Рейтинг: 0 / 0
VFP и с8
    #35907151
SindoMeon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
VFP и с8
    #35907160
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересует в данном случае - что такое oRes . В отладчике стоит - object. ; ores.количество - показывает каоличество записей выбранных по данному запросу. Но как посмотреть сами записи?
...
Рейтинг: 0 / 0
VFP и с8
    #35907167
SindoMeon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GAL21Интересует в данном случае - что такое oRes . В отладчике стоит - object. ; ores.количество - показывает каоличество записей выбранных по данному запросу. Но как посмотреть сами записи?
раз объект, да и с количством, то может помочь и такой вариант: oRes[1] ([2],[3]...) в обычном цикле.
...
Рейтинг: 0 / 0
VFP и с8
    #35907173
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ores[1] - exprerssion coud not be evaluated - ничего не дает
...
Рейтинг: 0 / 0
VFP и с8
    #35907241
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GAL21ores[1] - exprerssion coud not be evaluated - ничего не дает
Во-первых. 1С стоит у вас и вам проще, чем нам просмотреть свойства и методы объекта oRes.
А так, может быть oRes.Item[1], oRes.Row[1] и так далее и тому подобное.
...
Рейтинг: 0 / 0
VFP и с8
    #35907342
во-первых, тогда уж вот так
Код: 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
VFP и с8
    #35907610
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос то выполняет, поскольку дает количествао записей, ьполученных по данному запросу.
...
Рейтинг: 0 / 0
VFP и с8
    #35907956
посмотреть результат выборки можно вот так
Код: 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
VFP и с8
    #35909718
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо, кое что получилось. Работает вот такой код

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
VFP и с8
    #35909776
авторColumnsCount = Res.Колонки.Количество() - дает ошибку OLE

правильно, что выдаёт ошибку... я же написал, когда и как надо использовать методы Выбрать() и Выгрузить()... если ты используешь метода Выбрать(), то объекта типа "колонка" у результата выборки нет и использовать Колонки.Количество() нельзя... такую конструкцию можно использовать только при выгрузки данных в таблицу значений (это такой объект есть в 1С), т.е. если используешь метод Выгрузить()
и если используешь метод Выбрать(), то лучше используй цикл типа DO WHILE oRes.Следующий(), а не FOR
...
Рейтинг: 0 / 0
VFP и с8
    #35909805
и чего-то ты темнишь ;)
такое впечатление, что ты сюда выкладываешь не тот код, который используешь в проге, а не вырезанносокращённоупрощеннодоработанный
...
Рейтинг: 0 / 0
VFP и с8
    #35909851
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо. Ничего не темню. Работает код

set step on

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

oQue = obj.NewObject("Запрос")
Дата1={^2007-01-01 00:00:00}
Дата2={^2007-12-31 23:59:59}

oQue.УстановитьПараметр("ДатаНач", Дата1)
oQue.УстановитьПараметр("ДатаКон", Дата2)
oQue.Текст = "ВЫБРАТЬ Дата,Номер,СуммаДокумента ИЗ Документ.ПоступлениеТоваровУслуг ГДЕ Дата между &ДатаНач и &ДатаКон"
Res = oQue.Выполнить().Выбрать()
RowsCount = Res.Количество()
*ColumnsCount = Res.Колонки.Количество()
do while res.Следующий()
? Res.Номер+" "+str(Res.СуммаДокумента)+" "+str(Res.СуммаДокумента)


ENDdo

obj.Exit()
**ENDIF
RELEASE obj
**SELECT bDocs
**BROWSE NORMAL


Изыски продолжу в Понедельник. Буду разбираться с датами
...
Рейтинг: 0 / 0
VFP и с8
    #35910049
по датам я уже сказал как лучше сделать: предоставь лучше право определять начало и конец дня самой 1С (см. выше), а из фокса передавай в 1С даты в привычном для фокса виде...
...
Рейтинг: 0 / 0
VFP и с8
    #35966223
GAL21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соединение с 1с на локальном компе проходило, теперь пытаюсь подключиться к серверу
obj.Connect('Srvr="SERVAK";Ref="UPP_TEST"')
Не дает , пишет типа "Information base not found, creatr new?
...
Рейтинг: 0 / 0
VFP и с8
    #35968214
ну значит нет базы с именем UPP_TEST, вот и предлагает создать её....
посмотри Программы->1С Предприятие->Серверы 1С предприятие->Список информационных баз
есть там такая база?
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP и с8
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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