Подключение Fox к 1С через Automation Server

1. Azgerd 30.09.22 14:47 Сейчас в теме
Здравствуйте! Пробую подключиться к 1С через Automation Server, выполняю в Fox-е следующий код

Basa1C = CREATEOBJECT("V83c.Application")
Basa1C.Connect('File=["C:\1С8\Учеба\ГотовыеРешенияЭкзамена\ОперативныйУчет\ОУ1"];Usr=["Иванов"];')
Basa1C.Document.Rashod.CreateDocument()

Строка Basa1C.Connect('File=["C:\1С8\Учеба\ГотовыеРешенияЭкзамена\ОперативныйУчет\ОУ1"];Usr=["Иванов"];') Выполняется без ошибки, вроде подключение происходит, и в теории объект Basa1C
должен получить объекты метаданных и методы конфигурации 1С
Строка Basa1C.Document.Rashod.CreateDocument() не выполняется, выдает ошибку Member Document does not evaluate to an object

Смотрел пример подключения в Visual Basic, там был следующий код:
Sub OLE()

Dim trade As Object
Dim Элемент As Object
Set trade = CreateObject("V83.Application")
trade.Connect("File=""c:\InfoBases\Trade"";Usr=""Director"";")

Rem создаем документ

Set Документ = trade.Документы.РасходнаяНакладная.СоздатьДокумент()
Показать

Из-за того что Fox не распознаёт кирилицу, объекты метаданных в команде указал в английских синонимах, и на всякий случай для эксперимента переименовал в конфигурации документ "РасходнаяНакладная" в "Rashod", но что-то не взлетает. Вообще реально Fox-ом подключиться к объектам 1С ?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. spacecraft 30.09.22 15:08 Сейчас в теме
(1)
Basa1C = CREATEOBJECT("V83c.Application")

(1)
Set trade = CreateObject("V83.Application")

В первом случае это тонкий клиент, во втором случае это толстый клиент.
В тонком клиенте СоздатьДокумент не доступен.
В общем как и ДокументыМенеджер.
lsg45; triviumfan; +2 Ответить
8. triviumfan 93 30.09.22 15:19 Сейчас в теме
(7) не заметил) а почему не v83.COMConnector? зачем ему полноценный клиент.
Я бы делал через внешнее соединение.
ЗЫ: если оно доступно, конечно, если нет, то нужно регистрировать comcntr.dll на стороне 1с. Но плюсы (скорость выполнения и меньше ресурсов) очевидны.
9. spacecraft 30.09.22 15:26 Сейчас в теме
(8)
зачем ему полноценный клиент

Это к автору топика. Я еще мысли читать не умею :)
Может нужно окно открыть созданного документа .
2. triviumfan 93 30.09.22 14:50 Сейчас в теме
Может
Basa1C.Documents.Rashod.CreateDocument()
?
Documents
3. Azgerd 30.09.22 14:54 Сейчас в теме
(2) Documents попробовал - не помогло...
4. triviumfan 93 30.09.22 14:56 Сейчас в теме
(3) Теперь должна быть другая ошибка. Описание в студию
5. Azgerd 30.09.22 15:03 Сейчас в теме
(4) Ошибка та же "Member Documents does not evaluate to an object"
6. Azgerd 30.09.22 15:08 Сейчас в теме
Смущает, что после выполнения
Basa1C.Connect('File=["C:\1С8\Учеба\ГотовыеРешенияЭкзамена\ОперативныйУчет\ОУ1"];Usr=["Иванов"];')


в отладчике Fox-а такая картина:
Прикрепленные файлы:
10. Azgerd 30.09.22 15:37 Сейчас в теме
(8) Мне действительно нужен полноценный клиент, т.к хорошо бы не только читать но создавать в 1С документы... Исправил CreateObject("V83c.Application") на CreateObject("V83.Application"), теперь при выполнении
Basa1C.Connect('File=["C:\1С8\Учеба\ГотовыеРешенияЭкзамена\ОперативныйУчет\ОУ1"];Usr=["Иванов"];')

появилась ошибка:
Прикрепленные файлы:
12. triviumfan 93 30.09.22 15:42 Сейчас в теме
(10)
т.к хорошо бы не только читать но создавать в 1С документы

Не, полноценный клиент нужен не для этого, а для клиентского интерфейса, его клиентских методов.
Чтобы читать/создавать объекты достаточно внешнего соединения.
11. Azgerd 30.09.22 15:40 Сейчас в теме
В каталоге C:\1С8\Учеба\ГотовыеРешенияЭкзамена\ОперативныйУчет\ОУ1 действительно нет файла 1Cv8.cdn.
13. triviumfan 93 30.09.22 15:45 Сейчас в теме
(11) а что у тебя за платформа то установлена?
14. Azgerd 30.09.22 16:09 Сейчас в теме
15. Azgerd 30.09.22 16:21 Сейчас в теме
Спасибо всем кто откликнулся ,такой код в FOX-е заработал

Put = 'C:\1С8\Учеба\ГотовыеРешенияЭкзамена\ОперативныйУчет\ОУ1'
Pas = ''
User1C = 'Иванов' 
V83= CREATEOBJECT("V83.Application")
V83.Connect('File=' + Put + ';Usr=' + User1C + ';Pwd=' + Pas + ';')
Dokum = V83.Документы.РасходнаяНакладная.СоздатьДокумент()

Походу в строке 'File=["C:\1С8\Учеба\ГотовыеРешенияЭкзамена\ОперативныйУчет\ОУ1"];Usr=["Иванов"];' были какие-то непонятки...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот