|
Перегрузка через Оле для УФ | ☑ | ||
---|---|---|---|---|
0
Мисти
26.11.13
✎
00:07
|
Подключение = Новый COMОбъект("V82.COMConnector");
БазаОле = Подключение.Connect("File=""" + СокрЛП(Объект.ПутьКФайловойБД) + """; Usr=""" + СокрЛП(Объект.Логин) + """; Pwd=""" + СокрЛП(Объект.Пароль) + """"); КонтрТорг = БазаОле.Справочники.Контрагенты.Выбрать(); Не работает! А не в УФ - вроде, работало! |
|||
1
Мисти
26.11.13
✎
00:09
|
БазаОле = Новый COMОбъект("v82.Application"); - там, правда, так было.
Как правильно и что от этого зависит? |
|||
2
Мисти
26.11.13
✎
00:14
|
ага, если v82.Application - то база прям запускается!
|
|||
3
Мисти
26.11.13
✎
00:17
|
{Форма.Форма.Форма(304)}: Значение не является значением объектного типа (Справочники)
КонтрТорг = БазаОле.Справочники.Контрагенты.Выбрать Всё равно ругается! |
|||
4
Мисти
26.11.13
✎
00:23
|
БазаОле = Новый COMОбъект("v81.Application");
Попытка Состояние("Идет подключение к базе, подождите..."); БазаОле.Connect("File=""G:\ЮЛЯ\Восьмерка\БАЗЫ под 8.2...""; Usr=""Шап""; Pwd=""" + """;"); |
|||
5
hhhh
26.11.13
✎
00:27
|
на клиенте недоступно "Справочники". делайте на сервере
|
|||
6
Мисти
26.11.13
✎
00:28
|
&НаСервере
Процедура ЗагрузитьКонтрагентовНаСервере() КонтрТорг = БазаОле.Справочники.Контрагенты.Выбрать(); |
|||
7
Мисти
26.11.13
✎
00:30
|
Я так и делаю!
Подключение = Новый COMОбъект("V82.COMConnector"); БазаОле = Подкл... или так? БазаОле = Новый COMОбъект("V82.COMConnector"); //COMConnectorApplication Если Объект.ИспользуетсяСервер1С = Истина тогда Соединение = БазаОле.Connec Если я потом БазаОле использую? |
|||
8
Мисти
26.11.13
✎
00:32
|
В форме? Или обязательно в модуль обработки переходить?
|
|||
9
Конфигуратор1с
26.11.13
✎
00:37
|
(5) по оле пофигу)
|
|||
10
Мисти
26.11.13
✎
00:38
|
Тогда что не по фигу? Для УФ первый раз делаю перегрузку, а раньше работало и так и эдак.
|
|||
11
Мисти
26.11.13
✎
00:41
|
К чему потом к базе обращаться? Смотрю, у меня 2 разных варианта -
Подключение = Новый COMОбъект("V82.COMConnector"); Если ВыборкаБаз.ИспользуетсяСервер1С = Истина тогда БазаОткрыта = Подключение.Connect("Srv... И потом обращение к БазаОткрыта и как в (4) |
|||
12
Мисти
26.11.13
✎
01:01
|
Очень надо!!!
|
|||
13
GreyK
26.11.13
✎
01:02
|
(11) Можешь в отладчике посмотреть, можешь поверить мне на слово и обращаться к "Подключение".
|
|||
14
Мисти
26.11.13
✎
01:03
|
У меня тут уже мильон вариантов описан.
Можно последовательно - что к чему подключать? Я уже по-всякому пробовала. |
|||
15
Мисти
26.11.13
✎
01:21
|
ау?
|
|||
16
H A D G E H O G s
26.11.13
✎
01:31
|
(15) могу подключиться и глянуть
|
|||
17
Мисти
26.11.13
✎
01:33
|
Да я всё уже выложила!
У меня одновременно 2 задачки - зависает компьютер, в тимвьере - вообще ничего не видно будет. |
|||
18
Мисти
26.11.13
✎
01:52
|
может, надо процедуры в модуль объекта перенести?
|
|||
19
Мисти
26.11.13
✎
02:31
|
Наверное, дело в том, что базаОле я определила как переменную в модуле формы.
Так не делают? До этого пыталась сделать реквизит формы - тоже не получилось. |
|||
20
Мисти
26.11.13
✎
02:34
|
Точно. Все дело в переменной базаОле.
Объект.БазаОле? |
|||
21
Мисти
26.11.13
✎
13:48
|
Что с переменной-то делать?
У меня такая структура: Перем БазаОле; НаСервере подключение() БазаОле = Подключение.Connect("File=""" + СокрЛП(Объ.... НаСервере ПерегрузитьТо() КонтрТорг = БазаОле.Справочники.Контрагенты.Выбрать ... НаСервере ПерегрузитьСЁ() НоменТорг = БазаОле.Справочники....... |
|||
22
Мисти
26.11.13
✎
14:09
|
ау?
|
|||
23
User_Agronom
26.11.13
✎
14:13
|
Я выборочно читал.
Директива &НаСервере перед процедурой есть? |
|||
24
Мисти
26.11.13
✎
14:14
|
Сделать Базаоле реквизитом обработки?
Перенести все действия из формы в модуль? Последнее свариант - переделать не для УФ и открывать базу специально в другом режиме для перегрузки. (23) Да! |
|||
25
Мисти
26.11.13
✎
14:15
|
Если это идет в той же процедуре, то всё срабатывает!
КонтрТорг = БазаОле.Справочники.Контрагенты.Выбрать ... А если в другой, то нет. |
|||
26
User_Agronom
26.11.13
✎
14:16
|
(25) В УФ должна быть.
|
|||
27
H A D G E H O G s
26.11.13
✎
14:16
|
Давай я подключусь
|
|||
28
acsent
26.11.13
✎
14:16
|
зачем на клиенте делать, лучше на сервере
|
|||
29
acsent
26.11.13
✎
14:18
|
Нигде не увидел текста ошибки
|
|||
30
Мисти
26.11.13
✎
14:21
|
Форма.Форма.Форма(304)}: Значение не является значением объектного типа (Справочники)
КонтрТорг = БазаОле.Справочники.Контрагенты.Выбрать - в п. 3 было! |
|||
31
Мисти
26.11.13
✎
14:23
|
(27) Давай! [email protected] напишу адрес-пароль.
|
|||
32
H A D G E H O G s
26.11.13
✎
14:27
|
написал
|
|||
33
Мисти
26.11.13
✎
14:33
|
Написала!
|
|||
34
ProxyInspector
26.11.13
✎
15:12
|
Если у тебя тонкий клиент, тогда есть несколько тонкостей при подключении по ОЛЕ.
1. Ты можешь запускать ОЛЕ на клиенте. 2. На компьютере, который является Сервером 1с предприятия (тонкий клиент) В первом случае все более менее понятно, во втором случае требуется несколько магических заклинаний. а. Необходимо дать права пользователю, под которым работает Сервер1СПредприятия (user1cv82) на запуск и активацию 8-ки в режиме ОЛЕ б. Если требуется одновременно работать с ОЛЕ от имени разных пользователей, то надо при настройке службы " Агент Сервера 1с Предприятия" установить галочку "Вход в систему с системной учетной записью" и галочку "Разрешить взаимодействие с рабочим столом". Если этого не сделать, то возможен только запуск одного экземпляра ОЛЕ. Ну а дальше все как обычно. |
|||
35
Мисти
26.11.13
✎
15:46
|
Если ЗначениеЗаполнено(АдресСоединения) И ЭтоАдресВременногоХранилища(АдресСоединения) Тогда
БазаОЛЕ=ПолучитьИзВременногоХранилища(АдресСоединения); КонецЕсли; Мне помогли! Всё понятно, но всё равно непонятно. Почему АдресСоединения сохраняется, а базаОле - нет? Я эту переменную тоже определяла в реквизитах формы! (был такой эксперимент) |
|||
36
H A D G E H O G s
26.11.13
✎
15:49
|
(35) Адрес соединения - это реквизит форму, с типом строка - строку можно передавать на сервер.
БазаОЛЕ - это переменная на сервере, между серверными вызовами она очищается. Если бы ты добавила БазаОЛе произвольного типа, то при завершении подключения (возврате на клиент) у тебя бы возникла ошибка преобразование XDTO |
|||
37
H A D G E H O G s
26.11.13
✎
15:49
|
Если бы ты добавила БазаОЛе произвольного типа, как реквизит формы.
|
|||
38
Мисти
26.11.13
✎
15:54
|
Спасибо!
Читаю статью и тащу из нее куски. Мечтаю о пенсии. |
|||
39
Мисти
26.11.13
✎
16:10
|
http://kb.mista.ru/article.php?id=678
Чем функции в модуле обработки лучше? |
|||
40
H A D G E H O G s
26.11.13
✎
16:13
|
(39) Это писалось для обычного приложения.
В модуле объекта - работа с данными В модуле формы - работа с интерфейсом. Фсе по фэншую. |
|||
41
Мисти
26.11.13
✎
16:17
|
Для УФ - так же?
по фэншую - в смысле для красоты и так принято, или есть какие-то причины? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |