Ошибка при получении значения атрибута контекста application

Содержание:

1.       Ошибка при установке значения атрибута контекста

2.       Ошибка при получении значения атрибута контекста

Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.  

1.    Ошибка при установке значения атрибута контекста

Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута. 

Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.  

2.    Ошибка при получении значения атрибута контекста

Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.

При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).  

Специалист компании «Кодерлайн»

Александр Суворов

Gokusa

Заблокирован

1

1C 8.x (тонкий)

24.06.2014, 15:27. Показов 12908. Ответов 14

Метки нет (Все метки)


суть проблемы такова:
при закрытии формы в которой происходит работа с екселем, ругается на переменную Ексель.Applicatioons.Quit();
вот так
«{Форма.УпрФорма.Форма(628)}: Ошибка при получении значения атрибута контекста (Application)
Эксель.Application.Quit();
по причине:
Неизвестная ошибка»
при закрытии формы проверяю

1C
1
2
3
4
5
6
&НаКлиенте
Процедура ПриЗакрытии()
    Если типЗнч(Эксель) = Тип("COMОбъект") Тогда 
        Эксель.Application.Quit();    
    КонецЕсли;
КонецПроцедуры

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

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

16 / 16 / 4

Регистрация: 19.03.2011

Сообщений: 138

24.06.2014, 15:39

2

А если попробовать Ексель.Workbooks.Close();

0

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

24.06.2014, 15:48

3

Покажи инициализацию переменной Эксель

0

Gokusa

Заблокирован

24.06.2014, 16:10

 [ТС]

4

книгу и лист закрываю также.
все равно ругается

Добавлено через 50 секунд
инициализация переменной

1C
1
2
3
4
5
6
Попытка
            Эксель = Новый COMОбъект("Excel.Application"); 
        Исключение
            Предупреждение("Ошибка открытия файла " + Файл);
             Возврат;
        КонецПопытки;

Добавлено через 5 минут
вот инициализация и закрытие

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
&НаКлиенте
 Процедура ИнициализацияЕксель()
     
     Попытка
         Эксель = Новый COMОбъект("Excel.Application"); 
     Исключение
         Предупреждение("Ошибка открытия файла " + Файл);
         Возврат;
     КонецПопытки;
     
 КонецПроцедуры
 
 &НаКлиенте
 Процедура ЗакрытиеЕксель()
     Если ТипЗнч(Лист) = Тип("COMОбъект") Тогда
         Попытка
             Лист.Application.Quit();
             Лист  = Неопределено;
         Исключение
         КонецПопытки;
     КонецЕсли;
     
     Если ТипЗнч(Книга) = Тип("COMОбъект") Тогда
         Попытка
             Книга.Application.Quit();
             Книга  = Неопределено;
         Исключение
         КонецПопытки;
     КонецЕсли;
     Если ТипЗнч(Эксель) = Тип("COMОбъект") Тогда
         Попытка
             Эксель.Application.Quit();
             Эксель  = Неопределено;
         Исключение
         КонецПопытки;
     КонецЕсли;
 КонецЕсли;
КонецПроцедуры

процесс висит, либо еслине висит торугается.

0

16 / 16 / 4

Регистрация: 19.03.2011

Сообщений: 138

24.06.2014, 16:11

5

Скорее всего, потому что на клиенте

0

Gokusa

Заблокирован

24.06.2014, 16:19

 [ТС]

6

не могу книгу закрыть

0

Dethmontt

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

24.06.2014, 16:23

7

Должно работать если эксель ничего не держит

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
&НаКлиенте
 Процедура ИнициализацияЕксель()
     
     Эксель = Неопределено;
     Попытка
         Эксель = Новый COMОбъект("Excel.Application"); 
     Исключение
         Предупреждение("Ошибка открытия файла " + Файл);
         Возврат;
     КонецПопытки;
     
 КонецПроцедуры
 
 &НаКлиенте
 Процедура ЗакрытиеЕксель()
     Если Эксель <> Неопределено Тогда
             Эксель.Application.Quit();
             Эксель  = Неопределено;
     КонецЕсли;
КонецПроцедуры

0

Gokusa

Заблокирован

24.06.2014, 16:28

 [ТС]

8

что значит «не держит»?
у меня еще выпадает окошко сохранить изменения в документе для ексель.хотя я его не меняю.

0

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

24.06.2014, 16:29

9

значит сам эксель его меняет

0

Gokusa

Заблокирован

24.06.2014, 16:31

 [ТС]

10

а что в этом случае можно сделать?
з.ы.
я написал вот

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
&НаКлиенте
 Процедура ИнициализацияЕксель()
     
     Попытка
         Эксель = Новый COMОбъект("Excel.Application"); 
     Исключение
         Предупреждение("Ошибка открытия файла " + Файл);
         Возврат;
     КонецПопытки;
     
 КонецПроцедуры
 
 &НаКлиенте
 Процедура ЗакрытиеЕксель()
     Если ТипЗнч(Лист) = Тип("COMОбъект") Тогда
         Попытка
             Лист.Application.Quit();
             Лист  = Неопределено;
         Исключение
             ИсключениеЕксель();
         КонецПопытки;
     КонецЕсли;
     
     Если ТипЗнч(Книга) = Тип("COMОбъект") Тогда
         Попытка
             Книга.Application.Quit();
             Книга  = Неопределено;
         Исключение
             ИсключениеЕксель();
         КонецПопытки;
     КонецЕсли;
     Если ТипЗнч(Эксель) = Тип("COMОбъект") Тогда
         Попытка
             Эксель.Application.Quit();
             Эксель  = Неопределено;
         Исключение
             ИсключениеЕксель();
         КонецПопытки;
     КонецЕсли;
 
 КонецПроцедуры
 
 &НаКлиенте
 Процедура ИсключениеЕксель()
     ИнформацияОбОшибке = ИнформацияОбОшибке();
        Сообщить(ИнформацияОбОшибке);
        Эксель.Application.Quit();                
        Эксель = Неопределено;                        
        Книга.Application.Quit();
        Книга  = Неопределено;                     
        Лист.Application.Quit();
        Лист   = Неопределено;
        Возврат;
     КонецПроцедуры

все равно виситэ

0

Dethmontt

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

24.06.2014, 16:32

11

Попробуй вот так

1C
1
2
3
4
5
6
7
8
Если ТипЗнч(Эксель) = Тип("COMОбъект") Тогда
         Попытка
             Эксель.Workbook.Close(Истина);
             Эксель.Application.Quit();
             Эксель  = Неопределено;
         Исключение
         КонецПопытки;
     КонецЕсли;

1

Gokusa

Заблокирован

24.06.2014, 17:39

 [ТС]

12

у меня сейчас вообще при открытии файла ексель выпало окошко сохранить изменения в файле.
сохранить, отмена и т.п.
в чем м.б. причина,могу ли я его программно сохранить?

Добавлено через 1 час 2 минуты
разобрался, спасибо Детмонт.
я тут тавталогией занялся.
книги, листы

0

17 / 17 / 0

Регистрация: 26.02.2013

Сообщений: 485

26.06.2014, 09:38

13

Кстати сказать, если вызвать Эксэл программно во время отладки и прекратить отладку до программного закрытия Эксэла то он останется висеть — это такой типа глюк самого Эксэла…

0

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

27.06.2014, 02:34

14

Цитата
Сообщение от BVladimir2
Посмотреть сообщение

это такой типа глюк самого Эксэла…

Это фича!!!
причем к этому процессу можно потом подцепиться и продолжить работу…

0

17 / 17 / 0

Регистрация: 26.02.2013

Сообщений: 485

27.06.2014, 10:56

15

Не понял почему, но иногда легко подцепляюсь к такому «оставемуся» процессу, а иногда ни в какую…

0

Ошибка при получении значения атрибута контекста (ТекущийПользователь)

bless18
06.04.2010 09:32 Прочитано: 49810

Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
Пользователь = ПараметрыСеанса.ТекущийПользователь;
по причине:
Попытка получения неинициализированного значения параметра сеансаКод 1C v 8.х

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

Где происходит их инициализация?

Yandex
Возможно, вас также заинтересует

Реклама на портале

E_Migachev
06.04.2010 09:48 Ответ № 1

Когда в Общие — Параметры сеанса добавил ТекущийПользователь, то его нужно определять при загрузке:
так же в процедуре ПриНачалеРаботыСистемы пишешь что то типо:
Код 1C v 8.х

 ИмяПользователя = ИмяПользователя();
Если Не ПустаяСтрока(ИмяПользователя) Тогда
ТекущийПользователь = Справочники.Пользователи.НайтиПоКоду(ИмяПользователя);
КонецЕсли;
ПараметрыСеанса.ТекущийПользователь = ТекущийПользователь;

Это работает при условии, что ИмяПользователя заданное в конфигураторе, равно Имени введенному в справочнике Пользователей в реквизит Код

bless18
06.04.2010 09:56 Ответ № 2

А если не совпадают, можно как-нибудб привязать пользователя к сотруднику?

E_Migachev
06.04.2010 09:57 Ответ № 3

А лучше добавить процедуру в Модуль сеанса(Правой клавишей щелкаещь на названии конфигурации и выбираешь Открыть модуль сеанса)

В ней создаешь Процедура УстановкаПараметровСеанса () и в ней пишешь код который я предложил выше или так, Если не совпадают:

Код 1C v 8.х

 Процедура УстановкаПараметровСеанса()
Спр = Справочники.Сотрудники;
ПараметрыСеанса.ТекущийПользователь=Спр.НайтиПоРеквизиту("Пользователь1С", ИмяПользователя());
КонецПроцедуры
//где Пользователь1С, это реквизит справочника сотрудники, и именем как вбито в конфигураторе

Эта процедура вызывается раньше чем ПриНачалеРаботыСистемы.

Ну а дальше подставлять сопоставленное значение при создании соответствующего документа:

Код 1C v 8.х

  Док.Пользователь=ПараметрыСеанса.Пользователь;   

События модуля сеанса:
Глобальный контекст
УстановкаПараметровСеанса (SessionParametersSetting)
Синтаксис:
УстановкаПараметровСеанса(<Требуемые параметры>)
Параметры:
<Требуемые параметры>
Тип: Массив; Неопределено. Массив устанавливаемых идентификаторов параметров сеанса, которые нужно инициализировать, если обработчик вызывается перед использованием неинициализированных параметров сеанса.
Неопределено, если обработчик события вызывается системой при начале сеанса или при захвате соединения из пула.
Описание:
Событие предназначено для инициализации параметров сеанса.
Вызывается системой:
при установке соединения с информационной базой или при захвате соединения с информационной базой из пула до вызова всех остальных обработчиков. Значение параметра «Параметры сеанса» — Неопределено;
перед фактическим использованием значений параметров сеанса, которые не были инициализированы ранее. В этом случае значением параметра «Параметры сеанса» является массив идентификаторов неинициализированных параметров сеанса, значения которых используются. Если после выполнения обработчика хотя бы один из перечисленных параметров сеанса остается неинициализированным, то возникает исключение.

bless18
06.04.2010 12:13 Ответ № 4

Спасибо вам огромное! Вы мне очень помогли!

bless18
06.04.2010 12:15 Ответ № 5

Спасибо вам огромное! Вы мне очень помогли!

E_Migachev
06.04.2010 15:44 Ответ № 6

Пожалуйста )

Подсказка:Вы можете добавить любую страничку в Социальные закладки щелкнув по значку соцсетей (в вверху)

Ошибка в 1С 8. Ошибка при получении значения атрибута контекста (ОсновнаяРоль), Недопустимо использование свойства ОсновнаяРоль

Описание ошибки:
Проблема стала возникать после того, как в серверную базу УТ 10.3 был добавлен функционал Библиотеки МДЛП. Ошибка не проявляла себя явно при работе в режиме 1С: Предприятие, но негативно влияла на выполнение некоторых регламентных заданий, так что они аварийно прерывались.

Найденные решения:

{ОбщийМодуль.Пользователи.Модуль(116)}: Ошибка при получении значения атрибута контекста (ОсновнаяРоль)
по причине:
Недопустимо использование свойства «ОсновнаяРоль»

Проблема стала заметна случайно лишь тогда, когда в частности регламентное фоновое задание «Наличие новых ЭД» стало прерываться в процессе своего выполнения из за ошибки.

1С 8 как исправить ошибку при получении значения атрибута контекста ОсновнаяРоль
Рис. 1. Пример ошибки «Ошибка при получении значения атрибута контекста (ОсновнаяРоль)» в регламентном задании «Наличие новых эд в сервисе ЭДО« 

Так же и в другом регламентном задании стала проявляться ошибка «Ошибка при получении значения атрибута контекста (ОсновнаяРоль) по причине: Недопустимо использование свойства «ОсновнаяРоль».


Рис. 2. Пример ошибки «Недопустимо использование свойства «ОсновнаяРоль» в регламентном задании «Выполнение обмена по сценарию…»

Удивителен тот факт, что код «Метаданные.ОсновнаяРоль» вполне нормальный. Т.е. конструкция вызывается в конфигураторе при конфигурировании как свойство объекта «Метаданные». Так же не возникает ошибок при проверка кода при сохранении изменений конфигурации. 

Нажатие на изображении увеличит его

Рис. 3. Причина ошибки в коде, конструкция «Метаданные.ОсновнаяРоль = Неопределено».

Релиз используемой платформы 1С в базе, в которой возникла проблема — 8.3.18.1741


Рис. 4. Сведения о конфигурации, версии платформы и параметры конфигурации.

Удивительно, что описание данного свойства «ОсновнаяРоль» отсутствует в Синтакс-помощнике. Хотя, как уже было коротко упомянуто, свойство «ОсновнаяРоль» глобального свойства «Метеданные» используется в библиотеке МДЛП. Исходно основное назначение библиотеки — для конфигураций, работающих в режиме управляемого приложения. Конфигурация 1С: Управление торговлей 10.3 работает в другом режиме — обычного приложения. Поэтому получается, что конструкция кода эксплуатируется в редко используемой библиотеке и ее работоспособность не совсем понятна в текущем релизе платформы.

В сети оказалось достаточно мало вспомогательной информации об этой ошибке. Из найденного, что может кому-то помочь — это обсуждение на форуме forum.1c.ru «После обновления на 2.0.15.8 выпадает ошибка: Недопустимо использование свойства «ОсновнаяРоль».

Поэтому возможно, но это только неподтвержденное предположение, что метод работает только в конфигурациях, работающих в режиме управляемого приложения, т.к. о нем отсутствует какая-либо информация в официальной методике — «Синтакс-помощнике». Поскольку упоминание проблемы с «ОсновнаяРоль» и ее актуальное решение по приведенной выше ссылке действует для конфигурации 1С: Деньги, которая работает исключительно в режиме обычного приложения (интерфейса).

1С 8 свойство метода метаданные конфигурации ОсновнаяРоль
Рис. 5. Отсутствие в «Синтакс-помощнике» описания метода «ОсновнаяРоль»

Поэтому решением данной проблемы стало изменение кода на конструкцию: Метаданные.ОсновныеРоли.Количество()

Нажатие на изображении увеличит его

Рис. 6. Устранение ошибки «Ошибка при получении значения атрибута контекста (ОсновнаяРоль)» заменой текста кода.

Таким образом код стал актуальным для исполнения и в дальнейшем не вызывал ошибку.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

21-07-2022

Журавлев А.С.
(Сайт azhur-c.ru)

УРБД в файловом режиме все нормально работало, а когда попытались перейдти на SQL в подчиненом узле возникла ошибка: —————————————————————- {ПланОбмена.Отделения}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘{ОбщийМодуль.НастройкаПравДоступа}: Ошибка при получении значения атрибута контекста (ГраницыЗапретаИзмененияДанных): Попытка получения неинициализированного значения параметра сеанса’ по причине: Ошибка при выполнении обработчика — ‘{ОбщийМодуль.НастройкаПравДоступа}: Ошибка при получении значения атрибута контекста (ГраницыЗапретаИзмененияДанных): Попытка получения неинициализированного значения параметра сеанса’ по причине: Ошибка при выполнении обработчика — ‘{ОбщийМодуль.НастройкаПравДоступа}: Ошибка при получении значения атрибута контекста (ГраницыЗапретаИзмененияДанных): Попытка получения неинициализированного значения параметра сеанса’ по причине: {ОбщийМодуль.НастройкаПравДоступа}: Ошибка при получении значения атрибута контекста (ГраницыЗапретаИзмененияДанных): Попытка получения неинициализированного значения параметра сеанса по причине: Попытка получения неинициализированного значения параметра сеанса —————————————————————- что не так в параметрах сеанса,что у него неинициализировано?

Попробуй задать пользователя (ПараметрыСеанса.ТекущийПользователь = НекийПользователь), от имени которого работает регламентное задание.

Это из-за того, что при старте на сервере нужный парметр сеанса не инициализируется каким-либо значением. Найди процедуру, которая присваивает значения параметрам сеанса и посмотри как расположены директивы прекомпиляции «#Если Клиент»   и  «#Если Сервер»

Чего не понял? В файловом режиме фоновое задание стартует от имени пользователя, который запустил сеанс работы. В SQL фоновое стартует на сервере, сеанса нет, пользователь не определён. Назначить фоновому заданию пользователя можно попробовать обработкой с ИТС «Консоль заданий», если не поможет — найти процедуру, которую дергает регламентное задание, и прописать пользователя прямо там.

Тэги:

Комментарии доступны только авторизированным пользователям

September 13 2016, 22:08

Category:

  • Общество
  • Cancel

_ИнспекторПоКадрам
На основе Подсистемы Кадры / ... — Выгрузил в описание и по тем же объектом проставил права
Настроил Интерфейс — тоже на основе Подсистемы
В Пользователях выбрать Интерфейс, Права, указать режим запуска — Обычное приложение (если Обычное)
Все роли открываются: Роли / Все роли.

Выдает: У текущего пользователя нет доступных ролей, для запуска информационной базы.
Раньше был Пользователь (права), теперь надо выбирать Бухгалтера, но он дает слишком много прав.
Ибо Общий модуль Управление пользователями

Процедура ПроверитьВозможностьРаботыПользователя(Отказ) Экспорт

Если НЕ РольДоступна(«ПолныеПрава») И НЕ РольДоступна(«Бухгалтер») Тогда
//_Отказ = Истина;
#Если Клиент Тогда
//_Предупреждение(«У текущего пользователя нет доступных ролей, для запуска информационной базы.«, 10, «Недостаточно прав доступа»);
#КонецЕсли
КонецЕсли;
КонецПроцедуры

Потом включаем объекты, какие надо (документы — по отбору нужной Подсистемы, остальные можно вообще все включить)

Вызывается из Модуль обычного приложения / ПередНачаломРаботыСистемы()
Можно закомментить или еще как-то обойти: //_ УправлениеПользователями.ПроверитьВозможностьРаботыПользователя(Отказ);
Пишут про RLS (Record Level Security) или ограничение прав на уровне записи… но пока не до того
Выдает нарушение прав доступа из-за Модуля Обычного приложения:  ПервыйЗапуск = (Константы.НомерВерсииКонфигурации.Получить()=»»);
Еще и вылетает после этого…
Поставить у константы право Просмотр (заодно и Чтение ставится)

{МодульОбычногоПриложения(100)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)
Если Не ЗначениеЗаполнено(ПараметрыСеанса.ТекущийПользователь) Тогда
по причине:
Нарушение прав доступа!
добавить ТекущийПользователь в ПараметрыСеанса, сэр (link) — еще —
Ставим Общие  / Параметры сеанса / Текущий пользователь — все права.

{МодульОбычногоПриложения(119)}: Ошибка при вызове метода контекста (Получить)
Если Константы.ПрименяемыеСистемыНалогообложения.Получить() = Перечисления.ПрименяемыеСистемыНалогообложения.УпрощеннаяСистемаНалогообложения Тогда
по причине:
Нарушение прав доступа!
Ставим права на все Константы Просмотр-Чтение.

{ОбщийМодуль.ОбщегоНазначения.Модуль(6881)}: Ошибка при вызове метода контекста (Выполнить)РезультатЗапроса = Запрос.Выполнить();
по причине: Недостаточно прав для работы с таблицей «Справочник.ВнешниеОбработки»
Ставим права на Справочники: Внешние обработки, Организации

МенеджерЗаписи в модуле Общего приложения:
{ОбщийМодуль.УправлениеПользователями.Модуль(135)}: Ошибка при вызове метода контекста (Записать)
МенеджерЗаписи.Записать(Истина);
по причине:
Нарушение прав доступа!
Это вот: МенеджерЗаписи = РегистрыСведений.НастройкиПользователей.СоздатьМенеджерЗаписи(); Стаим права на него
Опять параметры сеанса!… в окне (роли / Все роли) ставим на все …
Планы видов характеристик … Настройки пользователей …  на
Уже при запуске …

{МодульОбычногоПриложения(569)}: Ошибка при вызове метода контекста (ПолучитьФорму)
Форма = Обработки.ДополнительнаяИнформация.ПолучитьФорму(«ФормаРабочийСтол»);
по причине:
Нарушение прав доступа!
Справочник. Внешние обработки
На все обработки ставим

{ВнешняяОбработка.ИнтернетПоддержкаПользователей.МодульОбъекта(2041)}: Ошибка при вызове метода контекста (Следующий)
Пока Выборка.Следующий() Цикл
по причине: Нарушение прав доступа!
Можно конечно, до ума довести, но…  Короче, судя по всему, надо ставить права бухгалтера а уже потом убирать не нужные

Содержание:

1.       Ошибка при установке значения атрибута контекста

2.       Ошибка при получении значения атрибута контекста

Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.  

1.    Ошибка при установке значения атрибута контекста

Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута. 

Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.  

2.    Ошибка при получении значения атрибута контекста

Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.

При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).  

Специалист компании «Кодерлайн»

Александр Суворов

Попробуйте так:

Документ = MSWord.Application.Documents(1);

Документ.SaveAs(Каталог + «» + Строка(Строка.НомерСтроки) + «.doc»);

Справка из Word:

Document.SaveAs Method

— Saves the specified document with a new name or format. Some of the arguments for this method correspond to the options in the Save As dialog box (File menu).

Syntax

expression.SaveAs(FileName, FileFormat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter, Encoding, InsertLineBreaks, AllowSubstitutions, LineEnding, AddBiDiMarks)

expression:   Required. A variable that represents a Document object.

Добрый вечер!
Извините за вмешательство в чужой вопрос. У нас появилась аналогичная проблема.
«Можно попробовать зайти в Меню — Функции для технического специалиста и включить константу «Выполнять расчет зарплаты без оптимизации».» — не помогло. Без ошибок заполняется , если через подбор небольшими «кусками» заполнять, человек по 50.
Если заполнять документ без указания подразделения, то появляется другое сообщение о ошибке. И эа ошибка сегодня зарегистрирована 1С.
Ошибка 50014421

Код ошибки: 50014421
Статус: Не указан Зарегистрирована: 08.11.2021
Продукт: «1С:ЗУП 3, 1С:ЗГУ 3»

Описание:
При заполнении документа «Начисление зарплаты и взносов» появляется сообщение об ошибке

Итератор для значения не определен

{ОбщийМодуль.УчетНДФЛ.Модуль(4892)}: Для каждого СтрокаТЗ Из ДоходыТекущегоРасчета Цикл

{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(12866)}: НДФЛ = УчетНДФЛ.РассчитатьНалогПоОсновнойСтавке(

{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(12837)}: НДФЛ = РезультатРасчетаНДФЛ();

{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(10005)}: РассчитатьНДФЛ();

Способ обхода:
Кнопкой подбора добавлять в документ сотрудников по 30-40 человек.

На наш взгляд — эти ошибки «звенья одной цепи» . Причем на некоторых серверах эта ошибка не воспроизводится, подразделение на полторы тысячи человек заполняется без проблем, как и ранее.

Использую обработку ВыгрузкаЗагрузкаДанныхXML82.epf все документы выгружаються нормально,а на одном при попытке выгрузить выдает ошибку {ВнешняяОбработка.ВыгрузкаЗагрузкаДанныхXML.МодульОбъекта}: Ошибка при получении значения атрибута контекста (Результат)    РезультатЗапроса = ПостроительОтчета.Результат; по причине: по причине: вот что выдает Сообщить( ПостроительОтчета.Текст); » ВЫБРАТЬ Разрешенные _.* ИЗ Документ.АктыЭК КАК _ » Откуда в ошибка берет «<<?>>В КАК В,»?

Потому что «*». З.Ы. Псевдоним таблицы просто клевый. Постарайся, чтобы следующий разработчик не узнал, где ты живешь

З.Ы. Псевдоним таблицы просто клевый. Постарайся, чтобы следующий разработчик не узнал, где ты живешь а я тут причем я обработку скачал «ВыгрузкаЗагрузкаДанныхXML82.epf»

я думаю, что не стоило называть реквизит «В»

а в чем * виновата то? другие документы же выгружает к примеру с таким запросом ВЫБРАТЬ Разрешенные _.* ИЗ Документ.АктыМЭКСМО КАК _

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

написать запрос ручками, со своими алиасами полей

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

  • Ошибка при получении доступа к микрофону вк
  • Ошибка при получении данных транзакции неизвестная ошибка
  • Ошибка при получении данных об активности твиттер
  • Ошибка при получении данных их сети
  • Ошибка при получении данных билайн