Меню

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

Содержание:

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

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

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

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

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

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

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

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

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

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

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

Из 1с 8.2 подключаюсь к 1С 7.7 в которой необходимо создать элемент справочника и элемент подчиненного ему справочника.

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

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

                               _адреса.вид = почтовый;

по причине:

Неизвестная ошибка

В чем может быть загвоздка?. Вот собственно сам код:

       глV7 = Новый COMОбъект («V77.Application»);

       Каталог=»/d\1Сbase1″;

       Открыта = глV7.Initialize(глV7.RMTrade, Каталог+» /NАвто», «»);

       
       Если Открыта = 0 Тогда

           Сообщить(«Ошибка открытия информационной базы»);

       Иначе

           
           _контрагенты=глV7.CreateObject(«Справочник.Покупатели»);

           _контрагенты.ВыбратьЭлементы();

           
           _страны=глV7.CreateObject(«Справочник.Страны»);

           _страны.ВыбратьЭлементы();

           
           _адреса=глV7.CreateObject(«Справочник.Адрес»);

           //    _адреса.ВыбратьЭлементы();

           
           
           чек = 0;

           пока _контрагенты.ПолучитьЭлемент()=1 цикл            

               док=_контрагенты.ТекущийЭлемент();

               Если Не СсылкаКлиент.ЭтоГруппа Тогда

                   //    Если док.родитель.код <> «» Тогда

                   Если СокрЛП(док.код) = СокрЛП(СсылкаКлиент.Код) Тогда

                       сообщить(«найден «+док.код);

                       чек = 1;

                       Прервать;

                   КонецЕсли;

                   //    КонецЕсли;                

               Иначе

                   Если док.родитель.код = «» Тогда    

                       Если СокрЛП(док.код) = СокрЛП(СсылкаКлиент.Код) Тогда

                           чек = 1;

                           Прервать;

                       КонецЕсли;

                   КонецЕсли;    

               КонецЕсли;                                            

           КонецЦикла;

           
           Если чек = 0 Тогда

               Если Не СсылкаКлиент.ЭтоГруппа Тогда

                   Клиент77 = глV7.CreateObject(«Справочник.Покупатели»);

                   Клиент77.Новый();

                   Клиент77.Код = СокрЛП(СсылкаКлиент.Код);

                   Клиент77.Наименование = СокрЛП(СсылкаКлиент.Наименование);

                   Клиент77.нип = СокрЛП(СсылкаКлиент.УНП);

                   Клиент77.регон = СокрЛП(СсылкаКлиент.Регон);

                   Клиент77.крс = СокрЛП(СсылкаКлиент.НКРС);

                   Клиент77.Power = СокрЛП(СсылкаКлиент.Power);

                   
                   СчСтрана = 0;

                   пока _страны.ПолучитьЭлемент()=1 цикл            

                       Страна77=_страны.ТекущийЭлемент();

                       Если СокрЛП(Страна77.наименование) = СокрЛП(СсылкаКлиент.Странарегистрации.Наименование) Тогда

                           Клиент77.страна = Страна77;

                           СчСтрана = 1;

                           Прервать;

                       КонецЕсли;

                   КонецЦикла;

                   Если СчСтрана = 0 и СсылкаКлиент.Странарегистрации.Наименование <> «» Тогда

                       Страна77 = глV7.CreateObject(«Справочник.Страны»);

                       Страна77.Новый();

                       Страна77.Код = СсылкаКлиент.Странарегистрации.ТекстКод;

                       Страна77.Наименование = СсылкаКлиент.Странарегистрации.Наименование;

                       Страна77.Записать();

                       Клиент77.страна = Страна77;

                   КонецЕсли;    

                   
                   Клиент77.Записать();

                   
                   //Ставим флаг ПереданВ1С77 в истину, чтоб больше автоматически не передавать этого клиента

                   Клиент82 = СсылкаКлиент.ПолучитьОбъект();

                   Клиент82.ПереданВ1С77 = Истина;

                   Клиент82.Записать();

                   
                   Сообщить(«Записан клиент «+Клиент77.код + » «+Клиент77.наименование);

                   
                   Для Каждого Стр Из Клиент82.Адреса Цикл

                       
                       _адреса=глV7.CreateObject(«Справочник.Адрес»);        

                           
                       _адреса.ИспользоватьВладельца(Клиент77);

                       _адреса.Новый();

                       _адреса.Наименование = Стр.Адрес;

                       _адреса.доп = Стр.Адрес;

                       Если Стр.ВидАдреса = Перечисления.ВидыАдресов.Почтовый Тогда

                                                           
                       _адреса.вид = глv7.Перечисление.ВидАдреса.почтовый;

                       ИначеЕсли Стр.ВидАдреса = Перечисления.ВидыАдресов.Юридический Тогда

                           _адреса.вид = глv7.Перечисление.ВидАдреса.юридический;

                       ИначеЕсли Стр.ВидАдреса = Перечисления.ВидыАдресов.электронный Тогда

                           _адреса.вид = глv7.Перечисление.ВидАдреса.электронный;

                       КонецЕсли;

                       _адреса.Записать();

                       
                   КонецЦикла;

                   
                   
               Иначе    

                   
               КонецЕсли;

           КонецЕсли;    

           
       КонецЕсли;



1 февраля, 2017
21 апреля, 2017

Дано

  • 1С конфигурация бухгалтерия предприятия 2.0
  • Ошибка печати ПКО (приходный кассовый ордер):

{ОбщаяФорма.ФормаПечати.Форма(18)}: Ошибка при установке значения атрибута контекста

   ЭлементыФормы.ПолеДокумента.ПолеСверху

по причине:

Несоответствие типов

Анализ проблемы

На первый взгляд все ужасно:

  • в конфигураторе видно, что система пытается выполнить строчку кода:

ЭлементыФормы.ПолеДокумента.ПолеСверху          = ПечатныйДокумент.ПолеСверху;

  • в отладке видно, что обе переменные типа “Число”,
  • синтакс-помощник говорит что:

ТабличныйДокумент (SpreadsheetDocument)

ПолеСверху (TopMargin)

Использование:

Чтение и запись.

То есть ПолеСверху доступно для записи и обе переменные типа число и все тут корректно, но система говорит “Несоответствие типов” – полный бред.

Решение

На решение проблемы натолкнула фраза “Ошибка при установке значения атрибута контекста”, значит что-то не так с доступом.
Оказалось в базе нет ни одного пользователя и работа осуществлялась под пользователем НеАвторизован. После создания пользователя с необходимыми правами все заработало.

Дополнено 2017.04.10

Проблема повторилась, но уже при печати РТУ и с использованием уже настроенной учетной записи.

Помогло создание нового пользователя с такими же правами доступа. То есть нового создаем, старого удаляем и после этого все работает.

Автор Venom05, 18 апр 2019, 09:47

0 Пользователей и 1 гость просматривают эту тему.

Добрый день, после обновления до 3.067.54 появилась ошибка, в базе расширений не стоит.

17.04.2019 23:10:10
{Справочник.ВерсииРасширений.МодульМенеджера(11)}: Ошибка при установке значения атрибута контекста (УстановленныеРасширения)
      ПараметрыСеанса.УстановленныеРасширения = КонтрольныеСуммыРасширений();
по причине:
Несоответствие типов

После танцев с бубном база запустилась, проработала пару дней, а со вчерашнего вечера бубен не помогает.


А что за расширения и зачем?
Деинсталлируйте


Цитата: Геннадий ОбьГЭС от 18 апр 2019, 12:23
А что за расширения и зачем?

Читайте внимательней — расширений нет, хотя проверить список расширений не помешает.

Добавлено: 18 апр 2019, 15:35


Venom05, попробуйте почистить кэш и повторить открыть базу.

При неудаче
— если есть возможность, откатитесь на обновляемый релиз из бэкапа или копии базы;
— проведите её полное ТИИ (сразу в режиме тестирования и исправления), проверьте базу утилитой chdbfl.exe из bin-папки;
— обновитесь последовательно до актуального релиза (в ручном режиме через конфигуратор).

REM Версия Платформы должна быть не ниже 8.3.12.1685.


Цитата: Venom05 от 18 апр 2019, 09:47
Добрый день, после обновления до 3.067.54 появилась ошибка, в базе расширений не стоит.

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


Цитата: pavl_vs от 18 апр 2019, 15:16

Цитата: Геннадий ОбьГЭС от 18 апр 2019, 12:23
А что за расширения и зачем?

Читайте внимательней — расширений нет, хотя проверить список расширений не помешает.

Добавлено: 18 апр 2019, 15:35


Venom05, попробуйте почистить кэш и повторить открыть базу.

При неудаче
— если есть возможность, откатитесь на обновляемый релиз из бэкапа или копии базы;
— проведите её полное ТИИ (сразу в режиме тестирования и исправления), проверьте базу утилитой chdbfl.exe из bin-папки;
— обновитесь последовательно до актуального релиза (в ручном режиме через конфигуратор).

REM Версия Платформы должна быть не ниже 8.3.12.1685.

Кэш чистил(если правильно Вас понял, сносил все файлы из каталога кроме самой базы)
Чекдбфом прогонял, было пару несовпадений не критичных, не помоло.
Список расширений пуст.
Обновление сейчас актуальное 3.69.35.
База обновлялась последовательно, через конфигуратор.
Платформа 8.3.13.1513

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



Теги:

  • Форум 1С

  • Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4

  • Установка и администрирование 1С Предприятие 8

  • Ошибка после обновления БП 3.0

Похожие темы (5)

Рейтинг@Mail.ru

Rambler's Top100

Поиск

  • Документ Электронный счет-фактура
  • Бухгалтерия 8 для Казахстана, ред 3.0

  • Бухгалтерия 8 для Казахстана, ред 2.0

  • ИС ЭСФ

Вопрос: При отправке ЭСФ вышла ошибка «Ошибка при
установке значения атрибута контекста (iik): Несоответствие типов
XDTO: Ошибка проверки данных XDTO: Значение: ‘КZ57961001195017009’
не соответствует простому типу: Значение не соответствует образцу».
С чем это связано?

Ошибка при установке значения атрибута контекста (iik): Несоответствие типов XDTO:

Ответ: Ошибка возникла из-за неверного номера банковского
счета поставщика (графа 13 «ИИК» в ЭСФ), указанным в
счете-фактуре.

Документ показан не полностью. Для дальнейшего просмотра необходимо иметь активную подписку на сайте. Авторизуйтесь или оформите подписку.

  • 13845

Комментировать материалы сайта могут зарегистрированные пользователи.

Вход с помощью STSL

Heltarion

2 / 2 / 0

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

Сообщений: 57

1

02.12.2011, 11:18. Показов 8369. Ответов 11

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


Добрый день!
Посмотрите пожалуйста. Есть в обработке таблица значений, в которую я выгружаю данные их XML, после этого я корректирую таблицу и хочу чтобы программа сохранила ее в новый документ эксель. Для этого я создал процедуру «Процедура СохранитьНажатие(Элемент) Экспорт». При сохранении выскакивает: «Ошибка при установке значения атрибута контекста (Value)». Насколько я понимаю, программе не нравится тип значения, который я передаю.
Переменные:

ТПП — «табличное поле правил», в ней уже занесены некотрые значения из XML
НоменклатураЗагрузки, НоменклатураБазы — имена столбцов ТПП
СтолбЗагр, СтолбБаз — столбцы в экселе

Код процедуры:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
СтолбЗагр = 1;
СтолбБаз = 2;
 
Если ИнициализацияЭкселя() Тогда
      Книга = Excel.WorkBooks.Add();
      Sheet = Книга.Sheets(1);
    
      Для каждого стр из ТПП Цикл
              Sheet.Cells(стр,СтолбЗагр).Value=стр.НоменклатураЗагрузки;
              Sheet.Cells(стр,СтолбБаз).Value=стр.НоменклатураБазы;
      КонецЦикла;
 
      Попытка
              Книга.SaveAs("F:1CBaseВнешнии обработкиправила.xls");
      Исключение
              Сообщить(ОписаниеОшибки()+" Файл не сохранен!");
              Возврат;
      КонецПопытки;
КонецЕсли;
Сообщить("Готово");

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



0



308 / 308 / 1

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

Сообщений: 1,073

02.12.2011, 11:32

2

СохранитьНажатие(Элемент) это событие формы
в этой процедуре пропиши вызов другой процедуры, например СохранитьВЭксель();
саму же процедуру СохранитьВЭксель() добавь в модуль объекта и сделай её экспортной. Вставь свой код представленный выше.
обращение из формы будет ЭтотОбъект.СохранитьВЭксель();



1



2 / 2 / 0

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

Сообщений: 57

02.12.2011, 11:56

 [ТС]

3

СохранитьНажатие(Элемент) это событие формы
в этой процедуре пропиши вызов другой процедуры, например СохранитьВЭксель();
саму же процедуру СохранитьВЭксель() добавь в модуль объекта и сделай её экспортной. Вставь свой код представленный выше.
обращение из формы будет ЭтотОбъект.СохранитьВЭксель();

В МодулеОбъекта создал функцию «Процедура СохранитьВЭксель(ТПП) Экспорт»
Прописал в ней тотже код, что выше. В событии формы написал: ЭтотОбъект.СохранитьВЭксель(ТПП);
Выскочила ошибка: Ошибка при вызове метода контекста (Cells)
Что я нетак сделал?



0



308 / 308 / 1

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

Сообщений: 1,073

02.12.2011, 12:10

4

процедуру ИнициализацияЭкселя() тоже закинь в модуль объекта
СохранитьВЭксель(ТПП), параметр ТПП скорее всего не нужен



1



2 / 2 / 0

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

Сообщений: 57

02.12.2011, 12:19

 [ТС]

5

Да я именно так и сделал, просто забыл упомянуть, ТПП нужна в противном случае он не понимает что это за переменная

Добавлено через 4 минуты
Проблема вот в чем:
Sheet.Cells(стр,СтолбЗагр).Value=1;
Sheet.Cells(стр,СтолбБаз).Value=2;

Так работает, но если я поставлю
Sheet.Cells(стр,СтолбБаз).Value=стр.НоменклатураБа зы;
Выдает ошибку «Ошибка при установке значения атрибута контекста (Value)».

Дело в том что «стр.НоменклатураБазы» — это справочник ссылка, если у нее текстовый тип то программа глотает и записывает.



0



19 / 18 / 1

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

Сообщений: 54

02.12.2011, 12:22

6

чет вы мудрено делаете.
У вас не правильно указывается адресс ячейки в cell. Если стр — это коллекция или массив записей, то он не может нести в себе номер ячейки.
Не знаком с 1C, но програмлю в Excel и делаю выгрузки из других систем.



1



2 / 2 / 0

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

Сообщений: 57

02.12.2011, 12:28

 [ТС]

7

В данный момент ему не нравится присваемое значение к ячейке экселя (если я правильно понимаю сообщение «Ошибка при установке значения атрибута контекста (Value)» )

Причем если тип значения строка, то он его получает без вопросо, если тип значения СправочникССсылка, то он руегается на «Ошибка при установке значения атрибута контекста (Value)».

Я просто не понимаю как обратиться к такому типу переменных чтобы получить значение типа строка.



0



19 / 18 / 1

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

Сообщений: 54

02.12.2011, 12:30

8

а принудительно все значения в текст перевести нельзя?



1



308 / 308 / 1

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

Сообщений: 1,073

02.12.2011, 12:30

9

стр.НоменклатураБазы.Наименование например



1



2 / 2 / 0

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

Сообщений: 57

02.12.2011, 12:32

 [ТС]

10

стр.НоменклатураБазы — это уже есть наименование интересующего меня поля (имя столбца), в некотрых случаях можно писать: стр.НоменклатураБазы.Значение, но это нетот случай

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



0



308 / 308 / 1

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

Сообщений: 1,073

02.12.2011, 12:34

11

значение из Excel?



1



Heltarion

2 / 2 / 0

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

Сообщений: 57

02.12.2011, 12:43

 [ТС]

12

Рабочий код:

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
Функция ИнициализацияЭкселя()
 
    //Пытаемся подключиться к Excel
    Попытка
        Excel = новый COMОбъект("Excel.Application");
        Сообщить("=====> Загрузка производится через MS Excel...");
        Возврат Истина;
    Исключение
        Возврат Ложь                
    КонецПопытки;     
    
КонецФункции
 
 
Процедура СохранитьНажатие(Элемент) Экспорт
    СтолбЗагр = 1; // задаю номер столбца№1 в эксель
    СтолбБаз = 2;  // задаю номер столбца№2 в эксель
    
    Если ИнициализацияЭкселя() Тогда
        Книга = Excel.WorkBooks.Add(); // создал новый документ
        Sheet = Книга.Sheets(1);          // открыл страницу 1
   
// цикл для заполнения таблицы эксель данными из табличного поля (по двум полям)     
        Для каждого стр из ТПП Цикл
            Sheet.Cells(стр,СтолбЗагр).Value=стр.НоменклатураЗагрузки;
            Sheet.Cells(стр,СтолбБаз).Value=стр.НоменклатураБазы.Наименование;
        КонецЦикла;
 
//выполняю сохранение документа       
        Попытка
            Книга.SaveAs("F:1CBaseВнешнии обработкиправила12.xlsx");
        Исключение
            Сообщить(ОписаниеОшибки()+" Файл не сохранен!");
            Возврат;
        КонецПопытки;
    КонецЕсли;
    Книга.Application.Quit();
    Сообщить("Готово");
КонецПроцедуры



0



Как исправить ошибку Недопустимое значение параметра (параметр номер ‘2’) при использовании метода ЗначениеВРеквизитФормы

О нюансах работы в 1С с ЗначениеВРеквизитФормы и ошибке Недопустимое значение параметра (параметр номер ‘2’).

ЗначениеВРеквизитФормы выполняется на сервере. Разработчики платформы автоматизировали процесс передачи данных на клиент — вручную на клиенте присваивать значение полю не нужно.

Проще всего выгрузить результат выполнения запроса с вариантом обхода по группировкам. Тогда на выходе будет ДеревоЗначений и тип данных совпадет с тем, что установлен в табличном поле по-умолчанию. Однако, если табличное поле базируется на ТаблицаЗначений — обход по группировкам в выгрузке не нужен.

Если что-то не так — получите ошибку Недопустимое значение параметра (параметр номер ‘2’).

Чтобы исправить ошибку «Недопустимое значение параметра (параметр номер ‘2’)» нужно проверить:

1. Тип данных реквизита на форме должен совпадать с типом данных который хотите присвоить реквизиту (ДеревоЗначений, ТаблицаЗначений).

2. Количество и имена колонок в результате запроса должны совпадать с количеством и именами в табличном поле на форме.

3. Имя реквизита на форме должно совпадать с именем указанном в методе ЗначениеВРеквизитФормы и иметь тип Строка. Рекомендую копировать текст и вставлять в места где он должен совпадать.

Если ошибка сохраняется — перепроверьте все пункты в отладчике.

Чтобы научиться работать с методом ЗначениеВРеквизитФормы нужен определенный опыт. Со временем вы обязательно научитесь пользоваться им без ошибок.

Источник

Обработка ошибок, возникающих при обмене данными в распределенной информационной базе

Общие ошибки, возникающие при работе с XML

Сообщение обмена данными является документом XML, поэтому имеет смысл описать возможные ошибки, которые могут возникнуть во время чтения/записи сообщений обмена данными при использовании средств чтения/записи данных XML, предоставляемых платформой «1С:Предприятие 8». При работе с данными в формате XML может возникать множество различных ситуаций, однако в данной статье будут рассмотрены только те, которые так или иначе имеют отношение к обмену данными в рамках распределенной информационной базы.

Значение URI пространства имен должно соответствовать рекомендации Namespaces in XML (см. http://www.w3.org/TR/REC-xml-names)

Производится попытка записи в XML значения, для типа которого не определена процедура записи в XML. Или производится попытка чтения из XML значения неизвестного типа или типа, для которого не определена процедура чтения из XML.

Ситуации, возникающие при обмене данными в рамках распределенной информационной базы

Источник

Ошибка при установке отбора

Есть форма справочника. На ней табличное поле с типом РегистрСведенийНаборЗаписей. Открывается при подборе в документ.

Запрос.Текст = «ВЫБРАТЬ
| РазрешенныеУслуги.Исполнитель,
| РазрешенныеУслуги.СубИсполнитель
|ИЗ
| РегистрСведений.РазрешенныеУслуги КАК РазрешенныеУслуги
|ГДЕ
| РазрешенныеУслуги.Услуга = &Услуга»;
Запрос.УстановитьПараметр(«Услуга», ЭлементыФормы.ТЧасть.ТекущаяСтрока.Услуга);
Результат = Запрос.Выполнить().Выгрузить();
СписокИсполнителей = Новый СписокЗначений;
СписокИсполнителей.ЗагрузитьЗначения(Результат.ВыгрузитьКолонку(«Исполнитель»));
СписокСубИсполнителей = Новый СписокЗначений;
СписокСубИсполнителей.ЗагрузитьЗначения(Результат.ВыгрузитьКолонку(«СубИсполнитель»));

Форма = Справочники.Исполнители.ПолучитьФормуВыбора(,ЭлементыФормы.ТЧасть);
Форма.РежимВыбора = Истина;
Форма.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
Форма.Отбор.Ссылка.Значение = СписокИсполнителей;
Форма.Отбор.Ссылка.Использование = Истина;
Форма.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;

Форма.ТЧ_СубИсполнитель.Отбор.СубИсполнитель.ВидСравнения = ВидСравнения.ВСписке;
Форма.ТЧ_СубИсполнитель.Отбор.СубИсполнитель.Значение = СписокСубИсполнителей;
Форма.ТЧ_СубИсполнитель.Отбор.СубИсполнитель.Использование = Истина;

При установке второго отбора дает ошибку:

<Документ.ОказаниеУслуг.Форма.ФормаДокумента.Форма(537)>: Ошибка при установке значения атрибута контекста (ВидСравнения)
Форма.ТЧ_СубИсполнитель.Отбор.СубИсполнитель.ВидСравнения = ВидСравнения.ВСписке;
по причине:
Недопустимый тип сравнения

Источник

Ошибка SDBL в 1С

Возникновение ошибки SDBL

Ошибка SDBL возникает, когда происходит обновление конфигурации 1С:Предприятие или сохранение перемен. Также сообщение об ошибке может возникать при работе с обменами данных:

Недопустимый тип значения context как исправить

Рис. Сообщения 1С об ошибке SDBL

Также к данным сообщениям часто есть одна или несколько приписок:

Обратите внимание: есть вероятность, что при ошибке будут другие сообщения, не указанные выше!

Устранение ошибки SDBL в 1С

Устранить ошибку SDBL можно одним из способов, которые описаны ниже.

1. Сделать перезагрузку на сервере с приложениями для 1С 8.3. Далее может помочь, если включить и выключить все сервисы SQL и агентами SQL. Для этого потребуется зайти на сервер, выбрать «Агент сервера 1С» и при помощи контекстного меню приостановить работу. По аналогии сделаем с «Агентом SQL» и «SQL Server» для сервера SQL. Затем следует снова подключить их, но в обратной последовательности.

2. Выгрузить базу с данными в некоторый файл, который будет иметь расширение DT, а затем выгрузить её назад – в ту же базу с информацией. Аналогично будет исполняться для режима конфигуратора при помощи вкладки меню «Администрирование» – посредством использования команд «Загрузить информационную базу…» и «Выгрузить информационную базу…».

3. Можно попробовать очистить КЭШ внутри сервера и внутри компьютера пользователя в месте, где была обнаружена ошибка. Для этого потребуется закрыть 1С, далее совершить поиск по папкам, которые будут иметь имя вида «bd5c8ea4-b65f-4c23-a9c8-2dccfb0b15fa» внутри папки с названием «Application Data», после их нахождения производим удаления данных папок.

4. Также можно обновить платформу на более современную версию (с главного портала – ИТС). Для выполнения данного действия скачиваем с ИТС новую платформу 1С 8.3 и устанавливаем ее на компьютерах клиентов и на сервере.

5. Рассмотрим еще один вариант – использование механизма «Тестирование и исправление информационных баз», который находится внутри конфигуратора. В необходимой базе переходим по пути: «Администрирование → Тестирование и исправление информационных баз», а далее запускаем процесс.

6. Совершим загрузку внутри копии, которая является резервной, если она была создана в недавнем времени. Замечание: обязательно часто делать резервные копии до любого важного действия с ИБ. Копии делаются посредством SQL MS или конфигуратора, при этом происходит выгрузка файла в формат dt.

Если ни один из вышеперечисленных способов не устранил ошибку SDBL, следует произвести очистку таблиц _ConfigChngR_ExtProps и _ConfigChngR. Однако для этого потребуется знания принципов работы MSSQL.

Источник

Несоответствие типов в 1С 8.3

Ошибка Несоответствие типов в 1С 8.3 связана с передачей параметров в командах и запросах 1С.

Несоответствие типов в 1С 8.3

Как правило, параметры в командах 1С идут в определенной очередности и ссылаются на данные конкретного типа. Ошибка в указании параметра не на том месте или не того типа приводит к появлению сообщения о несоответствии типов:

Недопустимый тип значения context как исправить

Исправляется подобная ошибка восстановлением правильной последовательности в строке параметров команды или указанием нужного типа данных Ошибка 1С Несоответствие типов наиболее часто появляется при написании запросов и при некорректном указании параметров команды.

Получите понятные самоучители 2021 по 1С бесплатно:

Рассмотрим причины ее возникновения и исправление на конкретном примере.

Ошибка в таблице запроса

При чтении цен номенклатуры по регистру сведений Цены номенклатуры из внешнего отчета появляется ошибка Неоднозначное поле «ТипЦен.Номенклатура».

Недопустимый тип значения context как исправить

В окне сообщений уже указано место возникновения ошибки: Параметр номер «1» в строке Регистр сведений.ЦеныНоменклатуры.СрезПоследних(&&ТипЦен,) КАК ЦеныНоменклатурыСрезПоследних.

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

Недопустимый тип значения context как исправить

Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1С:

Недопустимый тип значения context как исправить Недопустимый тип значения context как исправить

Из описания видно, что команда СрезПоследних имеет 2 параметра:

Если параметр Период не указывается, место в команде остается пустым, а через запятую указывается параметр отбора, в нашем случае: ТипЦен. Исправленная команда выглядит следующим образом: СрезПоследних(, ТипЦен = &ТипЦен ).

Недопустимый тип значения context как исправить

После исправления команды запустите отчет в 1С по кнопке Главное меню — Файл — Открыть :

Недопустимый тип значения context как исправить

Теперь отчет формируется правильно!

Недопустимый тип значения context как исправить

Исправление ошибки в команде 1С

При поиске ссылок на контрагента в отчете 1С появляется ошибка Несоответствие типов (параметр номер 2) :

Недопустимый тип значения context как исправить

Недопустимый тип значения context как исправить

Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1С:

Недопустимый тип значения context как исправитьНедопустимый тип значения context как исправить

Из описания идно, что команда НайтиПоСсылкам имеет 4 параметра:

Недопустимый тип значения context как исправить

После исправления команды запустите внешний отчет в 1С по кнопке Главное меню — Файл — Открыть :

Недопустимый тип значения context как исправить

Теперь команда поиска ссылок на контрагента отрабатывает правильно.

Недопустимый тип значения context как исправить

См. также:

Если Вы еще не подписаны:

После оформления подписки вам станут доступны все материалы Бухэксперт8, записи поддерживающих эфиров и вы сможете задавать любые вопросы по программе 1С.

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Карточка публикации

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Вы можете задать еще вопросов

Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8

Нажимая кнопку «Задать вопрос», я соглашаюсь с
регламентом БухЭксперт8.ру >>

Спасибо. получила много полезной информации, материал представлен понятно и профессионально

Источник

Adblock
detector

Сообщение об ошибке Описание ошибки
Возможные пути исправления ошибки
Не установлен MS XML Core Services 4.0 На компьютере не установлен Microsoft XML Core Services 4.0, используемый «1С:Предприятием 8» для работы с XML
Установить Microsoft XML Core Services 4.0. При установке «1С:Предприятия 8» Microsoft XML Core Services 4.0 устанавливается автоматически
Ошибка разбора XML Ошибка, возникающая при синтаксическом анализе данных XML в процессе чтения.
Все ошибки, определенные в SAX2, трансформируются в данную ошибку, генерируемую платформой «1С:Предприятие 8»
Проверить правильность оформления и синтаксис данных XML (см. http://www.w3.org/TR/REC-xml).
Ошибочный порядок записи XML Методы записи содержимого документа XML вызываются в неправильном порядке. Например, запись атрибута вызывается после записи текста элемента.
Выявить и исправить места некорректного порядка вызова методов
Текст XML содержит недопустимые символы Записываемый текст XML содержит недопустимые символы.
Текст XML должен соответствовать требованиям, изложенным в главе 2.2 рекомендации XML (см. http://www.w3.org/TR/REC-xml#charsets)
Недопустимое имя XML Записываемое имя XML содержит недопустимые символы.
Имя XML должно соответствовать требованиям, изложенным в главе 2.3 рекомендации XML (см. http://www.w3.org/TR/REC-xml#NT-Name)
Пустое значение URI допустимо только для пространства имен по умолчанию Производится попытка записать соответствие пространства имен, в котором URI пространства имен, представленному пустой строкой, соответствует непустой префикс.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка при установке ассасин крид одиссея
  • Ошибка при установке ассасин крид вальгалла