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

Содержание:

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

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

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

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

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

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

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

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

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

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

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

Что то наверно накосячил, помогите найти в чем косяк. Вот код: Тип поля ВрНачало — Дата, но когда запускаю вылетает с ошибкой «Ошибка при установке значения атрибута контекста (ВидСравнения): Недопустимый тип сравнения    Отбор[«ВрНачала»].ВидСравнения    = ВидСравнения. ИнтервалВключаяГраницы; по причине: Недопустимый тип сравнения » перепробывал все типы, работает только с типом равно. в чем косяк??

сначала установи вид сравнения, а потом границы задавай

пробывал, вид сравнения устанваливать и до и после, и просто ставить «Больше», никак не катит (

дело в «Если Отбор.Найти(«ВрНачала») = Неопределено Тогда» клянусь своей треуголкой: одно из двух — либо поля такого нет принципиально в данных СписокЗаданийНаДень, либо оно имеет тип какой-то не кошерный

В отладчике открываю отбор, там есть тип поля «Врначала» тип Дата, и по умолчанию тип сравнения стоит «Равно», если ставить такой-же то все работает. Но мне нужен другой тип сравнения. (

Попробуй перед установкой отбора Отбор[«ВрНачала»].Использование = Ложь;

СписокЗаданийДень — это кто?

потом лезь в СП и внимательно читай про отбор этого типа.

Это регистр сведений, а ВрНачала — это его измерение

Если это набор записей: Использование: Только чтение. Описание: Тип: Отбор. Содержит объект Отбор, по которому осуществляется текущая фильтрация записей при считывании или записи набора. Список свойств объекта зависит от свойств регистра: для регистров сведений, для которых в конфигураторе установлен режим записи «Подчинение регистратору», отбор возможен только по регистратору, для периодических регистров сведений отбор возможен по периоду и значениям измерений, для непериодических — только по значению измерений. Важно! Отбор может устанавливаться только на равенство.

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

Тэги:

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

 

После обновления модуля 4.0.0.3
выходит сообщения при попытке импорта настроек из старого обмена с сайтом:

{ПланОбмена.Б_ОбменССайтом.Форма.ФормаСписка.Форма(193)}: Метод объекта не обнаружен (ЗаполнитьПорядокПостроителяТоваров)
ПланыОбмена.Б_ОбменССайтом.ЗаполнитьПорядокПостроителяТоваров(ПостроительОтчетаТоваров);

Когда будет обновление модуля для 1С ?
И как побороть эту ошибку — как я понял ошибка связана с тем что не хватает процедуры «ЗаполнитьПорядокПостроителяТоваров»??

 

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

Посмотрю в чем дело. Если ошибка у меня воспроизведется — в новой версии будет поправлено.

 

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

В версии 4.0.0.6 эта бага будет поправлена.

 

а когда версия 4.0.0.6 — просто без этого  тестить трудновато

 

Александр Денисюк

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

#5

28.04.2014 12:27:51

Цитата
Амангельды Шиналиев пишет:
а когда версия 4.0.0.6 — просто без этого тестить трудновато

Специально для вас сейчас собрал. Можете скачать по ссылке

http://yadi.sk/d/49KQrpWHNUT6V

 

спасибо! Будем дальше изучать .

 

Александр Денисюк

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

#7

28.04.2014 15:29:08

Цитата
Амангельды Шиналиев пишет:
спасибо! Будем дальше изучать .

Не за что. Если что — пишите. Баги исправим, замечания или предложения рассмотрим и, возможно, добавим.

 

вот такая ошибка выходит например, при попытке обмена заказами:
{ОбщийМодуль.Б_ПроцедурыОбменаССайтом.Модуль(6257)}: Ошибка при установке значения атрибута контекста (Ид)
   XDTOКонтрагент.Ид                 = XMLСтрока(СтрокаВыборки.ИдентификаторКонтрагента);
по причине:
Несоответствие типов XDTO
по причине:
Ошибка проверки данных XDTO:
Значение: ’93#******@mail.ru#********* ****** ********’ не соответствует простому типу: {urn:1C.ru:commerceml_2}ИдентификаторГлобальныйТип
Несоответствие фасету MaxLength = ’40’

УТ 10.3.29.1 модуль обмена 4.0.0.3 и 4.0.0.6 по ссылке выше попробовали. Такая же ошибка выходила и при выгрузке товаров у html-описания товара. видимо не нравиться MaxLength. описания все удалили, обмен товарами прошел. а заказы не ходят.

 

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

Да, есть такая проблема в XDTO… Посмотрю, что можно сделать. Придется проверять длину на данные, хотя и не хотелось бы, т.к. упадет скорость..

 

Александр Денисюк

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

#10

28.04.2014 16:05:48

Цитата
Владимир Куликов пишет:
вот такая ошибка выходит например, при попытке обмена заказами:
{ОбщийМодуль.Б_ПроцедурыОбменаССайтом.Модуль(6257)}: Ошибка при установке значения атрибута контекста (Ид)
XDTOКонтрагент.Ид = XMLСтрока(СтрокаВыборки.ИдентификаторКонтрагента);
по причине:
Несоответствие типов XDTO
по причине:
Ошибка проверки данных XDTO:
Значение: ’93#******@mail.ru#********* ****** ********’ не соответствует простому типу: {urn:1C.ru:commerceml_2}ИдентификаторГлобальныйТип
Несоответствие фасету MaxLength = ’40’

УТ 10.3.29.1 модуль обмена 4.0.0.3 и 4.0.0.6 по ссылке выше попробовали. Такая же ошибка выходила и при выгрузке товаров у html-описания товара. видимо не нравиться MaxLength. описания все удалили, обмен товарами прошел. а заказы не ходят.

С описанием товаров поправил, а вот с контрагентом не совсем понятно.Походу первоначально он пришел с сайта и у него длина Ид больше 40..
Сделал, чтобы длина Ид У контрагентов была 80 символов. Больше сделать не могу..

 

Пользователь 9984

Эксперт

Сообщений: 303
Баллов: 52
Регистрация: 11.03.2007

#11

28.04.2014 16:23:34

Цитата
Александр Денисюк пишет:
Сделал, чтобы длина Ид У контрагентов была 80 символов

Похоже что так. Спасибо! Может скомпилируете сборку на попробовать?

skype: bob_kulikoff

 

Александр Денисюк

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

#12

28.04.2014 16:37:30

Цитата
Владимир Куликов пишет:

Цитата
Александр Денисюк пишет:
Сделал, чтобы длина Ид У контрагентов была 80 символов

Похоже что так. Спасибо! Может скомпилируете сборку на попробовать?

Тут

http://yadi.sk/d/JngBHM_3NWm5N

лежит 4.0.0.7

 

Спасибо! Теперь обмен с заказами прошел легко и непринужденно. Александр, не подскажите, не планируется ли обмен «рекомендуемых товаров», т.е. сопутки? Новый компонент для сопутки уже есть, а можно ли будет ее штатно выгружать? Пока для себя делаем с новым обменом на произвольном справочнике.

 

Александр Денисюк

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

#14

28.04.2014 16:53:30

Цитата
Владимир Куликов пишет:
Спасибо! Теперь обмен с заказами прошел легко и непринужденно. Александр, не подскажите, не планируется ли обмен «рекомендуемых товаров», т.е. сопутки? Новый компонент для сопутки уже есть, а можно ли будет ее штатно выгружать? Пока для себя делаем с новым обменом на произвольном справочнике.

Пока, насколько мне известно, не планируется. Сейчас надо бы модули обмена оттестировать и выпустить адаптации. А в будущем посмотрим.
Пока придется использовать пользовательские справочники. У них также поддерживается выгрузка только изменений и проверка на версионность элементов.

 

Александр, тестируем дальше. Создали справочник c одним реквизитом и одной ТЧ. Типы данных ссылочные на номенклатуру. В выгрузке отмечаем только «обмен пользовательскими справочниками». При выгрузке сразу ошибка:

{ОбщийМодуль.Б_ПроцедурыОбменаССайтом.Модуль(144 }: Ошибка при вызове метода контекста (Выполнить)
       ВыборкаЗначений = Запрос.Выполнить().Выбрать();
по причине:
{(13, 7)}: Таблица не найдена «Справочник.сиДополнительныеРеквизитыНоменклатуры.Изменения»
<<?>>Справочник.сиДополнительныеРеквизитыНоменклатуры.Изменения КАК ПользовательскийСправочникИзменений

 

Александр Денисюк

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

#16

29.04.2014 13:22:32

Цитата
Владимир Куликов пишет:
Александр, тестируем дальше. Создали справочник c одним реквизитом и одной ТЧ. Типы данных ссылочные на номенклатуру. В выгрузке отмечаем только «обмен пользовательскими справочниками». При выгрузке сразу ошибка:

{ОбщийМодуль.Б_ПроцедурыОбменаССайтом.Модуль(144 }: Ошибка при вызове метода контекста (Выполнить)
ВыборкаЗначений = Запрос.Выполнить().Выбрать();
по причине:
{(13, 7)}: Таблица не найдена «Справочник.сиДополнительныеРеквизитыНоменклатуры.Изменения»
<<?>>Справочник.сиДополнительныеРеквизитыНоменклатуры.Изменения КАК ПользовательскийСправочникИзменений

Тут есть нюанс. Если вы сами создаете свой справочник, то вам его нужно добавить в состав узла Б_ОбменССайтом. К сожалению 1С не позволяет сразу указать всевозможные справочники, поэтому по там стоят только типовые.

 

Идем еще проще. Создали справочник с одним текстовым реквизитом. При записи элемента получаем сообщение:

Не удалось зарегистрировать изменение для элемента 0000000001. Элемент не будет отправлен на сайт Битрикс в режиме изенений.

 

Зарегистрировали в узле. Но сейчас созданный пользовательский справочник с одним текстовым реквизитом не выгружается:

Выгрузка информации по пользовательским справочникам
Формирование пакетов для пользовательских справочников.
Формирование пакетов для пользовательских справочников завершено.
Выгрузка пакетов пользовательских справочников в XML.
Начало выгрузки пакета 1 пользовательскиих справочников
Отправка запроса на авторизацию.
Отправка запроса на инициализацию, для определения версии обмена данных.
references___45e77ab2-bcc1-48bf-a25b-3823411a84a7.xml: Произошла ошибка на стороне сервера.
Ответ сервера:
failure
Ошибка разбора XML. Код ошибки: 30.
Выгрузка пакета 1 пользовательскиих справочников НЕ завершена или завершена с ошибками. НЕ Выгружено 1 элементов.
Выгрузка пакетов пользовательских справочников в XML завершена.
Выгрузка информации по пользовательским справочникам ЗАВЕРШЕНА

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

 

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

Может там есть нечитаемый символ? Ошибка как раз во время разбора XML на стороне сайта.

 

Александр, а табличная часть справочника не выгружается, правильно?

 

Александр Денисюк

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

#21

29.04.2014 15:05:29

Цитата
Владимир Куликов пишет:
Александр, а табличная часть справочника не выгружается, правильно?

Нет, не выгружается.

 

кстати после интеграции
при проведении документа «доверенность»
выходит ошибка

Ошибка при выполнении обработчика — ‘ПриЗаписи’
по причине:
{ОбщийМодуль.Б_ПроцедурыОбменаССайтом.Модуль(362)}: Поле объекта не обнаружено (Номенклатура)

 

Как я понял
все идет о того что
в подписке на события «Б_ЗарегистрироватьИзмененияПриЗаписиСправочникаДокументаДля­ОбменаССайтами»
указан тип объекта «документССылка» — может там указать конкретные документы ?
а то получатся мы попадаем туда всегда при проведении любого типа документа  

 

Александр Денисюк

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

#24

30.04.2014 10:44:40

Цитата
Амангельды Шиналиев пишет:
Как я понял
все идет о того что
в подписке на события «Б_ЗарегистрироватьИзмененияПриЗаписиСправочникаДокументаДля­ОбменаССайтами»
указан тип объекта «документССылка» — может там указать конкретные документы ?
а то получатся мы попадаем туда всегда при проведении любого типа документа

Задумывалось, что все документы, которые влияют на заказ, должны регистрировать эти заказы. Но вообще, можно указать только заказы и отгрузки.

 

Александр Денисюк

Администратор

Сообщений: 4915
Баллов: 827
Регистрация: 16.10.2013

#25

30.04.2014 11:25:33

Цитата
Амангельды Шиналиев пишет:
кстати после интеграции
при проведении документа «доверенность»
выходит ошибка

Ошибка при выполнении обработчика — ‘ПриЗаписи’
по причине:
{ОбщийМодуль.Б_ПроцедурыОбменаССайтом.Модуль(362)}: Поле объекта не обнаружено (Номенклатура)

В следующей версии будет поправлено.

  1. 30.09.2011, 06:41


    #1

    VDIGIT вне форума


    Пришел за помощью


    Exclamation Ошибка внешней компоненты ПРИ ПЕЧАТИ ШТРИХ-КОДА

    Доброго времени суток !
    Имеется 1С:Предприятие 8.2 (8.2.13.219) Конфигурация Управление торговлей, редакция 11.0 (11.0.6.9)
    Проблемы заключается в следующем: Необходимо распечатать этикетку со штрих-кодом. И при печати появляется «ошибка внешней компоненты» если кликнуть подробно то появлется сие сообщение:
    {Обработка.ПечатьЭтикетокИ Ценников.МодульМенеджера(24 5)}: Ошибка при установке значения атрибута контекста (РазмерШрифта)
    ВнешняяКомпонента.РазмерШ� �ифта = ПараметрыШтрихкода.Размер� �рифта;
    по причине:
    Ошибка внешней компоненты

    Вот такие дела. Кто с таким сталкивался и как победил ? Заранее спасибо !

    Последний раз редактировалось VDIGIT; 30.09.2011 в 06:41.

    Причина: Опечатка


  2. 07.10.2011, 19:59


    #2

    AVS300 вне форума


    Помогает людям


    По умолчанию

    А компонента 1С: Печать штрихкода установлена? если нет, то такая есть на диске ИТС


  3. 10.10.2011, 06:33


    #3

    VDIGIT вне форума


    Пришел за помощью


    По умолчанию

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

    А компонента 1С: Печать штрихкода установлена? если нет, то такая есть на диске ИТС

    Установлена (причем вариантов компоненты немерено было переставлено). «Ошибка» в самой конфигурации, а точнее в размере шрифта. Слегка изменил саму конфигурацию (и само формирование и печать) и все заработало как надо ! Только надо немного доделать, чтобы было на «автоматическом» уровне, а то лезть и править конфигурацию не есть гут ! как сделаю выложу !


  4. 29.01.2012, 19:46


    #4

    161a вне форума


    Гость форума


    По умолчанию

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

    Установлена (причем вариантов компоненты немерено было переставлено). «Ошибка» в самой конфигурации, а точнее в размере шрифта. Слегка изменил саму конфигурацию (и само формирование и печать) и все заработало как надо ! Только надо немного доделать, чтобы было на «автоматическом» уровне, а то лезть и править конфигурацию не есть гут ! как сделаю выложу !

    блин! будь другом! подскажи как вышел из ситуёвины!… клинит напроч что-то…


  5. 09.04.2012, 06:36


    #5

    RatiborNorilsk вне форума


    Гость форума


    По умолчанию Сабж

    Столкнулись с такой же проблемой: при печати созданного в 1С Розница 8.2 штрихкода выводилось сообщение: . При переходе в конфигуратор выдавалось более подробное описание:

    Ошибка времени выполнения:
    {Обработка.ПечатьЭтикетокИ Ценников(256)}: Ошибка при установке значения атрибута контекста (РазмерШрифта) в модуле Обработка.ПечатьЭтикетокИ� �енников, строка 256.

    .
    При этом созданная «этикетка по умолчанию», содержащая шрихкод, прекрасно выводилась на печать до тех пор пока не изменялся ее размер. Изменение параметров штрихкода-картинки («растянуть», «реальный размер», «пропорционально») никакого эффекта не давали.
    Победить проблему не удалось, зато удалось ее «замаскировать»:
    1. В конфигураторе был задействован режим отладки: меню Отладка\ Остановка по ошибке\ ставим галочку в пункт Останавливаться по ошибке и сохраняемся (Сделайте бекап базы и/или конфигурации на всякий пожарный случай)
    2. Запускаем одновременно с конфигуратором (можно прямо из него) 1С и повторяем событие ошибки.
    3. Нас перебрасывает в конфигуратор на нужную нам строку в которой как-раз и стоит параметр «размер шрифта»
    4. Закомментируем (то есть «спрячем» от исполнения программой) эту строку кода: перед строкой впереди поставим два слэша — \\ (строка поменяет цвет текста на зеленый)
    5. Сохраняем конфигурацию и перезапускаем 1С
    6. В 1Ске делаем следующее: открываем шаблон нашей этикетки и видим, что рядом с надписью: «Тип кода (выборка) EAN13» чуть правее стоит галочка в пункте «Отображать текст». Снимаем галочку.
    7. Теперь сформированный штрихкод будет отображаться просто как штрихкод, без записи его значения в цифровом отображении (с размером шрифта этих цифр и происходит сбой при выводе на печать).
    8. Создаем свою этикетку, правим ее, вставляем штрихкод и растягиваем его как нам нужно.
    9. Если кроме штрихкода вам нужны еще и цифры составляющие его, то ниже/выше/рядом со штрихкодом вставьте еще один, но уже в текстовом виде (при вставке штриха 1С вас спросит – вставить ли его как картинку – откажитесь и получите штрихкод в цифровом символьном виде) и отредактируйте что бы оба штриха были у вас рядом и выглядели так как вам нужно.
    Это конечно не решение проблемы, но это поможет вам сделать этикетку на печати нужного вам вида и размера.

    P.S. Для тех кто мучается с выводом текста этикетки на печать (этикетка печатается со смещением от края/ распечатывается кусками на 4-6 наклеек/ печатается криво и не позволяет менять размер шрифта и пр.): не забудьте что в 1С 8.2 есть в верхнем левом углу меню Файл\ Параметры страницы так же отвечающие за вывод текста на печать (а так же есть настройки отображения при печати в самом драйвере принтера – щелкните по принтеру правой клавишей мыши и настройте).

    Всем удачи.


Что то наверно накосячил, помогите найти в чем косяк. Вот код: Тип поля ВрНачало — Дата, но когда запускаю вылетает с ошибкой «Ошибка при установке значения атрибута контекста (ВидСравнения): Недопустимый тип сравнения    Отбор[«ВрНачала»].ВидСравнения    = ВидСравнения. ИнтервалВключаяГраницы; по причине: Недопустимый тип сравнения » перепробывал все типы, работает только с типом равно. в чем косяк??

сначала установи вид сравнения, а потом границы задавай

пробывал, вид сравнения устанваливать и до и после, и просто ставить «Больше», никак не катит (

дело в «Если Отбор.Найти(«ВрНачала») = Неопределено Тогда» клянусь своей треуголкой: одно из двух — либо поля такого нет принципиально в данных СписокЗаданийНаДень, либо оно имеет тип какой-то не кошерный

В отладчике открываю отбор, там есть тип поля «Врначала» тип Дата, и по умолчанию тип сравнения стоит «Равно», если ставить такой-же то все работает. Но мне нужен другой тип сравнения. (

Попробуй перед установкой отбора Отбор[«ВрНачала»].Использование = Ложь;

СписокЗаданийДень — это кто?

потом лезь в СП и внимательно читай про отбор этого типа.

Это регистр сведений, а ВрНачала — это его измерение

Если это набор записей: Использование: Только чтение. Описание: Тип: Отбор. Содержит объект Отбор, по которому осуществляется текущая фильтрация записей при считывании или записи набора. Список свойств объекта зависит от свойств регистра: для регистров сведений, для которых в конфигураторе установлен режим записи «Подчинение регистратору», отбор возможен только по регистратору, для периодических регистров сведений отбор возможен по периоду и значениям измерений, для непериодических — только по значению измерений. Важно! Отбор может устанавливаться только на равенство.

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

Тэги:

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

Heltarion

2 / 2 / 0

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

Сообщений: 57

1

02.12.2011, 11:18. Показов 9775. Ответов 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



309 / 309 / 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



309 / 309 / 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



309 / 309 / 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



309 / 309 / 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



Дата создания: 03.02.2023

Дата изменения: 06.02.2023

  • 6096
  • Документ Электронный акт выполненных работ
  • Бухгалтерия 8 для Казахстана, ред 3.0

Вопрос:

В нашей базе настроена работа с электронными актами выполненных работ посредством прямой отправки в ИС ЭСФ. Ранее электронные документы отправлялись без ошибок. 

При отправке документов с 03 февраля 2023 года выходит сообщение с таким текстом «Ошибка при установке значения атрибута контекста (awpType): Несоответствие типов XDTO:  Ошибка проверки данных XDTO…».

Ответ:

В ночь на 3 февраля 2023 года на портале ИС ЭСФ было выполнено обновление системы в части работы модуля Акты выполненных работ. С полным описанием изменений можно ознакомиться в следующих материалах:

  • Обновление ИС ЭСФ 3 февраля 2023 года (меняется механизм работы с АВР)
  • Что изменилось по АВР с 3 февраля 2023 года (в ИС ЭСФ и 1С)
  • Выпущен патч для релиза БК 3.0.46.1 (ЭАВР по версии 2  + механизм исправления)

Одно из важных изменений в работе с ЭАВР на портале ИС ЭСФ – это внедрение новой версии (электронного шаблона) самого документа Электронный Акт выполненных работ (оказанных услуг), которая разработана в соответствии с утвержденной формой Р-1.

В связи с этим разработчиками 1С уже 3 февраля 2023 года был выпущен патч к релизу 3.0.46.1 конфигурации «1С:Бухгалтерия 8 для Казахстана», редакции 3.0., который позволяет создавать в учетной системе электронный АВР соответствующий всем изменениям на портале ИС ЭСФ.

При этом обратите внимание, что если до обновления (патч к релизу 3.0.46.1) в вашей учетной уже были созданы документы Электронный акт выполненных работ, то для их отправки на портал ИС ЭСФ после 3 февраля 2023 года требуется заполнить новые реквизиты, которые появились в новой версии акта.

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

Для успешной отправки ЭАВР на портал ИС ЭСФ в учетной системе необходимо перезаполнить электронные документы в соответствии с новой версией, отправить без перезаполнения созданные ЭАВР до обновления нельзя – система ИС ЭСФ их не примет (не соответствует версия документа).

Данная ошибка возникает по причине того, что в обновленной версии акта выполненных работ появился новый реквизит Тип документа ЭАВР, заполнение которого является обязательным условием для регистрации документа в ИС ЭСФ. В связи с добавлением функционала по исправлению электронных актов, начиная с 3 февраля, ЭАВР могут быть следующих типов: Первичный или Исправленный.

В созданных до обновления учетной системы ЭАВР поле Тип документа ЭАВР не заполнено и для успешной отправки таких документов требуется выполнить их перезаполнение по кнопке АвтозаполнениеПерезаполнить по документу основанию.

При перезаполнении в документе Электронный акт выполненных работ (после установки патча) автоматически установится значение Первичный в поле Тип документа АВР и  документ готов для регистрации в ИС ЭСФ в соответствии с новой версией ЭАВР.

Документы Электронный акт выполненных работ, созданные в 1С после обновления конфигурации посредством патча к релизу 3.0.46.1, корректно формируются и отправляются в ИС ЭСФ после 3 февраля 2023 года.

  • 6096

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

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

Понравилась статья? Поделить с друзьями:
  • Ошибка при установке кали линукс virtualbox
  • Ошибка при установке значения атрибута контекста типзначения
  • Ошибка при установке значения атрибута контекста картинка значений
  • Ошибка при установке значения атрибута контекста тип значения
  • Ошибка при установке касперского 27450