:: Вопросы по 1С
1c8.1 поднятая с 1с8.0 констатация факта
PaulWist
Автор

Сообщений: 14706
Дата регистрации: 01.04.2004
Случайно методом тыка выяснил, что если 1с8.1 была поднята с 1с8.0 то в ней работа через СОМ-интерфейс идёт так же как и в 1с8.0, например вызов ф-ии из общих модулей должен выглядеть так

Ole1c8 = createobject("V81.Application","")
Ole1c8.Connect(.....)
Ole1c8.ОбщийМодуль.ПользовательскаяФункцияОбщегоМодуля("Параметры")

НО если платформа поднята, то такой синтаксис не работает, говорит что результат вычисления не обьект, а работает конструкция без указания ОбщегМодуля как буд-то платформа 1с8.0:

Ole1c8 = createobject("V81.Application","")
Ole1c8.Connect(.....)
Ole1c8.ПользовательскаяФункцияОбщегоМодуля("Параметры")


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)




Исправлено 1 раз(а). Последнее : PaulWist, 20.05.09 12:13
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Паша, а какие у тебя права стоят но общий модуль и есть ли на нему крыжик "Внешние соединение" ?
в 8.0 все модули были глобальными - в 8.1 по другому, я помню налетел на грабли, тупо поставил "привелигированны" и плюнул, пока просто не было времени в этом разобраться до конца


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
PaulWist
Автор

Сообщений: 14706
Дата регистрации: 01.04.2004
Вадим, привет.

Да, внешнее соединеие стоит и в 1с8 и в 1с81, а вот "привилегированы" не стоит ни там ни там, но вот вызов из СОМ-а происходит по разному, что странно само по себе.

Или ты предлагаешь поставить "галку" привилегированы и посмотреть? Сейчас попробую.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
PaulWist
Автор

Сообщений: 14706
Дата регистрации: 01.04.2004
Вот смотри, галка "привилегированный" снимает галки с "клиет и внешнее соединение", те фактически равносильно установке всех трёх галок вверху.

Не-а, не влияет галка привилегированный на способ вызова всё равно по разному надо.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
А у меня работает

Слепил Модуль - "ТестДляПаши"

в модуле одна функция

// Функция Тест
//
Функция Тест() Экспорт
Возврат "Паша, привет";
КонецФункции // Тест()

Вызывыаю так
V8 = Новый COMОбъект("V81.ComConnector");
Коннект = V8.Connect("File= C:\1C.8.1\Base;Usr=Auto;Pwd=789");
Сообщить(Коннект.ТестДляПаши.Тест());

Ну права надо выставить - я же те говорил - а ты наверное влепил галку "глобальный"

[attachment 8014 001.JPG]

Учи матчасть


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
PaulWist
Автор

Сообщений: 14706
Дата регистрации: 01.04.2004
Ты из фокса выполни, то что 1с можно это не вопрос в фоксе тоже много чего можно, что не доступно в OLEDB.


Ole1c8 = createobject("V81.Application","")
Ole1c8.Connect("File= C:\1C.8.1\Base;Usr=Auto;Pwd=789")
Ole1c8.Visible = .t.
**Ole1c8.ТестДляПаши.Тест() && так работает для 8.1 если с нуля ставили конфу
Ole1c8.Тест() && а так работает в 8.0 и 8.1 если 8.1 поднята с 8.0
Ole1c8 = null

Я про это говорил.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Не могу из фокса -потому что его нету
на vbs, тока пришлось модуль переименовать, а то vbs русских не понимает

set Ole1c8 = createobject("V81.Application")
Ole1c8.Connect("File= C:\1C.8.1\Base;Usr=Auto;Pwd=789")
WScript.Echo Ole1c8.TestForPaul.Test()

Только в случае Application нужно еще ставить галку - "Клиент"

Так как я те поверю на слово, и то что работает в 1С и в VBS - это значит что связывание у фокса ранее (вроде, если не забыл ) а у 1С и VBS - тогда - "позднее" поэтому они видят а фокс нет
Тогда лепи глобальныый модуль для врапперов - вызова функций - такое мое ИМХО ;)


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
PaulWist
Автор

Сообщений: 14706
Дата регистрации: 01.04.2004
Блин, Вадик ты мой пост-то прочитал?

чЁ ты тест для 8.1 пишешь для 8.1 НЕ ПОДНЯТОЙ из 8.0, так как ты написал у меня тоже работает, ты вот так выполни

set Ole1c8 = createobject("V81.Application")
Ole1c8.Connect("File= C:\1C.8.1\Base;Usr=Auto;Pwd=789")
WScript.Echo Ole1c8.Test()

а вот exe-шник 8.1 ПОДНЯТЫЙ и НЕ ПОДНЯТЫЙ не могу по атрибутам файла разделить всё у них одинаково, а вот работают по разному, поэтому врапперу не за что зацепиться.

PS а что ты фокс на работе не поставишь, зпрещают?


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Так, понятно - разговоро слепого с глухим
Что в ТВОЕМ понимании "Поднята" и "не поднятой", кста у нас конфа в 8.1 тоже из 8.0 сделана - так что извратов с модулем и именем процедуры у нас нету, потому что такого понятия в 8.0 не было, это появилось только в 8.1, потому как галки "глобальный" в 8.0 не существовало - там все модули глобальные

Далее
Цитата:
чЁ ты тест для 8.1 пишешь для 8.1 НЕ ПОДНЯТОЙ из 8.0
Потому что твой код
Ole1c8 = createobject("V81.Application","")
Изначально определяет что коннкт идет к 8.1 а не к 8.0

Все равно - про "поднятый","не поднятый" не понял, что ты имел ввиду в этих выражениях

ЗЫ - ОТветить смогу только завтра, уже день кончается, если завтра опять по самые ухи "хотелками" не закидают, хотя и без них работы много, просто достало все, вот отдыхаю тут с тобой и тоже отдыхаю с 1С-кой


------------------
Часто бывает так, что есть над чем задуматься, а нечем.




Исправлено 1 раз(а). Последнее : piva, 26.05.09 14:52
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
PaulWist
Автор

Сообщений: 14706
Дата регистрации: 01.04.2004
piva
Так, понятно - разговоро слепого с глухим

Точно.

piva
.... - так что извратов с модулем и именем процедуры у нас нету, потому что такого понятия в 8.0 не было, это появилось только в 8.1, потому как галки "глобальный" в 8.0 не существовало - там все модули глобальные

Вау, Вадик, очередной ящик с меня , если модуль глобальный то обращение идет как

Ole1c.ПростоВункция()

а если не глобальный, то как

Ole1c.ИмяОбщейФункции.ПростоФункция()

Ха-ха, надо бы почитать мат. часть, если бы она была и если бы я чЁ в 1с понимал бы.

Поэтому мой вывод не правильный, на самом деле видать ребята из Оренбурга поставили галку "глобальный"

Так-с, поскольку ты здесь теперь тусуешься, тогда вопрос

Как узнать есть ли ф-ия в общих модулях, а так же есть ли у неё признак "глобальный"


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Цитата:
Как узнать есть ли ф-ия в общих модулях, а так же есть ли у неё признак "глобальный"
Паша не пробовал - но возможно, наверное, узнать наличие модуля через Метаданные() а вот про функцию - без Try\EndTry не уверен - потому что выполнение фукнции/процедуры может быть необратимым для данных - поэтому судить однозначно - ПОКА не решусь


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
OFF Это как тебя в Оренбурх то занесло


------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
PaulWist
Автор

Сообщений: 14706
Дата регистрации: 01.04.2004
AleksM
OFF Это как тебя в Оренбурх то занесло

Дык, если бы не твоя занятость, то мог бы на Сахалин с Курилами "на халяву" слетать


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
PaulWist
Автор

Сообщений: 14706
Дата регистрации: 01.04.2004
piva
Цитата:
Как узнать есть ли ф-ия в общих модулях, а так же есть ли у неё признак "глобальный"
Паша не пробовал - но возможно, наверное, узнать наличие модуля через Метаданные() а вот про функцию - без Try\EndTry не уверен - потому что выполнение фукнции/процедуры может быть необратимым для данных - поэтому судить однозначно - ПОКА не решусь

Я на 1с-овском форуме тоже спрашивал - ответа не получил, причем народ сильно удивлялся: " как так ты не знаешь имя функции?".


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
PaulWist
Автор

Сообщений: 14706
Дата регистрации: 01.04.2004
Ага, до "глобальный" добрался

Ole1c8.Метеданные.ОбщиеМодули.МояФункция.Глобальный

теперь осталось найти наличие общего модуля

Ole1c8.Метеданные.ОбщиеМодули.Количество() дает количество общих модулей, а вот как получить имена этих модулей?
Ole1c8.Метеданные.ОбщиеМодули.Количество(1).Имя - не прокатывает


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
Ну что нить типа
Ole1c8.Метеданные.ОбщиеМодули.Items(1).Имя - не прокатывает


------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
PaulWist
Автор

Сообщений: 14706
Дата регистрации: 01.04.2004
Нет Сань, не получается "expression could not be ..."


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
Что то рядом, Паш
Третьего не дано
Возможно так
Ole1c8.Метеданные.ОбщиеМодули(1).Имя, либо нужен русский аналог для Items


------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
PaulWist
Автор

Сообщений: 14706
Дата регистрации: 01.04.2004
Сань, 1с-ники отвечают, что такой возможности нет, придется ловить ошибку, как предлагал Вадим.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)




Исправлено 1 раз(а). Последнее : PaulWist, 27.05.09 11:30
Ratings: 0 negative/0 positive
Re: 1c8.1 поднятая с 1с8.0 констатация факта
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
Ну мож и так. Я проверить не могу, т.к. 8.0 снёс, а 8.1 у меня и не было


------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive


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

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

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