|
Выполнение функции &НаСервере | ☑ | ||
---|---|---|---|---|
0
Gera1t
07.12.17
✎
16:50
|
Здравствуйте!
База УТ 10.3 Всю жизнь была файловая. Есть еще 1 база тоже файловая. Вот такой функцией подключались из УТ к другой базе: Функция ПолучитьПодключениеКФайловойБД() Экспорт КаталогБазыДанных = ПолучитьПредопределенноеЗначение("КаталогБазыДанных"); Пользователь = ПолучитьПредопределенноеЗначение("ПользовательИБ"); Пароль = ПолучитьПредопределенноеЗначение("ПарольПользователяИБ"); СтрокаПодключения = "file='" + КаталогБазыДанных + "'; usr='" + Пользователь + "'; pwd='" + Пароль + "';"; V83COMConnector= Новый COMОбъект("V83.COMConnector"); Попытка Возврат V83COMConnector.Connect(СтрокаПодключения); Исключение Предупреждение ("Ошибка подключения!"+ОписаниеОшибки()); Возврат Неопределено; КонецПопытки; КонецФункции Все работало отлично. Перенесли УТ на SQL. Соответственно к файловой базе которая находиться на том же компе что и УТ он не может подключиться с другого комп. Дописал "&НаСервере" перед функцией теперь ругается: Метод объекта не обнаружен (ПолучитьПодключениеКФайловойБД) Соединение = БонКарты.ПолучитьПодключениеКФайловойБД(); Подскажите пожалуйста как решить? |
|||
1
igork1966
07.12.17
✎
16:52
|
(1) Как минимум нужно знать откуда вызывается и параметры модуля где лежит
|
|||
2
Gera1t
07.12.17
✎
16:54
|
общий модуль называется: БонКарты
На модуле все галочки кроме Управляемое приложение отмечены Вызывается из этого же модуля |
|||
3
3achem
07.12.17
✎
17:02
|
(2) В модуле можно не объявлять где будет исполнение, это нужно для форм.
Если функция в том же модуле, то зачем к ней через точку обращаться? |
|||
4
AlvlSpb
07.12.17
✎
17:21
|
(2) У тебя УТ 10.3 - это ОФ! Какое &НаСервере?
Ошибка,скорей всего здесь: СтрокаПодключения = "file='" + КаталогБазыДанных + "'; usr='" + Пользователь + "'; pwd='" + Пароль + "';"; База - это уже не файл на том же компьютере, смотри сетевой путь к базе |
|||
5
mehfk
07.12.17
✎
17:23
|
(0) У вас каша в голове. Попробуйте прочитать документацию для чего нужна конструкция &НаСервере
|
|||
6
3achem
07.12.17
✎
17:29
|
(4) И? В тонком клиенте можно работать с директивами в любой конфигурации
|
|||
7
Gera1t
07.12.17
✎
18:40
|
(4), (5) Обе базы находятся на 1 компьютере. Базы до недавнего времени были файловыми. Потом База УТ 10.3 перевели на SQL, а 2 база осталась файловой. т.е. в База УТ подключалась к другой базе в файловом режиме, например "D:\Base". Все клиенты работали в терминале. Теперь база на SQL и клиенты подключаются к базе со своих стационарных компов и на их компах нет базы в "D:\Base". Эта папка есть на сервере. Поэтому я хочу что бы к каталогу с базой программа обращалась именно на сервере! Я так делал не раз, но с базами на УФ, все работало.
|
|||
8
h-sp
07.12.17
✎
18:54
|
(7) ну тогда &НаКлиенте
|
|||
9
Gera1t
07.12.17
✎
19:14
|
(8) В таком случае каталог с базой разве не на компе клиента УТ будет искать? Мне то нужно что бы каталог с программой УТ искала на компе где база лежит
|
|||
10
Gera1t
07.12.17
✎
19:15
|
(3) Тут ты прав, но этот код не я придумывал.
|
|||
11
h-sp
07.12.17
✎
19:32
|
(9) ну сделайте сетевую папку.
|
|||
12
Tateossian
07.12.17
✎
19:55
|
(10) Это самая крутая отмаза, прямо в топе, когда код творит беду: это не я писал/ это предыдущий разработчик/
|
|||
13
Tateossian
07.12.17
✎
19:57
|
(3) Если модуль возвращает кэшированное значение и нужно получить именно его, а контекст - этот же модуль, то нужно писать именно так. Иначе будет выполнена функция.
|
|||
14
breezee
07.12.17
✎
20:28
|
(12) Ну если действительно так, почему бы не написать об этом?)
|
|||
16
LuciferArh
08.12.17
✎
08:39
|
(0) У сервера 1С нет прав на папку с файловой базой?
|
|||
17
PCcomCat
08.12.17
✎
09:11
|
(16) +100!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |