Имя: Пароль:
1C
 
Вопрос по вк: Delphi + 1с 8.1
0 DSSS
 
27.03.11
12:13
Доброго дня.
Для самообразования и изучения возможностей ВК хотелось бы написать компоненту на Delphi 7 для 1с 8.1. В КЗ есть пример от romix-a, вроде все понятно, все работает.
Функционал вк сводится к следующему: в компоненту передается ссылка на справочник, компонента возвращает его код:
Код = ВК.ПолучитьКодСсылки(Ссылка);
и обратная задача: в компоненту передается код справочника, а возвращается ссылка на элемент справочника с таким кодом:
Ссылка = ВК.ПолучитьСсылкуПоКоду(Код);
Если я правильно понимаю, то для реализации поставленной задачи мне потребуется подключаться к базе 1с из компоненты, т.е. в компоненте перед обращением к базе мне сначала потребуется установить соединение с этой базой, что-то вроде:

s1C8_ole:=UnAssigned;
s1C8_ole:=ConnectTo1C8_COM('V81.COMConnector',ConnectString);

а потом уже искать элемент справочника по коду. В параметр ConnectString мне нужно передать путь к базе, имя пользователя и его пароль.
Вопрос в следующем: можно ли как-то подключиться к базе, нигде не указывая имя пользователя и пароль в явном виде, с тем условием, что авторизация уже пройдена и пользователь уже работает в базе? Т.е. подключиться к базе из компоненты от имени текущего пользователя, от имени пользователя, запустившего компоненту и уже прошедшего авторизацию. Что в таком случае нужно передать в компоненту? СтрокаСоединенияИнформационнойБазы() возвращает только путь к базе, этого недостаточно для подключения. + если требуется использовать имя пользователя и пароль, то нужно будет рисовать какой-то интерфейс для их ввода..
Вобщем, если кто-то в курсе, подскажите, пжл, как обойти проблему с авторизацией при подключении или как можно достичь требуемого результата другим способом?
Спасибо.
1 skunk
 
27.03.11
12:22
нет
2 DSSS
 
27.03.11
12:38
(1) Спасибо. Нет это значит нельзя в Delphi или без разницы на какой платформе делать вк?
Тогда такой вопрос: насколько мне известно, есть конфигурации работающие с данными 1с через вк - это продукты от Рарус, СофтБаланс, АБ и пр, без запросов имя пользователя/пароль.
Как там это реализовано?
3 skunk
 
28.03.11
07:22
(2)идет непосредственно чтение данных из ИБ через АДО ... но для этого надо знать состав ИБ ... причем для скульной опять таки будет требоваться пароль
4 DSSS
 
28.03.11
12:53
Со второй часть задачи вроде разобрался (как передать в компоненту код справочника, чтобы компонента вернула ссылку).
Подскажите, пжл, как решить первую часть задачи: передать в компоненту ссылку, чтобы она вернула код справочника:
Код = ВК.ПолучитьКодСсылки(Ссылка);
что-то нигде не могу найти подходящего примера, если кто в курсе, поделитесь ссылкой.
5 cdiamond
 
28.03.11
12:57
(0) Использовать доменную авторизацию Windows
6 DSSS
 
28.03.11
12:59
(5) неуниверсальный инструмент. Если для половины пользователей 1с включена аутентификация Windows, а для второй половины нет?
7 cdiamond
 
28.03.11
13:08
(6) Просили другой метод - получите.

P.S. А что мешает перевести всех на авторизацию Windows?
8 DSSS
 
28.03.11
13:14
(6) Да, за подсказку спасибо:) Например потому что есть пользователь 1с "Общий", под которым может заходить в базу 10 пользователей домена. Уже существующая организация доступа, менять вряд ли станут.
Да, похоже что нет универсальных вариантов. Уже смирился, с тем, что придется указывать в явном виде имя-пароль.
Сейчас больше интересует (4):)
9 DSSS
 
28.03.11
13:14
(8) к (7)