ОСВ с фиксированными счетами

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. Dethmond 18.11.12 12:15 Сейчас в теме
Здравствуйте. Добавил в конфигурацию БП 2.0 новый интерфейс, создал для него роль, теперь вот столкнулся с тем, что необходимо от пользователей попадающих под эту роль спрятать, либо указать только необходимые для них счета. Можно ли как-нибудь в ОСВ это сделать, либо в принципе устроит даже во внешнем отчете нечто подобное.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Borisych 500 20.11.12 09:50 Сейчас в теме
(1) StronG-X, задача решается с помощью ограничения по RLS на план счетов - могу показать как сделано
5. Dethmond 21.11.12 07:14 Сейчас в теме
(4) Borisych, да, было бы очень здорово глянуть, как это у Вас реализовано.
Пока реализовал как посоветовал imbaZeratul.
10. Borisych 500 22.11.12 15:00 Сейчас в теме
(5) StronG-X, пиши в скайп Andrew_Grigoriev
2. imbaZeratul 16 18.11.12 18:35 Сейчас в теме
В ОСВ при выборе счета делай отбор по счетам, и проверяй доступность роли
Dethmond; +1 Ответить
3. imbaZeratul 16 18.11.12 18:36 Сейчас в теме
В реквизите "Счет" на форме отчета при начале выбора добавь свой код
6. Dethmond 21.11.12 10:10 Сейчас в теме
Реализовано сейчас так:
Если РольДоступна("Кладовщик") Тогда
Если Не ( (Элемент.Значение = ПланыСчетов.Хозрасчетный.Материалы) Или (Элемент.Значение.ПринадлежитЭлементу( ПланыСчетов.Хозрасчетный.Материалы) ) ) и Не ( (Элемент.Значение = ПланыСчетов.Хозрасчетный.ВложенияВоВнеоборотныеАктивы) Или (Элемент.Значение.ПринадлежитЭлементу( ПланыСчетов.Хозрасчетный.ВложенияВоВнеоборотныеАктивы) ) ) и Не ( (Элемент.Значение = ПланыСчетов.Хозрасчетный.ОборудованиеКУстановке) Или (Элемент.Значение.ПринадлежитЭлементу( ПланыСчетов.Хозрасчетный.ОборудованиеКУстановке) ) ) и Не ( (Элемент.Значение = ПланыСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками) Или (Элемент.Значение.ПринадлежитЭлементу( ПланыСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками) ) ) и Не ( (Элемент.Значение = ПланыСчетов.Хозрасчетный.ИнвентарьИХозяйственныеПринадлежностиВЭксплуатации) Или (Элемент.Значение.ПринадлежитЭлементу( ПланыСчетов.Хозрасчетный.ИнвентарьИХозяйственныеПринадлежностиВЭксплуатации) ) ) Тогда
Сообщить("Нарушение прав доступа");
Элемент.Значение = ПланыСчетов.Хозрасчетный.ПустаяСсылка();
Возврат;
КонецЕсли;
КонецЕсли;


Когда бухгалтер не выберает, а сразу нажимает клавишу Сформировать запрет не срабатывает. Может кто подсказать, как решить вопрос?
7. Dethmond 21.11.12 16:34 Сейчас в теме
Я так понимаю, это возникает из-за этого условия

Если ВыводитьПолностью Тогда
		Если  СтандартныеОтчеты.ПроверитьЗаполнениеОбязательныхРеквизитов(ЭтаФорма) Тогда
			Возврат;
		КонецЕсли;	
	КонецЕсли;


Подскажите пожалуйста, как его обойти, чтобы заполнение шло только с помощью ручной настройки отчета.
8. deniseek77 86 21.11.12 17:37 Сейчас в теме
Есть стандартный механизм ограничения в бухии, почему бы в общих модулях не создать общую процедуру и в ней наложить аналогичный фильтр, а в формах вызывать ее, вот пример обработки:

Процедура СчетВыбрНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка=ложь;

СписокСчетов = Новый СписокЗначений;
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.ДолговыеЦенныеБумаги);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.ПредоставленныеЗаймы);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.ПриобретенныеПрава);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.РасчетыПоАвансамВыданным);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.КраткосрочныеКредиты);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.КраткосрочныеЗаймы);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.ДолгосрочныеКредиты);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.ДолгосрочныеЗаймы);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.ДолгосрочныеЗаймыВал);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.РасчетыСПрочимиПокупателямиИЗаказчиками);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.ДолгосрочныеКредиты);
СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.ДолгосрочныеЗаймы);

ФормаВыбора = ПланыСчетов.Хозрасчетный.ПолучитьФормуВыбора("ФормаВыбора", Элемент, );
ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.Использование = Истина;
ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.Значение = СписокСчетов;
ФормаВыбора.ЭлементыФормы.Список.НастройкаОтбора.Ссылка.Доступность = Ложь;
ФормаВыбора.ПараметрТекущаяСтрока = Элемент.Значение;
ФормаВыбора.ЭлементыФормы.ДействияФормы.Кнопки.КорректныеСчета.Доступность=Ложь;
ФормаВыбора.Открыть();
КонецПроцедуры
Dethmond; +1 Ответить
9. deniseek77 86 22.11.12 13:48 Сейчас в теме
Посмотрите- плансчетов Хозрасчетный, форма выбора, процедура при открытии. Вот там в конце можно прописать такой отбор в зависимости от ролей, наверное самое оно будет.
11. Dethmond 22.11.12 15:19 Сейчас в теме
(9) deniseek77, проблема именно в том, что конф. закрыта для редактирования, нужно сделать это именно во внешней обработке ОСВ
12. Dethmond 22.11.12 16:35 Сейчас в теме
Все разобрался, ОСВ работает как нужно. Всем спасибо
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот