Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключаемые базы
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Flexy
Добрый ден.
Вопрос такого плана:
Имеем базу ТИС и 2 базы бухгалтерии.Автоообмен между ними настроен.У 1-го пользователя ТИСа при включении 1С-ки настроена автозагрузка 3-х баз одновременно (т.е база ТИС и 2-е базы Бухгалтерии).Соответственно он может проводить расходные как в торговле, так и в бухии (если включен флаг).Необходимо сделать что бы это все мог еще 1 юзер.Но не могу найти где это делается.
Помогите разобраться где включать и отключать автозагрузку баз при входе в программу?
Заранее СПС!
Vofka
Может роль нужно поставить соответствующую?
Flexy
Цитата(Vofka @ 07.10.10, 17:37) необходимо зарегистрироваться для просмотра ссылки
Может роль нужно поставить соответствующую?

У этих двух юзеров роли стоят одинаковые... 64000000.gif
Vofka
Попробуйте поискать в конфигурации имя пользователя, у которого происходит автозагрузка. Может автозагрузка привязана к конкретному имени. Ну а вообще так тяжело сказать, не видя это "вживую".
Flexy
По пользователю в конфе ни чего не находит.
Подскажите кто знает где вообще настраивается автоподкючение 2-х и более баз...
Flexy
АПну темку.Так до сих пор и не разобрался где происходит автоподключение второй базы.
перерыл всю конфу в поисках пользователей, но привязки от имени пользователя так и не нашел.Зато нашел такой код
//*******************************************
Процедура ПриОткрытии()  
    спрФирмы = СоздатьОбъект("Справочник.Фирмы");
    спрФирмы.ВыбратьЭлементы();    
    Пока спрФирмы.получитьЭлемент() = 1 цикл
        Стр = "";
        Если СписокПодключенныхБаз.НайтиЗначение(спрФирмы.ТекущийЭлемент(),Стр,"Фирма") = 1 Тогда
            Продолжить;
        КонецЕсли;
        СписокБаз.ДобавитьЗначение(спрФирмы.ТекущийЭлемент());
    КонецЦикла;
КонецПроцедуры

Процедура Выполнить()
    Польз = СокрЛП(Строка(ИмяПользователя())); //"Пользователь"
    Для н = 1 по СписокБаз.Размерсписка() Цикл
        Если СписокБаз.Пометка(н) = 1 Тогда
            Фирма = СписокБаз.получитьЗначение(н);    
            Стр = "";
            Если СписокПодключенныхБаз.НайтиЗначение(Фирма,Стр,"Фирма") = 1 Тогда
                Бух = СписокПодключенныхБаз.получитьЗначение(Стр,"Бух");
            Иначе
                попытка    
                    Бух = "";
                    База = СокрЛП(Фирма.ПутьКБазеДанных);
                    Бух = СоздатьОбъект("v77.Application");
                    Состояние("Загружаем базу - "+ Фирма + "...");
                    Если Бух.Initialize(Бух.RMAccount, "/D"+СокрЛП(База)+" /N"+Польз+ " /P"+ "", "NO_SPLASH_SHOW") = 0 Тогда
                        Сообщить("Ошибка открытия бухгалтерской базы - " + Фирма, "!!!");    //  RMComplex
                    Иначе
                        СписокПодключенныхБаз.НоваяСтрока();
                        СписокПодключенныхБаз.Фирма = Фирма;
                        СписокПодключенныхБаз.Бух = Бух;
                    КонецЕсли;  
                Исключение  
                    Сообщить(ОписаниеОшибки());
                конецПопытки;
            КонецЕсли;
        КонецЕсли;
    Конеццикла;
    Состояние("");  
    Форма.Закрыть();
Конецпроцедуры


Да бы вам было понятней чего я хочу добиться, выкладываю скрин.
Vofka
Так а в чем проблема? У второго юзера список баз пустой или подключиться к ним не может?
Flexy
Цитата(Vofka @ 18.10.10, 16:34) необходимо зарегистрироваться для просмотра ссылки
Так а в чем проблема? У второго юзера список баз пустой или подключиться к ним не может?

Второму юзеру надо сделать автоподключение этих двух баз при старте программы.
Т.е. как видим на скрине можно врчную подключать базы и все нормально работает.Но надо бы что бы автоматом подключались базы.Ну и разобраться не помешает где вообще настраивается подключение и отключение баз.Ибо есть юзеры у которых все базы автоподключаються , но все базы им не надо.Вот такая вот ситуевина... 64000000.gif
Vofka
Ну судя по коду выше, здесь не происходит "выбор". Здесь только проверяется отмечены ли базы. Посмотрите процедуру глобального модуля ПриНачалеРаботыСистемы()
Flexy
Цитата(Vofka @ 18.10.10, 18:53) необходимо зарегистрироваться для просмотра ссылки
Ну судя по коду выше, здесь не происходит "выбор". Здесь только проверяется отмечены ли базы. Посмотрите процедуру глобального модуля ПриНачалеРаботыСистемы()

Весьма благодарен.Нашел такой код в Глобальном модуле
Если СокрЛП(Константа.КаталогВнешнихФайлов)="" Тогда
        Константа.КаталогВнешнихФайлов = КаталогИБ()+"ExtForms\";    
    КонецЕсли;
                          
    Польз = СокрЛП(Строка(ИмяПользователя())); //"Пользователь"    
    Если ПустоеЗначение(глПользователь) = 1 Тогда
        Возврат;
    КонецЕсли;  
    
    СписокПодключенныхБаз = Создатьобъект("ТаблицаЗначений");
    СписокПодключенныхБаз.НоваяКолонка("Фирма");
    СписокПодключенныхБаз.НоваяКолонка("Бух");
    СпрБазы = СоздатьОбъект("Справочник.БазыПользователя");
    СпрБазы.Использоватьвладельца(глПользователь);
    СпрБазы.ВыбратьЭлементы(1);
    Пока СпрБазы.ПолучитьЭлемент() = 1 Цикл
        Если (СпрБазы.пометкаУдаления() = 0) и (СпрБазы.Загружать = 1) Тогда
            Попытка
                Бух = "";
                База = СокрЛП(СпрБазы.Фирма.ПутьКБазеДанных);
                Бух = СоздатьОбъект("v77.Application");
                Состояние("Загружаем базу - "+ СпрБазы.Фирма + "...");
                Если Бух.Initialize(Бух.RMAccount, "/D"+СокрЛП(База)+" /N"+Польз+ " /P"+ "", "NO_SPLASH_SHOW") = 0 Тогда
                    Сообщить("Ошибка открытия бухгалтерской базы - " + СпрБазы.Фирма, "!!!");    //  RMComplex
                Иначе
                    СписокПодключенныхБаз.НоваяСтрока();
                    СписокПодключенныхБаз.Фирма = СпрБазы.Фирма;
                    СписокПодключенныхБаз.Бух = Бух;
                КонецЕсли;  
            Исключение  
                Сообщить(ОписаниеОшибки());
            конецПопытки;
        КонецЕсли;
    Конеццикла;
    Бух = "";

    Состояние("");

Опять же не могу понять как это завязано к конкретному пользователю...=((

P.S. Таки разобрался.Все оказалось очень просто.Как видно в коде привязка таки идет к пользователю.Настраивается это дело в Справочнике пользователей)))
Vofka
Цитата
Все оказалось очень просто.Как видно в коде привязка таки идет к пользователю.Настраивается это дело в Справочнике пользователей)))

Отак от wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.