Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Разделение прав пользователям          
GoDammeD Подменю пользователя
сообщение 29.01.14, 14:42
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 37
Из: Херсон
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день!
Возникла необходимость разделить права пользователям на просмотр/изменение документов по фирмам учета.
Например:
Дано:
1. Фирма1, Фирма2, Фирма3. Все они занесены в Справочник.Фирмы.
2. 3 пользователя: Пользователь1, Пользователь2, Пользователь3.
Нужно:
1. Чтобы Пользователь1 видел все документы по Фирма1, Фирма2, Фирма3.
2. Чтобы Пользователь2 видел все документы по Фирма2, Фирма3, но не видел документы по Фирма1.
3. Чтобы Пользователь3 видел все документы по Фирма3, но не видел докуметы по Фирма1, Фирма2.
Так же в некоторых журналах документы разделены по фирмам при помощи вкладок. Как именно к сожалению я не знаю. Но очень хотелось бы узнать=)
Вот код, который формирует вкладки при открытии формы журнала "РасходныеНакладные":
Процедура ПриОткрытии()
        ...
    Форма.ИспользоватьЗакладки(1);
    СпрФ=СоздатьОбъект("Справочник.Фирмы");
    СпрФ.ПорядокКодов();
    СпрФ.ВыбратьЭлементы();
    фП=0;НашаФ="";
    Пока СпрФ.ПолучитьЭлемент()=1 Цикл
        Форма.Закладки.ДобавитьЗначение(СпрФ.ТекущийЭлемент());
        фП=фП+1;
        Если фП=1 Тогда
            НашаФ=СпрФ.ТекущийЭлемент();    
        КонецЕсли;
    КонецЦикла;                              
    глСохранитьЗначение(,"глНашаФирма",НашаФ);
    УстановитьОтбор("ФирмаРасхода",НашаФ);
КонецПроцедуры


Какие способы решения данной задачи вижу я:
1. Установить вкладки для разделения документов по фирмам учета во всех журналах документов, и скрывать вкладки с фирмами, которые недоступны пользователю.
2. Блокировать доступ к определенным записям справочника "Фирмы". Затем формировать список вкладок для разделения документов по фирмам учета.
Подскажите пожалуйста каким образом возможно это все реализовать. Либо же предложите свои варианты реализации.
Заранее спасибо=)
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)


Signature
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)

Ardi Подменю пользователя
сообщение 29.01.14, 14:48
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Процедура ПриОткрытии()
Если Фирма=ЧужаяФирма Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;


Это вставить в модуль формы документа.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

GoDammeD Подменю пользователя
сообщение 29.01.14, 14:53
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 37
Из: Херсон
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Ardi @ 29.01.14, 15:48) *
Процедура ПриОткрытии()
Если Фирма=ЧужаяФирма Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;


Это вставить в модуль формы документа.


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


Signature
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)

Домовик Подменю пользователя
сообщение 29.01.14, 15:14
Сообщение #4

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

Вам принципово, щоб всі фірми були в одній базі?

GoDammeD Подменю пользователя
сообщение 29.01.14, 15:48
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 37
Из: Херсон
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Домовик @ 29.01.14, 16:14) *
Вам принципово, щоб всі фірми були в одній базі?

Бажано, тому що так не доведеться вести декілька баз, також так зручніше бухгалтерам, та до того ж ці всі 3 фірми вже працюють в одній базі, тож буде проблематично розділити її на окремі бази.


Signature
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)

Домовик Подменю пользователя
сообщение 29.01.14, 17:22
Сообщение #6

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0


Цитата(GoDammeD @ 29.01.14, 11:48) *
Бажано, тому що так не доведеться вести декілька баз, також так зручніше бухгалтерам, та до того ж ці всі 3 фірми вже працюють в одній базі, тож буде проблематично розділити її на окремі бази.


Доробки, які збираєтесь робити в загальній базі будуть стосуватись і звітів, і документів, і довідників, і журналів операцій. Треба подумать зважити . Адже це конфігурація Бухгалтерський облік, яка весь час оновлюється.

А чим зручніше бухгалтерам. Вони зводять загальні дані?


Питання розділу на окремі бази не таке важке. Створити копії, повидаляти документи по іншим фірмам, почиститити довідники.







Vofka Подменю пользователя
сообщение 29.01.14, 17:56
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата(Домовик @ 29.01.14, 17:22) *
Адже це конфігурація Бухгалтерський облік, яка весь час оновлюється.

В смысле обновляется? 7.7 уже давно не обновляется. smile.gif

Спасибо сказали: Домовик,

Ardi Подменю пользователя
сообщение 30.01.14, 0:36
Сообщение #8

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Лично у меня после того как В ТЕЧЕНИИ ЦЕЛОГО ГОДА раз в 3 недели приходилось ОБЪЕЗЖАТЬ ВСЕХ и обновлять им налоговую накладную (в основном в 7.7) случилась жестокая 7.7-обновляльческая депрессия.


И 7.7 будут обновлять ещё оочень долгооо.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

mister-x Подменю пользователя
сообщение 30.01.14, 14:24
Сообщение #9

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

не думаю, як тільки вийде Бух. 8.3(2) на керованих формах (планують в кінці першого кварталу цього року тестову версію), 7.7 піде в анали історії. ІМХО

Сообщение отредактировал mister-x - 30.01.14, 14:24

Vofka Подменю пользователя
сообщение 30.01.14, 20:41
Сообщение #10

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Да уж, накаркал я про обновление 7.7.

Цитата(Борис Нуралиев)
28.01.2014 14:03 вышло обновление 1С:Зарплата+Кадры для Украины Типовая конфигуpация 7.70.043 релиз
29.01.2014 15:18 вышло обновление 1С:Предприятие 7.7 для Украины Комплексная Типовая конфигурация для Украины 7.70.054 релиз
29.01.2014 15:19 вышло обновление 1С:Предприятие 7.7 для Украины Производство+Услуги+Бухгалтерия для Украины 7.70.050 релиз

http://pro1c.org.ua/index.php?s=&showt...ost&p=80986

Домовик Подменю пользователя
сообщение 31.01.14, 8:02
Сообщение #11

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

С разделением на три базы тоже свои приколы. Любые доработки потом нужно будет обязательно копировать.



Если же оставить все в одной базе, то ...
1. точно в форме списка ДляВыбора справочника Фирмы нужно делать контроль.

2. Часть интерфеса, к примеру Отчеты, обнулить, чтобы нельзя было запускать через меню отчеты. Разработать обработку-интерфес, и через него запускать. Отчеты сразу будут запускаться с одной из нужных фирм, поменять нельзя будет. Ну чтобы не лезть в код формы каждого Отчета. Пр описывать ПриОткрытии().
С другой стороны в ПриОткрытии() всегда задается БазФирма... но все равно обработка-интерфес - более гибкий вариант, значение БазФирмы временно менять что ли.

С журналами документов... нужно подумать, возможно некоторые журналы тоже убрать из интерфеса. и запускать обработкой. Но нужно подумать.


3. Справочники ... думаю не принципиально, если бухгалтер глянет Контрагента другой фирмы, товар другой фирмы.

3. Глобальный модуль будет затронут конечно. Там при запуске формировать список разрешенных фирм.

Сообщение отредактировал Домовик - 31.01.14, 8:22

alex040269 Подменю пользователя
сообщение 31.01.14, 8:38
Сообщение #12

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(Домовик @ 31.01.14, 8:02) *
С журналами документов... нужно подумать, возможно некоторые журналы тоже убрать из интерфеса. и запускать обработкой. Но нужно подумать.

В журнале, я так понимаю, отбор получится сделать только в общем журнале. Т.к. в ЖД в 7.7 возможен отбор только по одному критерию и этот отбор во всех остальных журналах уже есть.

Получится разве что "скрыть" строки.


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Домовик Подменю пользователя
сообщение 31.01.14, 9:58
Сообщение #13

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

я за обработку-журнал, где можно все настроить, отобрать сразу. Прийдется заново делать стандартные кнопки(новый, удалить , отмена проведения), но это будет новый объект в конфигурации.


Сообщение отредактировал Домовик - 31.01.14, 9:58

Спасибо сказали: Sharzem,

Sharzem Подменю пользователя
сообщение 01.02.14, 20:40
Сообщение #14

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

Цитата(Домовик @ 31.01.14, 9:58) *
я за обработку-журнал, где можно все настроить, отобрать сразу. Прийдется заново делать стандартные кнопки(новый, удалить , отмена проведения), но это будет новый объект в конфигурации.


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

GoDammeD Подменю пользователя
сообщение 03.02.14, 9:54
Сообщение #15

Общительный
**
Группа: Пользователи
Сообщений: 37
Из: Херсон
Спасибо сказали: 0 раз
Рейтинг: 0

А можно ли по-подробнее о "Обработке-журнале", либо ссылку где в понятной форме написано на эту тему?


Signature
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)

Домовик Подменю пользователя
сообщение 03.02.14, 14:25
Сообщение #16

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

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

но сделайте хотя бы то, о чем вы сами уже задумались(у вас это пункт 2). Это ограничение при работе с реквизитом Фирма в отчетах и документах.
Это позволит несколько (не полностью) ограничить просмотр отчетов по неразрешенным фирмам, и не создавать новые документы по неразрешенным фирмам.
Сразу же вопрос - та фирма, которая в базе вашей базовая, кому она разрешена?


вместо изменения глобального модуля лучше все же забить списки фирм в объектах. Каких?

справочник Пользователи.
1. В конфигураторе добавляете реквизиты Фирма1, Фирма2, Фирма3 тип реквизитов справочник Фирмы. Редактирование элементов не "ВДиалоге", а в "Списке"
Права на редактирование этого справочника только у Администратора.

2.В режиме Предприятие в справочнике Пользователи Системы проставляете фирмы пользователям. Бухгалтеру, который видит все фирмы ставите все три фирмы.

3. В конфигураторе справочник Фирмы, открываете модуль формы списка ДляВыбора

В модуле пишете процедуру:

   Процедура ПриВыбореСтроки()                                                                                                                                                 
        
Если (Строка(глПользователь.Фирма1)<> СокрЛП(Наименование))и (Строка(глПользователь.Фирма2)<>СокрЛП(Наименование))и
(Строка(ГлПользователь.Фирма3)<>СокрЛП(Наименование)) Тогда
            СтатусВозврата(0);
КонецЕсли;
    КонецПроцедуры


такое решение не всегда корректно, но фирм только три, и будет три.

Сообщение отредактировал Домовик - 03.02.14, 14:32

Спасибо сказали: GoDammeD,

GoDammeD Подменю пользователя
сообщение 03.02.14, 15:29
Сообщение #17

Общительный
**
Группа: Пользователи
Сообщений: 37
Из: Херсон
Спасибо сказали: 0 раз
Рейтинг: 0

Домовик, спасибо больше, буду пробовать=)


Signature
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)

Sharzem Подменю пользователя
сообщение 28.06.14, 18:00
Сообщение #18

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

Цитата(Домовик @ 31.01.14, 10:58) *
я за обработку-журнал, где можно все настроить, отобрать сразу. Прийдется заново делать стандартные кнопки(новый, удалить , отмена проведения), но это будет новый объект в конфигурации.


Хоть теме уже Бог знает сколько, но данная идея довольно-таки привлекательна friends.gif . Здесь больше вопрос к автору идеи (поскольку такое уже почти реализовано и есть вопросик), подскажите плиз (если Вы такое уже реализовывали), а как оперативно обновить данные в обработке при создании новых и редактировании имеющихся документов (я как-то этот момент выпустил с головы и пошел цыклом, результат - нагрузка проца haha.gif ) ?

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




Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

Домовик Подменю пользователя
сообщение 30.06.14, 21:43
Сообщение #19

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

что-то затерлось случайно, что только-что отвечалось .

вкратце:

эта задача мною не реализовывалась, если бы пришлось:

1. по принципу интернет-поисковиков, результат выборки не показывается весь а показывается опред страница с возможностью перехода на другую.
т.е есть выборка, и есть заполнение строк с по.
в 1С возможно имеет смысл если это таблицазначений на форме(а заполнение ее занимает время), то формировать список докуменотов весь, но заполнять только строа ки с по по требованию.

2. вывод таблицы (на печать ) работает быстрее, чем заполнение таблзнач на форме. По аналогии с типовыми отчетами журнал сделать на таблице, используя расшифровки .

Сообщение отредактировал Домовик - 30.06.14, 21:44

Sharzem Подменю пользователя
сообщение 01.07.14, 15:14
Сообщение #20

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

Цитата(Домовик @ 30.06.14, 22:43) *
т.е есть выборка, и есть заполнение строк с по.
в 1С возможно имеет смысл если это таблицазначений на форме(а заполнение ее занимает время), то формировать список докуменотов весь, но заполнять только строа ки с по по требованию.


Оно !!! Поскольку, как правило, курсор установлен на документе имеющим определенную дату вышло что нужно:

лпКолСтрокНекаяТЗ = НекаяТЗ.КоличествоСтрок();
лпТекущаяСтрока = НекаяТЗ.ТекущаяСтрока();
лпДокументНач = НекаяТЗ.ПолучитьЗначение(?( лпТекСтрока-30> 1, лпТекСтрока-30, 1),"Документ");
лпДокументКон = НекаяТЗ.ПолучитьЗначение(?( лпТекСтрока+30< лпКолСтрокНекаяТЗ, лпТекСтрока+30, лпКолСтрокНекаяТЗ),"Документ");
лпДокумент = СоздатьОбъект("Документ."+ лпДокументНач.Вид());//Или если нравится  лпДокументКон.Вид(), это все равно документы одного вида
лпДокумент.ВыбратьДокументы( лпДокументНач.ДатаДок, лпДокументКон.ДатаДок);
Пока лпДокумент.ПолучитьДокумент = 1 Цикл

КонецЦикла;


Еще немного от себя, дабы не ганять это все через определенный кусок времени, с помощью Formex останавливаю выполнение Обработки ожидания:


Процедура ПриНажатииКнопкиКлавиатуры(прКодКлавиши, прAlt, прShift, прCtrl, прСимвол, прФСО)
    //Сообщить("Код клавиши: "+прКодКлавиши);
    Если прКодКлавиши = 27 Тогда
        гпНеЗакрывать = 1;
    ИначеЕсли прКодКлавиши = 46 Тогда
        ПриНажатииКнопки("кнУдалить");
    ИначеЕсли прКодКлавиши = 113 Тогда
        ПриНажатииКнопки("кнНовый");//кнопка insert действует до окончания процедуры заменено на F2
    КонецЕсли;
гпДвижение = _GetPerformanceCounter();//переменная куда задаю последнее время нажатия клавиш
КонецПроцедуры//ПриНажатииКнопкиКлавиатуры()
//======================================================================
Процедура ПриДвиженииМыши(прКонт, прСост, прОсьХ, ПрОсьУ)
    гпДвижение = _GetPerformanceCounter(); //та же самая переменная куда задаю последнее время движения мыши
КонецПроцедуры
//======================================================================
Процедура ПриДеактивацииОкна()
ВыполнитьОбработку();//Здесь вообще выключаю обработку ожидания
КонецПроцедуры // ПриДеактивацииОкна()
//======================================================================
Процедура ПриАктивацииОкна()
    ВыполнитьОбработку(); //Здесь Включаю выполнение обработки ожидания
КонецПроцедуры // ПриАктивацииОкна()

//======================================================================

Функция ЕстьВозможностьПропустить() //Функция которая определит что юзер курит
    лпСтатус = 0;
    лпДвижение = _GetPerformanceCounter();
    Если (лпДвижение-гпДвижение)/1000 > 150 Тогда
        лпСтатус = 1;
    КонецЕсли;
    Возврат лпСтатус;
КонецФункции // ЕстьВозможностьПропустить()

//======================================================================

Процедура ЗдесьПроцедураПоОбновлению()

Если ЕстьВозможностьПропустить() = 0 Тогда //А здесь если пользователь не курит, а работает - будем обновлять журнал-обработку
        //что-то там
        КонецЕсли;

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

//======================================================================

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


Итак, итог: С помощью идей Домовик удалось заменить 1 С-кий журнал документов на ОПТИМИЗИРОВАННУЮ 1 С-кую "Журнал-обработку" с кучей дополнительных прибабахов заменяющую его без изменения конфигурации (последняя не изменялась вообще).

Спасибо, Домовик, время потрачено не даром ):



Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

Спасибо сказали: Домовик,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 04.05.24, 5:27
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!