|
Ошибка выполнения кода при отсутствии полных прав nick86, RVN, ass1c, Гипервизор, alexxx961503, kir-g, Black1708, Amra, АЛьФ, lEvGl, Вадя, Ненавижу 1С, Волшебник, obs191, ДенисСмирнов, Dmitrii, lirt82, maxar, toypaul, LienXo, PuhUfa, Мультук, Скучный бух, XLife, Черников, Timon1405, 2S, banco, yanikolay, Fish, Vstur, eklmn, Ногаминебить, Redaktor, Михаил Козлов, paramedic, elka302, Silgis, Garykom, integer, Kigo_Kigo, Умный Слоненок, trad, AShSA, scanduta, Kongo2019, orakool, Жеглофф, spiller26, tulke, zenik, evgeniy_n
| ☑ | ||
|---|---|---|---|---|
|
0
Black1708
13.05.26
✎
08:33
|
Всем доброго дня, уважаемые.
Прошу помощи разобраться с ошибкой. Есть пользователь с максимально ограниченными правами. Он успешно создает договор с контрагентом, загружает туда файл doc или txt, все это сохраняет без каких либо ошибок. Но есть открывает созданный ранее договор, и на закладке Файлы редактирует прикрепленный им файл, и в момент нажатия "Закончить редактирование", на следующим блоке Если ЗначениеЗаполнено(Параметр) И Параметр.Свойство("Событие") И Параметр.Событие = "ВерсияСохранена" И ЭтотОбъект.ПараметрыОбменаСКонтрагентами.ДанныеСостоянияЭДОТекущие <> Неопределено И ЭтотОбъект.ПараметрыОбменаСКонтрагентами.ДанныеСостоянияЭДОТекущие.СуществуетАктуальныйДокумент Тогда получаю ошибку: {<Неизвестный модуль>(1)}: Поле объекта не обнаружено (ПараметрыОбменаСКонтрагентами) В отладчике этот блок срабатывает 3 раза. Первый раз результат всего условия = Ложь, при этом последние два условия каждое по отдельности = {<Неизвестный модуль>(1)}: Поле объекта не обнаружено (ПараметрыОбменаСКонтрагентами) и ошибки нет Второй раз результат всего условия = Ложь при этом последние два условия каждое по отдельности = {<Неизвестный модуль>(1)}: Поле объекта не обнаружено (ПараметрыОбменаСКонтрагентами) и ошибки нет Третий раз результат всего условия = {<Неизвестный модуль>(1)}: Поле объекта не обнаружено (ПараметрыОбменаСКонтрагентами) и последние два условия все так же каждое по отдельности = {<Неизвестный модуль>(1)}: Поле объекта не обнаружено (ПараметрыОбменаСКонтрагентами) Ищу в Справочник ДоговорыКонтрагентов.ФормаЭлемента поле ПараметрыОбменаСКонтрагентами в разделе Объект, такого поля вообще нет. При этом, у пользователя с полными правами ошибок не возникает. Очевидно что не хватает каких то прав. Подскажите как устранить ошибку? Заранее всем премного благодарен! С уважением. |
|||
|
1
Гипервизор
13.05.26
✎
08:37
|
Посмотрите ошибку в журнале регистрации.
|
|||
|
2
Black1708
13.05.26
✎
08:45
|
Поле объекта не обнаружено (ПараметрыОбменаСКонтрагентами)
{Справочник.ДоговорыКонтрагентов.Форма.ФормаЭлемента.Форма(5008)}:Если ЗначениеЗаполнено(Параметр) И Параметр.Свойство("Событие") И Параметр.Событие = "ВерсияСохранена" {Справочник.ДоговорыКонтрагентов.Форма.ФормаЭлемента.Форма(367)}:РаботаСФайламиОбработкаОповещения(ИмяСобытия, Параметр, Источник); {ОбщийМодуль.РаботаСФайламиСлужебныйКлиент.Модуль(7628)}:Оповестить("Запись_Файл", ПараметрыОповещенияЗаписиФайла("ВерсияСохранена"), ПараметрыВыполнения.ПараметрКоманды); {ОбщийМодуль.РаботаСФайламиСлужебныйКлиент.Модуль(10758)}:ВыполнитьОбработкуОповещения(Обработчик, Результат); {ОбщийМодуль.РаботаСФайламиСлужебныйКлиент.Модуль(2641)}:ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, Истина); {ОбщийМодуль.РаботаСФайламиСлужебныйКлиент.Модуль(2629)}:ЗакончитьРедактированиеСРасширениемПослеПоказаОповещения(-1, ПараметрыВыполнения); {ОбщийМодуль.РаботаСФайламиСлужебныйКлиент.Модуль(2581)}:ЗакончитьРедактированиеСРасширениемПослеУдаленияФайлаИзРабочегоКаталога(-1, ПараметрыВыполнения); {ОбщийМодуль.РаботаСФайламиСлужебныйКлиент.Модуль(2474)}:ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрован(ПараметрыВыполнения); {ОбщийМодуль.РаботаСФайламиСлужебныйКлиент.Модуль(2427)}:ЗакончитьРедактированиеСРасширениемПослеПроверкиНовойВерсии(ПараметрыВыполнения); {ОбщийМодуль.РаботаСФайламиСлужебныйКлиент.Модуль(2308)}:ЗакончитьРедактированиеСРасширением(ПараметрыВыполнения); {ОбщийМодуль.ФайловаяСистемаСлужебныйКлиент.Модуль(1286)}:ВыполнитьОбработкуОповещения(ОповещениеОЗакрытии, РасширениеПодключено); {ОбщийМодуль.ФайловаяСистемаКлиент.Модуль(812)}:ВыполнитьОбработкуОповещения(ОписаниеОповещенияЗавершение, "ПодключениеНеТребуется"); {ОбщийМодуль.РаботаСФайламиСлужебныйКлиент.Модуль(523)}:ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботы1СПредприятия(ОписаниеОповещения); {ОбщийМодуль.РаботаСФайламиСлужебныйКлиент.Модуль(2299)}:ПоказатьВопросОбУстановкеРасширения1СПредприятия(Обработчик); {ОбщийМодуль.РаботаСФайламиСлужебныйКлиент.Модуль(625)}:ЗакончитьРедактирование(ПараметрыОбработчика); {Справочник.ДоговорыКонтрагентов.Форма.ФормаЭлемента.Форма(2071)}:РаботаСФайламиСлужебныйКлиент.ЗакончитьРедактированиеСОповещением(ПараметрыОбновленияФайла); [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка] {<Неизвестный модуль>(1)}: Поле объекта не обнаружено (ПараметрыОбменаСКонтрагентами) |
|||
|
3
toypaul
гуру
13.05.26
✎
08:51
|
Похоже на глюкодром под названием ЕРПУХ. Отладчик в зубы и смотрим где у ЭтотОбъект теряется ПараметрыОбменаСКонтрагентами.
Вряд ли тут кто-то прям на стол выложит причину или название роли. |
|||
|
4
RVN
13.05.26
✎
08:55
|
Судя по названию параметров не хватает прав на ЭДО.
Либо добавлять типовые права на ЭДО Либо городить свою роль с правами на чтение нужных объектов ЭДО Либо исправить код |
|||
|
5
ass1c
13.05.26
✎
10:41
|
(0). Идет программное добавление "ПараметрыОбменаСКонтрагентами"...
Сильно в подробности не лез, но попробуй дать право на чтение для документа: Метаданные.Документы.СообщениеЭДО // Возвращает признак наличия прав на чтение электронных документов.
//
// Возвращаемое значение:
// Булево - признак наличия прав на чтение электронных документов.
Функция ЕстьПравоЧтенияДокументов() Экспорт
Если Пользователи.ЭтоПолноправныйПользователь() Тогда
Возврат Истина;
КонецЕсли;
ЕстьПраво = Истина;
// Основные объекты метаданных, доступ к которым определяет доступ к элементарной функции.
ОбъектыЭлементарнойФункции = Новый Массив;
ОбъектыЭлементарнойФункции.Добавить(Метаданные.Документы.СообщениеЭДО);
Для каждого Объект Из ОбъектыЭлементарнойФункции Цикл
Если Не ПравоДоступа("Чтение", Объект) Тогда
ЕстьПраво = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Возврат ЕстьПраво;
КонецФункции |
|||
|
6
ass1c
13.05.26
✎
10:41
|
(5) Роли:
Добавление и изменение электронных документов Чтение электронных документов |
|||
|
7
Black1708
13.05.26
✎
11:03
|
(5) Методом перебора нашел что ошибка возникает при отсутствии роли Чтение электронных документов.
Затем уже в конфигурации нашел Справочники.СообщенияЭДОПрикрепленные файлы, и как раз для доступа к этому объекту нужна роль Чтение электронных документов. Спасибо всем огромное! |
|||
|
8
Black1708
13.05.26
✎
11:04
|
(6) Да именно так!
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |