Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Несколько организаций: выбор доступа (фильтр) при запуске приложения
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Constantus
Приветствую, форумчане!

УТ 10.3, 1с8.2, обычное.

Имеется несколько организаций. Если оставить всё как есть, то недальновидный пользователь, может при заполнении документов выбрать неправильную организацию.

Конечно, можно настроить каждого пользователя на Организацию по умолчанию и т.д., но пользователь может обслуживать любую организацию...

Можно ли что-нить придумать, чтобы при запуске приложения выбирался не только пользователь, но и Организация, чтобы после запуска, Приложение 1с "забыло" про существование других?

Можно конечно созадть несколько одинаковых пользователей для соответствующих Организаций, но список Организаций - динамическое явление, а это создает дополнительное бремя на создание новых пользователей с настройками...
sava1
Можно. Модуль приложения.
Constantus
sava1 @ Вчера, 23:07 необходимо зарегистрироваться для просмотра ссылки,


Понял... А можно по-подробнее???
sava1
В модуле приложения (Упр или обычного) формируем список фирм, выдаем для выбора.
Если не выбран - завершаем работу, если выбран - считаем фирму основной.
Логику заполнения скорее всего придется менять
Acid
Используйте стандартный RLS.
sava1
Цитата(Acid @ 14.06.16, 8:34) необходимо зарегистрироваться для просмотра ссылки
Используйте стандартный RLS.

а как-же это
Цитата(Constantus @ 13.06.16, 17:10) необходимо зарегистрироваться для просмотра ссылки
но пользователь может обслуживать любую организацию...

Acid
Цитата(sava1 @ 14.06.16, 9:10) необходимо зарегистрироваться для просмотра ссылки
но пользователь может обслуживать любую организацию...

Корректность введеных данных в первичных документах - это его ответственность (пользователя). За это он получает по шапке. Или там обезьянка сидит и на кнопки давит?

Вообще там есть Договор. Он подчинен Контрагенту и "записан" на Организацию. Можно при выборе Договора заполнить по нему Шапку.
Ну или есть регистр "КонтрагентыОрганизаций". Брать из него, при выборе Контрагента.
Petre
Acid @ Сегодня, 9:43 необходимо зарегистрироваться для просмотра ссылки,
Т. е. по сути, вы предлагаете ничего не делать, ничего не менять.
Vofka
Цитата(Acid @ 14.06.16, 9:43) необходимо зарегистрироваться для просмотра ссылки
Корректность введеных данных в первичных документах - это его ответственность (пользователя). За это он получает по шапке.

haha.gif
Так оно где-то в идеальном мире. Но мы живем не там smile.gif .
Constantus
А нельзя создать нечто (справочник, документ, что-то еще) чтобы пользователь при начале работы просто его заполнил, а я потом программным методом в форме выбора Организации зафильтрую на этот выбор?

будет 10 ПК в сети на СКЛ-сервере.

Сначала было обрадовался и создал Константу, типа выбрать тама, но потом дошло, что эта константа будет распространяться на всех, что уже тупик.

В Акцессе при работе в сети просто выделял одну таблицу, исключал ее из сети, т.е. делал локальной, тама и прописывал персональные настройки, которые не мешали работе...

Кажется "придумал"... icon_cuss.gif

Добавил в справочник Пользователи новый реквизит - "Организация"...

Создал новую тама формуЭлемента, где убрал все настройки...

Теперь встал вопрос:

Эта новая формаЭлемента должна быть доступна пользователю. Как мне в меню создать некую кнопку, чтобы открывалась именно эта новая форма программно?

Если я в основное меню Интерфейса добавляю открытие справочника "Пользователи", то мне предлагается на выбор открыть полноценную форму открытия формы элемента справочника...

Кажется "придумал"... icon_cuss.gif
Constantus
Вооот...

1. В Пользователях создал новый реквизит "ТекущаяОрганизация"
2. Добавил новую форму элемента "ФормаЭлемента1", отредактировал, оставил только шапку (без редактирования) и новый реквизит
3. Модифицировал / создал копию, и разместил ее в Интерфейсе

Процедура ОткрытьФормуТекущегоПользователя1() Экспорт

    Если НЕ ЗначениеЗаполнено(глТекущийПользователь) Тогда
        ОбщегоНазначения.СообщитьОбОшибке("Не задан текущий пользователь.");
    Иначе
        Форма = глТекущийПользователь.ПолучитьФорму("ФормаЭлемента1");
        Форма.ЭлементыФормы.Родитель.ТолькоПросмотр       = Ложь;
        Форма.ЭлементыФормы.Код.ТолькоПросмотр               = Ложь;
        Форма.ЭлементыФормы.Наименование.ТолькоПросмотр   = Ложь;
//        Форма.ЭлементыФормы.ФизическоеЛицо.ТолькоПросмотр = Ложь;        
        Форма.Открыть();
    КонецЕсли;

КонецПроцедуры // Отк


4. На форму списка и выбора справочника "Пользователи" на "ПриОткрытии" повесил код:

Процедура ПриОткрытии()
    
    ЭтаФорма.Отбор.Наименование.Использование=Истина;
    ЭлементыФормы.СправочникСписок.Значение.Отбор.Наименование.ВидСравнения = ВидСравнения.ВСписке;
    ЭлементыФормы.СправочникСписок.НастройкаОтбора.Наименование.Доступность = Ложь;
    
    
        Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
                  |    Пользователи.Ссылка,
                  |    Пользователи.ТекущаяОрганизация как Наименование
                  |ИЗ
                  |    Справочник.Пользователи КАК Пользователи
                  |ГДЕ
                  |    Пользователи.Ссылка = &Ссылка";

        Запрос.УстановитьПараметр("Ссылка", ПараметрыСеанса.ТекущийПользователь);

    Результат = Запрос.Выполнить().Выгрузить();
    
        МассивДокументов = Результат.ВыгрузитьКолонку("Наименование");
    
    СписокДокументов= Новый СписокЗначений;
    
    Для Каждого Стр из МассивДокументов Цикл
        СписокДокументов.Добавить(Стр);
    КонецЦикла;    


    ЭтаФорма.Отбор.Наименование.Значение = СписокДокументов;

КонецПроцедуры


Форма списка сработала идеально, т.е. выкинула из списка все организации, кроме одной...

Но форма выбора не сработала. Проверил на "Реализации" и "Перемещении", выбор - полный список... Почему при выборе организации в документах этот код не срабатывает??


Всем спасибо, всё получилось. В справочнике "Организации" способ выбора поставил "Из формы"...

Ну и анекдот по всему этому поводу:

Сделали самый большой в мире самолет. Стюардеса перед вылетом сообщает:
- Дорогие пассажиры, на верхней палубе у нас смотровой блоки и сквер.
- На второй: кинотеатр и видеосалоны.
- На третьей: мы с вами.
- На четвертой: спортзал, фитнес-клуб и бассейн.
- На нижней палубе: дискотека, каяе и бары.
- А теперь пристегните ремни, и постараемся со всем этим взлететь...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.