Программно записать элементы справочников в БП3.0 #708398


#0 by Masi4
Тонкий клиент Права: группа ролей Бухгалтер Необходимо выполнить создание элемента справочника "Договоры контрагентов", но при попытке выполнить нижеприведённый код возникает ошибка : "Не удалось записать "Договор Контрагента"!". Тот же вариант со справочником "Номенклатура" возваращает "Нарушение прав доступа. &НаСервере Если тоже самое выполнить с полными права - всё работает. Подскажите, как создавать элементы справочников под ролями Бухгалтеров в БП3.0? ПС. Не посылайте в яндекс или гугл.
#1 by Wobland
дать прав пробовал?
#2 by salvator
А в чем глубинный смысл создавать один договор программно?
#3 by Masi4
Если тоже самое выполнить с полными права - всё работает. Договора, как и товары создаются пачками в мегамодулях. Я всего лишь привёл простой пример проблемного кода.
#4 by xXeNoNx
Рлс глянь, права дай
#5 by salvator
Кури настройки ролей.
#6 by Naumov
После ругни смотришь на что ругается и добавляешь в права.
#7 by Wobland
а от нас чего хочешь?
#8 by Ymryn
Если не изменяет память там есть отдельная роль на работу/запись с Нормативно справочной информаций (или просто Справочной информацией). Дай пользователю эту роль.
#9 by xXeNoNx
УстановитьПревилигированныйрежим
#10 by Naumov
*смотришь в журнале регистрации
#11 by Wobland
фу. ты этим ртом потом хлебушек будешь кушать
#12 by xXeNoNx
Какой вопрос, такой ответ...
#13 by Masi4
Давал разные права, но работает только с полными правами.
#14 by Masi4
От вас лично ничего. Но вопрос я задал вполне конкретно: "Подскажите, как создавать элементы справочников под ролями Бухгалтеров в БП3.0?"
#15 by Wobland
лично я не знаю, и мне поровну. а сам найти ответ не хочешь
#16 by Wobland
+ ?
#17 by Masi4
Понятно, что всем или многим поровно. Искал, читал, у 1С спрашивал (и они даже ответили через 3 часа). Нигде ничего...
#18 by Wobland
только разве вЖР не ходил
#19 by acsent
установить привилегированный режим
#20 by Masi4
Роли выданные пользователю: "Добавление и изменение базовой нормативно-справочной информации", "Добавление и изменение общей базовой нормативно-справочной информации", "Добавление и изменение общей бухгалтерской нормативно-справочной информации"
#21 by Masi4
Не помогло
#22 by Masi4
а ЖР это вкуда?
#23 by Ymryn
установлено ли ограничение доступа по уровням записей? Если да, то были ли запущены регламентная обработка после этого и были ли установлены соответствующие разрешения?
#24 by Ymryn
журнал регистрации я так предполагаю.
#25 by acsent
во внешней обработке конечно не поможет
#26 by Masi4
Курил, только в теории получается что все права уже есть: у пользователя установлена роль "Добавление и изменение данных бухгалтерии", а у этой роли есть и создание и изменение элементов справочника.
#27 by Masi4
ЖР - оказывается полезная весчь. Вот что он мне сказал: {ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль}: Ошибка при получении значения атрибута контекста (ДатаОбновленияПовторноИспользуемыхЗначенийМРО)         Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда по причине: Нарушение прав доступа!
#28 by Wobland
можешь не благодарить
#29 by Masi4
Не, не. За это спасибо! Я и не думал что от него такая польза...
#30 by Masi4
Вот только зайти туда дебагером не смогу. С ограниченными правами туда не пустят в конфигуратор, а с полными ошибка не появляется...
#31 by Wobland
надо как-то заставить запустить отладку от имени ущербного юзера
#32 by Masi4
Дал пользователю много прав. Запустил конфигуратор из под него. Отнял права. Запустил тонкий клиент. Дал права - подключил клиента к отладке. Он выдал много новых сообщений, но мои точки остановка в обоначенных местах продинамил. {Форма.Форма.Форма}: Ошибка при вызове метода контекста (Записать)     СпрТовары.Записать ; по причине: Ошибка при выполнении обработчика - 'ПередЗаписью' по причине: {ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль}: Ошибка при получении значения атрибута контекста (ИспользуемыеПланыОбмена)     СпрТовары.Записать ; по причине: Нарушение прав доступа! по причине: Ошибка при выполнении обработчика - 'ПередЗаписью' по причине: {ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль}: Ошибка при получении значения атрибута контекста (ИспользуемыеПланыОбмена) по причине: Нарушение прав доступа! {ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль}: Ошибка при получении значения атрибута контекста (ИспользуемыеПланыОбмена)     Если ПараметрыСеанса.ИспользуемыеПланыОбмена.Количество > 0 Тогда по причине: Нарушение прав доступа! Нарушение прав доступа!
#33 by batmansoft
Попробуй создать роль, где всем справочникам, регистрам и документам назначить только права на программную запись и чтения. Таким образом, интерактивно шаловливыми ручками он не сможет что либо натворить, а программа под его правами сможет сделать.
#34 by Masi4
Мне нельзя править конфу. Ни под каким предлогом. Это как бы условие обязательное.
#35 by Masi4
Запустил от ущербного пользователя. Создал файловую локальную базу. Дал права администратора. Запустил конфигуратор. Отнял права администратора. Запустил толстый клиент (управляемое приложение). И уже 10 минут тыкаю F11.
#36 by Wobland
#37 by Masi4
Это я итак знаю и сделал. Но спасибо за участие.
#38 by Masi4
В итоге я нашел источник ошибки. Я правда не знаю пока почему туда входит выполнение. Насколько я понял у пользователя нет прав сюда: Если ПараметрыСеанса.ИспользуемыеПланыОбмена.Количество > 0 Тогда
#39 by Wobland
>Нарушение прав доступа! Ошибка при получении значения атрибута контекста (ИспользуемыеПланыОбмена) кажется, да. но я не уверен
#40 by Masi4
Именно на этом месте деббагер останавливается и появляется ошибка. Теперь думаю какие из стандартных прав позволят обойти это.
#41 by Wobland
ну расскажи, каким ролям это позволено, не молчи ;)
#42 by Masi4
Кто знает в БП 3.0 весь доступ поделён на кучу ролей в конфигураторе, а в конфигурации (режим предприятие) есть пять групп ролей. Это предыстория. Так вот единственная более менее безвредная роль - это администрирование. Я не знаю как и где смотреть доступ к переменной "ПараметрыСеанса", так что могу только предполагать.
#43 by Wobland
а это совсем ни разу не переменная. даже напротив: это параметры сеанса
#44 by Masi4
Да, я это уже посмотрел) Оказывается не параметрах сеанса дело... Потому что у роли Администрирование тоже нет доступа к "Параметрам сеанса".
#45 by hhhh
то что "Потому что у роли Администрирование тоже нет доступа к "Параметрам сеанса"." ничего не следует.
#46 by Masi4
Возможно, но с этой ролью в дополнение к группе ролей Бухгалтер - всё работает.
#47 by hhhh
что за группа ролей такая?
#48 by Masi4
Проблема не в Параметрах сеанса. Что-то другое мешает. С простыми правами я получаю отказ на изменение данных в процедуре "ПередЗаписью". С дополнением роли Администрирование  - не получаю отказа...
#49 by Masi4
Я нашёл (надеюсь) место проблемное: Здесь возникает первая ошибка и здесь я получаю отказ. Почему - не знаю...
#50 by Wobland
а ЖР знает?
#51 by Masi4
Нет. ЖР знает только это: {ОбщийМодуль.ОбменДаннымиВызовСервера.Модуль}: Ошибка при получении значения атрибута контекста (ДатаОбновленияПовторноИспользуемыхЗначенийМРО)         Если ПараметрыСеанса.ДатаОбновленияПовторноИспользуемыхЗначенийМРО <> АктуальнаяДата Тогда по причине: Нарушение прав доступа! Целых 5 раз.
#52 by Masi4
А вот когда выполнение сваливается в исключение как можно посмотреть описание ошибки кроме функции "ОписаниеОшибки "? Функция возвращает пусто...
#53 by Masi4
Я дал пользователю все права кроме "Полных" и "Административных"... и всё равно не получается.
#54 by Masi4
Плакать хочется... %-)
#55 by hhhh
но вообще у вас настроен обмен? Всё четко там? Он работает?
#56 by Masi4
Прошу прощения, но я не совсем понял какой обмен... У нас только одна база, и задача стоит: создавать из внешней обработки товары и договора...
#57 by hhhh
ну и? не видите, что у вас обмен данными? Если хотите чтобы бухгалтер обмены фигачил между базами, настройте ему обмен.
#58 by Masi4
Ещё раз. У нас 1 база 1С. В этой базе нужно создать (не загружать, не обмениваться), просто создать по кнопке из внешней обработки договор или товар.
#59 by Masi4
Вопрос в другом. Почему некоторые элементы параметров сеанса (ПараметрыСеанса) доступны при обращении из внешней обработке, а другие нет? Как не вводя обработку в конфу позволить ей делать всё то, что может делать пользователь, под которым обработка запустилась?
#60 by Поpyчик-4
УстановитьПривилегированныйРежим(Истина) в вашей обработке ещё не предлагали?
#61 by Masi4
Вот здесь и здесь ...
#62 by singlych
УстановитьПривилегированныйРежим не будет работать в обработках, которые открываются через файл-открыть и в дополнительных с безопасным режимом, вроде. А следовательно, записать договор не судьба без полных прав. Попробуй поставь небезопасный.
#63 by Masi4
Прошу прощение: поставить небезопасный что?
#64 by singlych
режим. Ты же вроде дополнительную обработку пишешь?
#65 by Masi4
{Форма.Форма.Форма}: Ошибка при вызове метода контекста (УстановитьБезопасныйРежим)     УстановитьБезопасныйРежим (Ложь); по причине: В данной процедуре/ функции не был установлен безопасный режим
#66 by Masi4
Угу - дополнительную пишу...
#67 by singlych
если ты будешь открывать ее через файл-открыть, он не установится никогда. устанавливай в СведенияОВнешнейОбработке и регистрируй в базе.
#68 by Masi4
Прошу не бить ногами, но как обработку зарегистрировать в базе?
#69 by Поpyчик-4
Искать в гугле. Вопрос уже давно обсосан до дыр.
#70 by Masi4
Не помогло...
#71 by Поpyчик-4
Триста рублей. Вот пример
#72 by Masi4
Конкретизирую. &НаСервере Подключил к базе. Запустил. Та же ошибка.
#73 by Masi4
Это вы мне предлагаете за 300 рублей решить мою проблему? :) Или за 300 рублей вы мне пароль для файла дадите? :)
#74 by singlych
эмм.. кому я что говорил.. убери уже УстановитьПривилегированныйРежим и сделай РегистрационныеДанные.Вставить ("БезопасныйРежим", Ложь);
#75 by Masi4
Тестовая обработка отработала. Сейчас перенесу всё в мегамодуль и проверю.
#76 by Masi4
Получилось! Спасибо всем за помощь!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С