Ошибка при получении значения атрибута контекста слкменеджерзащиты

Проекты и консалтинг. Внедрение и доработка. Сопровождение 1С. Обучение.

Содержание:

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

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

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

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

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

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

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

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

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

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

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

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

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

Ошибка при получении значения атрибута контекста (ТекущийПользователь): Попытка получения неинициализированного значения параметра сеанса
Пользователь = ПараметрыСеанса.ТекущийПользователь;
по причине:
Попытка получения неинициализированного значения параметра сеансаКод 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

Пожалуйста )

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

26.12.22 — 13:28

Добрый день.

Подскажите, пожалуйста, делаю заполнение ТЧ обработки через ПостроительОтчетов и получаю ошибку Ошибка при получении значения атрибута контекста (Результат).Ожидается выражение «ВЫБРАТЬ».

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

В построителе текст запроса есть

ПередОткрытиемФормы

ТекстЗапроса = «ВЫБРАТЬ

                   |    ПродажиОбороты.Контрагент,

                   |    ПродажиОбороты.Контрагент.ИНН КАК ИНН,

                   |    ПродажиОбороты.Номенклатура,

                   |    ПродажиОбороты.Номенклатура.АЭ_ИдентификаторНаСайте КАК Идентификатор,

                   |    ПродажиОбороты.ЗаказПокупателя КАК Заказ,

                   |    ПродажиОбороты.ЗаказПокупателя.ДатаОтгрузки КАК ДатаНачала,

                   |    ВЫБОР

                   |        КОГДА ТИПЗНАЧЕНИЯ(ПродажиОбороты.ЗаказПокупателя) = ТИП(Документ.ЗаказПокупателя)

                   |            ТОГДА ПродажиОбороты.ЗаказПокупателя.ДатаЗакрытияЗаказа

                   |        ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)

                   |    КОНЕЦ КАК ДатаКонца,

                   |    ПродажиОбороты.Номенклатура.Наименование,

                   |    ПродажиОбороты.Контрагент.Наименование

                   |{ВЫБРАТЬ

                   |    Контрагент.*,

                   |    ИНН,

                   |    Номенклатура.*,

                   |    Идентификатор,

                   |    Заказ.*,

                   |    ДатаНачала,

                   |    ДатаКонца,

                   |    НоменклатураНаименование,

                   |    КонтрагентНаименование}

                   |ИЗ

                   |    РегистрНакопления.Продажи.Обороты(&ДатаС, &ДатаПо, День, ) КАК ПродажиОбороты

                   |{ГДЕ

                   |    ПродажиОбороты.Контрагент.*,

                   |    ПродажиОбороты.Контрагент.ИНН КАК ИНН,

                   |    ПродажиОбороты.Номенклатура.*,

                   |    ПродажиОбороты.Номенклатура.АЭ_ИдентификаторНаСайте КАК ИдентификаторНаСайте,

                   |    ПродажиОбороты.ЗаказПокупателя.ДатаОтгрузки КАК ДатаОтгрузки,

                   |    (ВЫБОР

                   |            КОГДА ТИПЗНАЧЕНИЯ(ПродажиОбороты.ЗаказПокупателя) = ТИП(Документ.ЗаказПокупателя)

                   |                ТОГДА ПродажиОбороты.ЗаказПокупателя.ДатаЗакрытияЗаказа

                   |            ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)

                   |        КОНЕЦ) КАК ДатаКонца,

                   |    ПродажиОбороты.ЗаказПокупателя.*}»;

        
    // Заполним настройки построителя на основании запроса

    ПостроительОтчета.Текст = ТекстЗапроса;    

    ПостроительОтчета.ЗаполнитьНастройки();

Далее делаю:

ПостроительОтчета.Параметры.Вставить(«ДатаС»,НачалоДня(ДатаС));

    ПостроительОтчета.Параметры.Вставить(«ДатаПо»,КонецДня(ДатаПо));

    ПостроительОтчета.Выполнить();

        
    Выгрузка = ПостроительОтчета.Результат.Выгрузить();

    Данные.Загрузить(Выгрузка);

Ошибка вылетает на этом моменте: Выгрузка = ПостроительОтчета.Результат.Выгрузить();

Ошибка в 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)

Konstantan

1 / 1 / 1

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

Сообщений: 74

1

Ошибка при получении атрибута значения контекста (Номенклатура)

11.10.2018, 12:33. Показов 5971. Ответов 3

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


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
Процедура УдалениеСтрокНажатие(Элемент)
    
    Запрос = Новый Запрос;  
    Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
    Запрос.Текст =
    "ВЫБРАТЬ
    |   РеализацияТоваровУслугТовары.Ссылка
    |ИЗ
    |   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    |ГДЕ
    |   РеализацияТоваровУслугТовары.Номенклатура = &Номенклатура";
    
    Выборка = Запрос.Выполнить();
    МассивТоваров=новый Массив; 
    Значения= Выборка.Выбрать();
    Пока Значения.Следующий() Цикл
        ссылка = Значения.ссылка ;
        ДокументОбъект = ссылка.ПолучитьОбъект();
        i=0;
        Для каждого ТекСтрока Из ДокументОбъект.Товары Цикл
            Если ТекСтрока.Номенклатура = Номенклатура Тогда
                МассивТоваров.Добавить(ТекСтрока);
                Сообщить("Значение: "+ ТекСтрока.Номенклатура +" подходит!"); 
                i=i+1
            Иначе
                Сообщить("Значение: "+ТекСтрока.Номенклатура+ " не подходит!");
            КонецЕсли
        КонецЦикла;
        Для  каждого ТекСтрокаМас Из    МассивТоваров Цикл
            Если Вопрос("Удалить строку со значением  " + ТекСтрокаМас.Номенклатура + "?" ,РежимДиалогаВопрос.ДаНет,15)=КодВозвратаДиалога.Да Тогда
                
                
                ДокументОбъект.Товары.Удалить(ТекСтрокаМас);
                
                
                Сообщить("Строка удалена!");
            Иначе
                Сообщить("Отмена удаления!");
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
    
    
КонецПроцедуры

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

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



0



Тест

Эксперт 1С

383 / 162 / 56

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

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

11.10.2018, 12:44

2

В каком месте то ошибка происходит?



0



856 / 655 / 111

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

Сообщений: 2,410

11.10.2018, 13:36

3

Полный текст ошибки выложите



0



Эксперт 1С

841 / 604 / 211

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

Сообщений: 2,101

11.10.2018, 20:10

4

Лучший ответ Сообщение было отмечено GreenkA как решение

Решение

Konstantan, МассивТоваров не очищается перед обработкой следующего документа.



2



Содержание

  1. Тема: Ошибка внешней компоненты ПРИ ПЕЧАТИ ШТРИХ-КОДА
  2. Ошибка внешней компоненты ПРИ ПЕЧАТИ ШТРИХ-КОДА
  3. Сабж
  4. Ошибка при печати штрихкодов на х64-клиенте 1С: Компонента 1С:Печать штрихкодов не установлена на данном компьютере
  5. Ошибка при получении значения атрибута контекста
  6. XDTO — Не дает установить значение перечисления
  7. Номенклатура ФайлКартинки Ошибка при установке значения атрибута контекста (Владелец)

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

Опции темы
Поиск по теме
Отображение

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

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

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

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

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

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

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

Сабж

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

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

Источник

Ошибка при печати штрихкодов на х64-клиенте 1С: Компонента 1С:Печать штрихкодов не установлена на данном компьютере

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

ком там приведен как премер внешней компоненты. и в этой части это был вопрос, что под нативной компонентой имел в виду автор.

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

Вы смогли разобраться в чем дело, у меня тоже перестало ни с того ни с сего работать, точно такая картинка, хотя использовал типовой механизм УТ

Вы не правы, всё написано)))

1) Смотрите, вот при заполнении макета вызывается такая функция:

2) В функции п.1 вызывается другая функция, в которой уже подключается внешняя компонента:

Т.о., проще всего сделать так: а) Скопировать в свою конфигурацию из УТ11 общий макет «КомпонентаПечатиШтрихкодов» (здесь ВК лежат); б) Добавить представленный код в свою обработку; в) Сформировав «ПараметрыШтрихкода», передаете их в ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода) , а эта функция вам уже возвратит ШК.

Мне кажется, что теперь даже новичкам станет ясно)))

(19) У меня возникла такая же проблема. Обошел ее вот таким способом (нашел в типовых):
РисунокШтрихкодаИсточник=ОбластьМакета.Рисунки.ШтрихКод;

РисунокШтрихкода = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
РисунокШтрихкода.Верх = РисунокШтрихкодаИсточник.Верх;
РисунокШтрихкода.Лево = РисунокШтрихкодаИсточник.Лево;
РисунокШтрихкода.Высота = РисунокШтрихкодаИсточник.Высота;
РисунокШтрихкода.Ширина = РисунокШтрихкодаИсточник.Ширина;
РисунокШтрихкода.Имя = РисунокШтрихкодаИсточник.Имя;
РисунокШтрихкода.Линия = РисунокШтрихкодаИсточник.Линия;
РисунокШтрихкода.РазмерКартинки = РазмерКартинки.Растянуть;

ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить(«Ширина», РисунокШтрихкодаИсточник.Ширина);
ПараметрыШтрихкода.Вставить(«Высота», РисунокШтрихкодаИсточник.Высота);
ПараметрыШтрихкода.Вставить(«Штрихкод», Штрихкоддокумента);
ПараметрыШтрихкода.Вставить(«ТипКода», 1);
ПараметрыШтрихкода.Вставить(«МонохромныйШрифт», Истина);
ПараметрыШтрихкода.Вставить(«ОтображатьТекст», Истина);
ПараметрыШтрихкода.Вставить(«РазмерШрифта», 10);
ПараметрыШтрихкода.Вставить(«Масштабировать», Истина);
ПараметрыШтрихкода.Вставить(«СохранятьПропорции», Истина);

т.е. заменил картинку на макете на программно созданную.

Но потом возникла другая проблема: по качеству печатаемый штрихкод заметно хуже, чем в компоненте x32 и пользователи жалуются на проблемы при сканировании, а худшее качество числового штрихкода видно просто на глаз.

Источник

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

Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
<ОбщийМодуль.ПроцедурыОбменаУПП.Модуль(884)>: Ошибка при получении значения атрибута контекста (НаличиеОбменаУПП) по причине:
Попытка получения неинициализированного значения параметра сеанса

Кто-нибудь сталкивался с такой ошибкой? Что это может быть?

Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
<ОбщийМодуль.ПроцедурыОбменаУПП.Модуль(884)>: Ошибка при получении значения атрибута контекста (НаличиеОбменаУПП)

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

Появилось только после начала обновления движка с 8.2.14.540 на 8.2.15.310. Причём сервер ешё 14 релиза, поэтому клиенты должны запускаться 14 релиза. Пойду проверю соответствие версий.

(11) вышла Управление производственным предприятием, редакция 1.3, версия 1.3.53.2 .

Исправлена ошибка 20026889:
Под пользователем с ограниченными правами происходит ошибка при записи новых элементов справочников и документов, если в информационной базе не используется обмен («Обмен с УПП 1.3», «Обмен с РТ 1.0», «Обмен с УТ 10.3». )

Самописная программа на 1С, данные обновляются из УПП (релиз УПП 1.3.94.1) Платформа 8.2 (8.2.19.130). Обновление данных их УПП через COM соединение. Обновление на тестовой базе с этой же базы УПП отработало днем без ошибок. Вечером поставили на рабочую базу, снимается по ошибке, причем выдает разные ошибки:

<Обработка.ЗагрузкаДанныхИзУПП.Форма.Форма.Форма(675)>: Ошибка при получении значения атрибута контекста (Code)
СтрокаСпецификации.Спецификация=Справочники.СпецификацииНоменклатуры.НайтиПоКоду(СпецификацииУПП.СпецификацияНоменклатуры.Code);
по причине:
Неизвестная ошибка

<Обработка.ЗагрузкаДанныхИзУПП.Форма.Форма.Форма(293)>: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить().Выбрать();
по причине:
Неизвестная ошибка

Кеш почистили. На базе УПП блокировали регламентные задания. На базе, в которую идет загрузка, регламентных заданий нет.

Источник

XDTO — Не дает установить значение перечисления

Две конфигурации с одинаковыми названиями перечислений но отличающимися значениями:
Конфигурация 1:
Перечисление1
— Значение1
— Значение2

Конфигурация 3
Перечисление2
— Значение1
— Значение2
— Значение3

Создаю объект XDTO по своей схеме.

Делаю выгрузку данных из Конфигурации 1, где у нас в конфигурации только 2 значения.

Заполняю объект XDTO.
Вариант1:
ОбъектXDTO.Свойство = Значение3Строкой;
Выдает ошибку:
Ошибка при установке значения атрибута контекста (Перечисление1): Ошибка отображения типов:
Отображение лексического значения ‘Значение3’ в значение типа ‘ПеречислениеСсылка.Перечисление1’
Не работает. Пытается преобразовать значение в ссылку 1С, не выходит, отваливается в ошибку.

ОбъектXDTO.Свойство = Значение2Строкой;
Работает. Перобразовал в ссылку 1С, так как нашел ее.

Вариант2:
Переименовываем(удаляем) объект метеданных Перечисление1 в конфигурации.
ОбъектXDTO.Свойство = Значение3Строкой;
Записывается без ошибки. Записывается как строка без преобразования.

ОбъектXDTO.Свойство = Значение2Строкой;
Записывается без ошибки. Записывается как строка без преобразования.

Вопрос. Как в данном случае записать в объект XDTO значение перечисления отсутствующее в конфигурации источнике если перечисление с одинаковыми названиями есть в обоих конфигурациях.

Пока вопрос решил добавлением значение3 из конфигурации2 в конфигурацию 1, но это однозначно костыль.

Две конфигурации с одинаковыми названиями перечислений но отличающимися значениями:
Конфигурация 1:
Перечисление1

Делаю выгрузку данных из Конфигурации 1, где у нас в конфигурации только 2 значения перечисления.

Заполняю объект XDTO.
Вариант1:
ОбъектXDTO.Свойство = Значение3Строкой;
Выдает ошибку:
Ошибка при установке значения атрибута контекста (Перечисление1): Ошибка отображения типов:
Отображение лексического значения ‘Значение3’ в значение типа ‘ПеречислениеСсылка.Перечисление1’
Не работает. Пытается преобразовать значение в ссылку 1С, не выходит, отваливается в ошибку.

Работает. Перобразовал в ссылку 1С, так как нашел ее.

Вариант2:
Переименовываем(удаляем) объект метеданных Перечисление1 в конфигурации.
Записывается без ошибки. Записывается как строка без преобразования.
Записывается без ошибки. Записывается как строка без преобразования.

Вопрос. Как в данном случае записать в объект XDTO значение перечисления отсутствующее в конфигурации источнике если перечисление с одинаковыми названиями есть в обоих конфигурациях.

Пока вопрос решил добавлением значение3 из конфигурации2 в конфигурацию 1, но это однозначно костыль.

Источник

Номенклатура ФайлКартинки Ошибка при установке значения атрибута контекста (Владелец)

8.3 УТ11 внешняя обработка модуль объекта
Здравствуйте, это обработка для загрузки данных из таблицы xlsx и создания новой номенклатуры, очень долго не могу понять почему не работает загрузка картинки для номенклатуры через отладку выяснил что ошибка связана с КартинкаОбъект.Записать(); Написано что Тип значения должен быть СправочникСссылка.Номенклатура ,.
Через табло в значении владелец файла, там просто пусто , я думаю ошибка здесь в КартинкаОбъект.Владелец = Товар.Ссылка; потому что у Товар (Товар = Справочники.Номенклатура.СоздатьЭлемент();) У справочника номенклатуры владельца нет, в сам справочник добавить владельца, Вопрос как можно все таки провести КартинкаОбьект и как назначить владельца , Так же пытался добавить Товар.Владелец = Справочник.Номеклатура или Пользователи.ТекущийПользователь не работает .Мне просто нужно создать новую номенклатуру с картинкой по URL .3 дня ищу ответ, я знаю что уже были подобные ситуации ,но я перепробывал все способы на форуме внедрения картинок.

1. Вы знаете, можете обижаться, но готовое рабочее решение я уже скинул в самом начале. Сейчас я воспроизвел его на УТ и код рабочий. Так что не надо говорить, что никто Вам не помогает. Нужно просто уметь воспринимать помощь.
2. Синтаксис-помощник практически никогда не даст вам решение адаптированное конкретно под вашу ситуацию. нужно учиться им пользоваться.
3. Если Вы нашли в интернете КОНКРЕТНО ВАШ вариант — можете считать что вам крупно повезло. Это обычно исключение из правил. Чаще всего приходится искать маленькие подсказки, чтобы оттолкнувшись от найти СВОЕ решение, которое и будет КОНКРЕТНО ВАШИМ вариантом.
4. Все «КРУТЫЕ ПРОГРАММИСтЫ» когда-то были начинающими. И начинали большинство в гораздо худших условиях, по сравнению с нынешними условиями новичков. Это я про огромные базы знаний и форумы в интернете. Раньше все 1Сники довольствовались только кодом из типовых конфигураций и желтыми книгами при изучении 1С.
5. Большинство «Крутых» программистов выросли на 1С франчах. Если Вы новичок — вам просто необходимо смотреть в сторону франчей, как школы для 1Сника.

ЗЫ. Рабочий пример загрузки картинки в справочник номенклатура с сайта:

Источник

Вопрос → 
После обновления на 2.0.15.8 выпадает ошибка: Недопустимо использование свойства «Основная

Добрый день.

Пытался обновить конфигурацию 1С:Деньги 8 до версии 2.0.15.8 через встроенную сервисную функцию программы. Во время обновления появилось уведомление о том, что обновление необходимо производить на версии платформы не ниже 8.3.5, после чего база не открывается: при попытке входа выдается ошибка: Недопустимо использование свойства «ОсновнаяРоль»

Сервисная информация приведена ниже. Обновление платформы картину не меняет. Как можно решить проблему?

Платформа: 1С:Предприятие 8.3 (8.3.5.1443)Конфигурация: Деньги 8, редакция 2.0 (2.0.15.8) (http://v8.1c.ru/money)Copyright © ООО «1C», 2009-2014. Все права защищены(http://www.1c.ru)Режим: Файловый (без сжатия)Приложение: Тонкий клиентЛокализация: Информационная база: русский (Россия), Сеанс: русский (Россия)Вариант интерфейса: Такси
Ошибки:———————————————————————————

22.02.2015 1:18:46{ОбщийМодуль.Пользователи.Модуль(129)}: Ошибка при получении значения атрибута контекста (ОсновнаяРоль) Если НЕ ЗначениеЗаполнено(ПользовательИБ.Имя) И Метаданные.ОсновнаяРоль = Неопределено Тогдапо причине:Недопустимо использование свойства «ОсновнаяРоль»

Заранее благодарю.

0



Евгений

22.02.2015 2:28

Уточнение: сейчас обнаружил, что на старой версии платформы база открывается, а на новой (8.3.5) — нет. Под новой версией платформы открывается конфигуратор, но при выборе пункта «Конфигурация -> Поддержка -> Обновить конфигурацию» система после подключения к серверу с обновлениями предлагает обновить только демо базу (см.скриншот), то есть как будто не видит основную БД, возможно, считая ее уже обновленной.

0



Евгений

22.02.2015 11:11

Проблему удалось решить, обновив базу через Конфигуратор (несмотря на описанное в предыдущем сообщении впечатление, что система собирается обновлять только демо базу).

Топик не удаляю, оставляю на усмотрение модератора: может быть кому-то пригодится.

P.S. Уважаемые разработчики, убедительная просьба реализовать автоматическую проверку наличия нужной версии платформы, в случае если это критично для обновления конфигурации. Это спасет много времени и нервов как ползователям, так и службе поддержки 1С.

0



Панов Сергей ( Санкт-Петербург)

23.02.2015 14:20

Дорый день!

Подскажите, как или где скачать платформу 8.3.5 

Спасибо!

0



Максим Ч.

25.02.2015 9:00

Здесь: https://users.v8.1c.ru/distribution/version_files?nick=Platform83&ver=8.3.5.1460

+1



Дмитрий

09.03.2015 2:42

http://www.forum.mista.ru/topic.php?id=717446

«Для работы на платформе 8.3.5 1С:Деньги требуется обновить до версии не ниже 2.0.15.9. Автоматическое обновление через интернет до версии 2.0.14 было ошибочным, приносим свои извинения. 

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

Если Вы не хотите создвать пользователя, можете воспользоваться вторым способом: 
2. Обновиться до последней версии в режиме конфигуратора. 
Для  этого откройте базу в режиме конфигуратора и выберите в меню «Конфигурация» — «Поддержка» — «Обновить конфигурацию». В диалоге обновления выберите пункт «Поиск доступных обновлений» и нажмите «Далее». 
В списке «Искать обновления в каталогах» отметьте галочкой каталог » downloads.v8.1c.ru/tmplt… »»» и нажмите «Далее». В списке новых версий выберите версию 2.0.15.9 и нажмите «Готово», затем — «Продолжить обновление». Дождитесь окончания обновления и на вопрос «Обновить базу данных» ответьте «Да», «Принять». 
Полсе обновления информационной базы конфигуратор можно закрывать и открывать базу в режиме предприятия. Дальнейшая работа может выполняться в обычном режиме.»

0



Нефедьев Олег ( Уфа)

15.11.2020 9:58

Здравствуйте! А по окончании всех обновлений нового пользователя можно удалить? Я до этого  без пользователя обходился. Или так с ним теперь и жить? И если удалить нельзя, может, тогда ему прав добавить надо каких для дальнейшей работы?

0



Валерия Александровна ( Novosibirsk)

28.11.2020 13:02

Добрый день! 

Вообще рекомендуется всегда работать с пользователем.

Если это единственный пользователь, то у него и так административные права, добавлять нечего )). Первый пользователь всегда создается с административными правами создается.

К тому же польза в использовании пользователей — им можно установить пароль на вход :)

0



Нефедьев Олег ( Уфа)

28.11.2020 16:38

Добрый день! Жил же я как-то до этого без пользователя. А пароль вводить — лишняя и не нужная операция. Уже надоело. К тому же, теперь не могу сделать резервное копирование, подозреваю, из-за того, что не все права выставлены заведенному пользователю. Где их изменить — не найду. Нашел, в конфигураторе. Хотя, вроде как «Администратор» и «Полные права» выглядят достаточными во всех смыслах. Если, конечно, разработчики вкладывали тот же смысл в эти слова, что и создатели словарей:)

0



Кондрашкин Андрей

02.12.2020 18:24

Резервное копирование не можете сделать, т.к. у вас что-то линуксо-подобное развёрнуто, а Деньги не могут сами себя резервировать в этом случае. Самая простая альтернатива — развернуть Деньги в папке любимого облачного хранилища.

Понравилась статья? Поделить с друзьями:
  • Ошибка при получении файла исправления патча 1с
  • Ошибка при проверке кода подтверждения на вайлдберриз
  • Ошибка при получении значения атрибута контекста данныеключасессииисмп
  • Ошибка при получении токена идентификации альфа банк
  • Ошибка при проверке ключа егаис 1с розница