|
Общий модуль через com-соединение | ☑ | ||
---|---|---|---|---|
0
din107
06.01.13
✎
21:14
|
Доброе время суток!!!
Подскажите, пожалуйста, подключаюсь из конфигурации на платформе 7.7 к конфигурации на платформе 8.2. Ком = СоздатьОбъект("v82.ComConnector"); СтрокаПодключенияДляСервера = "Usr = " + Юзвер + "; Pwd = " + Пароль + "; Srvr="""+СокрЛП(АдресСервера)+""";Ref="""+СокрЛП(БазаДанных)+""""; Состояние("Соединяемся с базой данных..."); Попытка База = Ком.Connect(СтрокаПодключенияДляСервера); Состояние("Соединение с базой установлено..."); Исключение Сообщить("Не удалось подключиться по строке <" + СтрокаПодключенияДляСервера + ">: " + ОписаниеОшибки(),"!"); КонецПопытки; Можно ли как-то через переменную База обратиться к функциям общего модуля? Или обязательно, чтобы функции располагались в модуле внешнего соединения? |
|||
1
Нуф-Нуф
06.01.13
✎
21:26
|
да. только у модуля должна быть галка внешнее соединение
|
|||
2
din107
06.01.13
✎
21:39
|
У меня есть общий модуль "ФункцииРаботыСSQL" в котором есть функция ВернутьЗначениеПереданногоПараметра(). Не очень монимаю, как правильно обратиться к этой функции? Пытался Так Ком = СоздатьОбъект("v82.ComConnector");
СтрокаПодключенияДляСервера = "Usr = " + Юзвер + "; Pwd = " + Пароль + "; Srvr="""+СокрЛП(АдресСервера)+""";Ref="""+СокрЛП(БазаДанных)+""""; Состояние("Соединяемся с базой данных..."); Попытка База = Ком.Connect(СтрокаПодключенияДляСервера); Состояние("Соединение с базой установлено..."); Исключение Сообщить("Не удалось подключиться по строке <" + СтрокаПодключенияДляСервера + ">: " + ОписаниеОшибки(),"!"); КонецПопытки; Результат = База.ОбщийМодуль.ФункцииРаботыСSQL.ВернутьЗначениеПереданногоПараметра(); Выдает ошибку, что функция не существует |
|||
3
XLife
06.01.13
✎
22:01
|
убери ".ОбщийМодуль"
|
|||
4
din107
06.01.13
✎
22:28
|
(3) Пробовал, не помогает
Функция ВернутьЗначениеПереданногоПараметра() является экспортной. У модуля ФункцииРаботыСSQL галка внешнее соединение стоит. |
|||
5
zladenuw
06.01.13
✎
22:29
|
(4) если галка стоит глобальный(вроде) . то без ФункцииРаботыСSQL просто База.ВернутьЗначениеПереданногоПараметра();
|
|||
6
din107
06.01.13
✎
22:31
|
(5) Галка глобальный не стоит. А галка обязателбно должна стоять? Без неё никак?
|
|||
7
zladenuw
06.01.13
✎
22:32
|
(6) нет не обязательно. хм странно. а сервер или клиент ? должно тогда работать
|
|||
8
zladenuw
06.01.13
✎
22:33
|
у нее экспорт есть ?
|
|||
9
din107
06.01.13
✎
22:34
|
(7, 8) Экспорт есть, У модуля установлены галки: Сервер и Клиент(обычное приложение)
|
|||
10
din107
06.01.13
✎
22:37
|
(9) а также галки "внешнее соединение" и "вызов сервера"
|
|||
11
zladenuw
06.01.13
✎
22:38
|
хз. попробуй в модуль внешнего запихнуть и вызвать. вообще должно работать
|
|||
12
din107
06.01.13
✎
22:39
|
Если я ставлю в модуль внешнего соединения, то всё отрабатывает. Мне интересно, как вызвать процедуры именно из общего модулю
|
|||
13
din107
07.01.13
✎
10:28
|
ап
|
|||
14
din107
07.01.13
✎
14:16
|
поднимем
|
|||
15
ДенисЧ
07.01.13
✎
14:26
|
(12) сделай переадресацию из модуля внешнего соединения в общий модуль.
|
|||
16
din107
07.01.13
✎
14:37
|
(15) т.е. я правильно понимаю, что в любом случае необходимо будет прописывать процедуру в модуле внешнего соединения? Минуя модуль внешнего соединения не получится?
|
|||
17
ДенисЧ
07.01.13
✎
14:38
|
(16) угу. Ну, насколько мне хватает опыта в этих делах. Но я могу ошибаться.
Поэтому сделай переадресацию - сэкономишь много времени |
|||
18
din107
07.01.13
✎
23:28
|
А такой вопрос: если у меня есть справочник номенклатуры в 7-ке и в 8-ке. Я хочу их синхронизировать. Для того, чтобы мне получить значение реквизитов: Наименование, полное наименование, базовая ед. измерения в 8-ке мне необходимо будет для каждого реквизита делать обращение к базе? При этом в модуле внешнего соединения прописывать функции в зависимости от того, какой реквизит я хочу получить?
|
|||
19
din107
08.01.13
✎
09:20
|
ап
|
|||
20
Wobland
08.01.13
✎
09:22
|
(18) ну верни структуру один раз
|
|||
21
din107
08.01.13
✎
09:23
|
(20) А как вернуть структуру через COMОбъект в 7-ку?
|
|||
22
Wobland
08.01.13
✎
09:25
|
(21) не знаю, я сплю. направление мысли понял?
|
|||
23
Wobland
08.01.13
✎
09:25
|
а ещё есть на свете КД...
|
|||
24
din107
08.01.13
✎
09:26
|
Я просто нигде не нашел этого. Видел только то, что можно можно получать только строковый тип.
|
|||
25
din107
08.01.13
✎
09:27
|
(23) Через конвертацию данных пока не хочу. Мне просто надо подключиться и вернуть определенные данные.
|
|||
26
Wobland
08.01.13
✎
09:30
|
(24) а число? вот не поверю, чтоб число не возвращалось. ну и как бы структура - общий тип для семёрки и восьмёрки (да же?)
|
|||
27
din107
08.01.13
✎
09:37
|
(26) Число - тоже можно возвратить. А вот про структуру в 7-ке я что-то не слышал. На сколько я знаю, она появляется только в 8-ке
|
|||
28
Wobland
08.01.13
✎
09:39
|
(27) тебе поискать общие типы для семёрки или восьмёрки? или сразу попробовать подключиться и получить, а сюда готовое положить?
|
|||
29
din107
08.01.13
✎
09:46
|
Готовое решение мне не надо, я его и сам смогу получить. Вопрос просто состоит в другом: кроме строки и числа через com-объект можно какие-нибудь вытянуть данные?
|
|||
30
hhhh
08.01.13
✎
14:09
|
вроде когда читаешь реквизит, она вытаскивает объект из базы в кеш. И больше к базе не возвращается. то есть делать обращение за каждым реквизитом в базу не требуется.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |