Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
Цитата: SGIRG от 29 авг 2016, 14:24
Цитата: Mro от 29 авг 2016, 13:25
Я так понимаю, что основная соль в том, что теперь это не поля табличной части,а поля формы.заполнять информацию нужно не в поля формы а в документ, либо реквизит формы (не знаю как у Вас там организовано)
В свойствах элемента формы, где прописан путь к данным, туда и запихивайте значения.
У меня есть некий документ в котором две формы :1-я форма документа (с табличной частью), вторая — произвольная без табличной части, которая используется для заполнения каждой строки табличной части формы документа. Не спрашивайте, зачем это нужно.)))
Так вот. Я хочу организовать это условие доступности реквизита именно в форме добавления элемента (ФормаЭлемента), в которой все реквизиты — это реквизиты формы.
Добавлено: 29 авг 2016, 15:06
Написал вот так:
&НаКлиенте
Процедура АнтенаНаличиеПриИзменении(Элемент)
если
АнтенаНаличие
Тогда
Элементы.Антена.Доступность = Истина
Иначе
Элементы.Антена.Доступность = ПредопределенноеЗначение(«Справочник.Антена.ПустаяСсылка»);
Элементы.Антена.Доступность = Ложь;
конецесли;
КонецПроцедуры
Вылетает в части «Иначе» с ошибкой
{Документ.Тестовый.Форма.ФормаЭлемента.Форма(8)}: Ошибка при установке значения атрибута контекста (Доступность)
Элементы.Антена.Доступность = «Справочник.Антена.ПустаяСсылка»;
по причине:
Несоответствие типов
Добавлено: 29 авг 2016, 15:14
Изменил код на такой:
&НаКлиенте
Процедура АнтенаНаличиеПриИзменении(Элемент)
Элементы.Антена.Доступность=АнтенаНаличие;
Если НЕ Элементы.Антена.Доступность=АнтенаНаличие тогда
Элементы.Антена = Неопределено;
конецесли;
КонецПроцедуры
Управление доступностью работает, но когда снимаешь галочку — значение не затирается
Добавлено: 29 авг 2016, 15:35
С таким кодом тоже не затирает.(
&НаКлиенте
Процедура АнтенаНаличиеПриИзменении(Элемент)
Элементы.Антена.Доступность=АнтенаНаличие;
Если НЕ
Элементы.Антена.Доступность=АнтенаНаличие
Тогда
Элементы.Антена=ПредопределенноеЗначение(«Справочник.Антена.ПустаяСсылка»);
Элементы.Антена.Доступность=Ложь;
КонецЕсли;
КонецПроцедуры
Добавлено: 29 авг 2016, 15:47
еще один вариант)))
&НаКлиенте
Процедура АнтенаНаличиеПриИзменении(Элемент)
Элементы.Антена.Доступность=АнтенаНаличие;
Если НЕ
АнтенаНаличие
Тогда
Элементы.Антена=ПредопределенноеЗначение(«Справочник.Антена.ПустаяСсылка»);
КонецЕсли;
КонецПроцедуры
Ошибка — {Документ.Тестовый.Форма.ФормаЭлемента.Форма(7)}: Поле объекта недоступно для записи (Антена)
Элементы.Антена=ПредопределенноеЗначение(«Справочник.Антена.ПустаяСсылка»);
Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
Как создать элемент формы переключатель программно на обычных формах |
Я |
1c_pro_fun
19.04.18 — 23:10
Доброй ночи! Создавал ли кто-нибудь программно переключатель на обычных формах?
При попытке установить ВыбираемоеЗначение для создаваемого программно элемента формы получаю такое сообщение об ошибке:
«Ошибка при установке значения атрибута контекста (ВыбираемоеЗначение)»
Естественно данные, с которыми связываю элемент имеют соответствующий тип (булево в моем случае).
В гугле не забанили — в инете по этому поводу один единственный вопрос на форуме Инфостарт и тот без ответа:
https://forum.infostart.ru/forum9/topic113043/
Одни только предположения что это глюк платформы и советы аля почистите кэш/обновите версию платформы.
Но тому посту 4 года а значит с версией платформы это не связано. Или это у них вообще никогда не работало?
Вот код:
ЭУ = ЭлементыФормы.Добавить(Тип(«Переключатель»), «Переключатель1», Истина);
ЭУ.Заголовок = «Истина»;
ЭУ.Данные = «БулевыйРеквизит»;
ЭУ.Лево = 10;
ЭУ.Верх = 32;
ЭУ.Ширина = 50;
ЭУ.Высота = 19;
ЭУ.ПервыйВГруппе = Истина;
ЭУ.ВыбираемоеЗначение = Истина;
ЭУ = ЭлементыФормы.Добавить(Тип(«Переключатель»), «Переключатель2», Истина);
ЭУ.Заголовок = «Ложь»;
ЭУ.Данные = «БулевыйРеквизит»;
ЭУ.Лево = 65;
ЭУ.Верх = 32;
ЭУ.Ширина = 50;
ЭУ.Высота = 19;
ЭУ.ВыбираемоеЗначение = Ложь;
ЧТО МОЖЕТ БЫТЬ ДОБРЫЕ ЛЮДИ?
1c_pro_fun
1 — 19.04.18 — 23:15
И да безусловно в отладчике смотрел. До присвоения:
ЭУ.Данные = «БулевыйРеквизит»;
ЭУ.ТипЗначения равен ОписаниеТипов с пустым значением.
После выполнения этой строки кода — Описание типов со значением Булево.
Connect
2 — 19.04.18 — 23:21
Чем Видимость/Доступность не устраивает?
1c_pro_fun
3 — 19.04.18 — 23:27
(2) А при чем тут Видимость/Доступность? Вопрос заключается в том что при клике в любой из группы переключателей значение переменной, связанной с этим переключателем должно меняться. Оно должно стать равным тому, что указано как Выбираемое значение. Моя проблема заключается в том что я создаю элемент формы программно и при попытке присвоения ВыбираемомуЗначению какого-либо значения (в моем конкретном случае это значения Истина/Ложь) вылетает ошибка:
«Ошибка при установке значения атрибута контекста (ВыбираемоеЗначение)»
Поэтому совершенно не понимаю к чему Вы про Видимость/Доступность. Но спасибо за участие
hhhh
4 — 20.04.18 — 00:20
(3) «значение переменной, связанной с этим переключателем должно меняться» — значение переменной не должно меняться.Это же описание поля, оно не меняет значение.
1c_pro_fun
5 — 20.04.18 — 00:28
(4) Или у меня после полуночи мозг не соображает или лыжи не едут. Как значение не должно меняться. РАДИОБАТН — в него для чего мышкой тыкают? Чтобы выбрать одно из значений возможных. Все переключатели связаны с одним из реквизитов формы (в моем посте (3) ошибочно написал переменной имел в виду реквизит формы). При клике ДОЛЖНО изменяться значение реквизита в соответствии с тем что у конкретного Переключателя указано в ВыбираемоеЗначение. Вроде все логично Трабл в том что присвоить не могу это самое выбираемое значение если речь идет о реквизите с типом Булево. Выяснилось что если сделать реквизит с типом число то работает. Что не так с Булево?
1c_pro_fun
6 — 20.04.18 — 00:42
Мне кажется что у ОдноЭса это нифига и не работало никогда по человечески. Бьюсь об заклад. В качестве доказательства могу привести вот что:
УТ 10.3 (под рукой релиз 35.1)
Есть отчет «Отчет по кредитной линии» с реквизитом «ВидКредитныхЛиний» типа число длина 1… понимаете да… логика еще с клюшек видать осталась. И далее если поставить точку останова на отчет «Универсальный отчет» в модуле объекта на строке 6272 то не трудно заметить что виды кредитных линий принимают значение 0 и 1. И обусловлено это похоже тем что они сами не смогли сделать это через Булево. Кстати во всей УТ 10.3 только в двух отчетах используется программное добавление элемента формы типа Переключатель. В описанном мною случае не вижу никакого смысла в использовании числового реквизита (при двух-то значениях). Во втором «Задолженность по контрагентам» действительно была необходимость т.к. переключатель принимал 3 значения и Булево не хватило бы.
P.S. если я все же не прав и программно создать элемент формы с типом Переключатель привязанный к реквизиту форму типа Булево мне не дает не платформа, а мои кривые руки ткните носом как же это можно сделать
marvak
7 — 20.04.18 — 00:54
Переключатель по-моему всегда какое-то целочисленное значение у них принимает, а не булево.
Чисто так, по воспоминаниям.
Первый, второй, третий
попробуй
выбираемое значение = 1
1c_pro_fun
9 — 20.04.18 — 01:27
(7) В моем посте (5) в конце пишу что с реквизитом типа число работает.
1c_pro_fun
10 — 20.04.18 — 01:29
Не знаю троит Мисту или что (куда-то ведь делся мой пост под номером но там я писал что кроме числовых типов переключатель поддерживает Строку, Дату, Булево и все ссылочные типы. Но это только если ручками в конфигураторе видимо. Программно никак.
marvak
11 — 20.04.18 — 02:24
(9)
ну если с числом работает, и задача решена, то в чем трабл то?
hhhh
12 — 20.04.18 — 05:22
(10) попробуй повнимательнее отладчиком посмотреть при открытии формы какие там поля у переключателя, при обычном создании и при программном. Что=то у тебя слишком мало полей, там гораздо больше вроде.
catena
13 — 20.04.18 — 06:58
Прикольно, но оказалось, как в отборах, важна последовательность свойств. По крайней мере, у меня заработало:
ЭУ.ПервыйВГруппе = Истина;
ЭУ.Данные = «БулевыйРеквизит»;
ЭУ.ВыбираемоеЗначение = Истина;
Сияющий в темноте
14 — 20.04.18 — 09:09
Ну а если не ставить первый в группе,а на форме есть еще радиобаттоны,то ведь фигня получается
Ermak |
|
||
---|---|---|---|
Пытаю разграничить права в форме списка справочника НоменклатураКод 1C v 8.х
Выдает ошибку Ошибка при установке значения атрибута контекста (Значение) |
Yandex |
|
||
---|---|---|---|
E_Migachev |
|
||
---|---|---|---|
(0) Ermak, это отбор чего ты хочешь установить? что на форме? |
Ermak |
|
||
---|---|---|---|
Отбор хочу сделать по наименованию, чтобы пользователи могли открывать только свою группу |
Ermak |
|
||
---|---|---|---|
и можете подсказать как сделать чтобы при открывании пользователем справочника Номенклатура открывалась сразу его группа (Например: Папирус) |
E_Migachev |
|
||
---|---|---|---|
как-то так *09
|
Ermak |
|
||
---|---|---|---|
|
Код 1C v 8.х
Выдает ошибук: {Справочник.Номенклатура.Форма.ФормаСписка.Форма(19)}: Ошибка при установке значения атрибута контекста (ВидСравнения) Изменено 25.04.12 13:57:57 |
Ermak |
|
||
---|---|---|---|
подскажите! |
Подсказка: Щелкнув по значку (справа от названия вопроса), вы получите список ответов на похожие вопросы! |
1 февраля, 2017
21 апреля, 2017
Дано
- 1С конфигурация бухгалтерия предприятия 2.0
- Ошибка печати ПКО (приходный кассовый ордер):
{ОбщаяФорма.ФормаПечати.Форма(18)}: Ошибка при установке значения атрибута контекста ЭлементыФормы.ПолеДокумента.ПолеСверху по причине: Несоответствие типов |
Анализ проблемы
На первый взгляд все ужасно:
- в конфигураторе видно, что система пытается выполнить строчку кода:
ЭлементыФормы.ПолеДокумента.ПолеСверху = ПечатныйДокумент.ПолеСверху; |
- в отладке видно, что обе переменные типа “Число”,
- синтакс-помощник говорит что:
ТабличныйДокумент (SpreadsheetDocument) ПолеСверху (TopMargin) Использование: Чтение и запись. |
То есть ПолеСверху доступно для записи и обе переменные типа число и все тут корректно, но система говорит “Несоответствие типов” – полный бред.
Решение
На решение проблемы натолкнула фраза “Ошибка при установке значения атрибута контекста”, значит что-то не так с доступом.
Оказалось в базе нет ни одного пользователя и работа осуществлялась под пользователем НеАвторизован. После создания пользователя с необходимыми правами все заработало.
Дополнено 2017.04.10
Проблема повторилась, но уже при печати РТУ и с использованием уже настроенной учетной записи.
Помогло создание нового пользователя с такими же правами доступа. То есть нового создаем, старого удаляем и после этого все работает.
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
«Ну подскажите как исправить ошибку?<br>{Документ.ИК_БезвозмездноеПолучение.Форма.ФормаДокумента(300)} : Ошибка при установке значения атрибута контекста (Видимость)<br>ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость= ВестиПоАналитике;<br>по причине: Несоответствие типов»
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
«Яблоко=Апельсин;<br>Вот что у вас,а должно быть яблоко=истина;»
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
«И где ошибка?<br> <br>Процедура ДоступностьЭлементов()<br> Если ПоступлениеМЗ Тогда<br> ЭлементыФормы.Панель1.Страницы.МатериальныеЗапасы.Видимость = Истина;<br> ЭлементыФормы.Панель1.Страницы.ОсновныеСредства.Видимость = Ложь;<br> Иначе<br> ЭлементыФормы.Панель1.Страницы.МатериальныеЗапасы.Видимость = Ложь;<br> ЭлементыФормы.Панель1.Страницы.ОсновныеСредства.Видимость = Истина;<br> Если УчетНПА Тогда<br> ЭлементыФормы.ОсновныеСредства.Колонки.ГрупповойУчет.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КодПоОКОФ.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СуммаАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаЗатрат.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.НачислятьАмортизацию.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ОстСрокПолезногоИспользования.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ПорядокПогашенияСтоимости.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СпособНачисленияАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СрокПолезногоИспользования.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетУчетаЗатрат.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат2.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат3.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат4.Видимость = Ложь;<br> Иначе<br> ЭлементыФормы.ОсновныеСредства.Колонки.ГрупповойУчет.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КодПоОКОФ.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СрокПолезногоИспользования.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СуммаАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ОстСрокПолезногоИспользования.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ПорядокПогашенияСтоимости.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СпособНачисленияАмортизации.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.НачислятьАмортизацию.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетУчетаЗатрат.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаЗатрат.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат2.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат3.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат4.Видимость = НачислятьАмортизациюКазны;<br> КонецЕсли;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ДатаВводаВЭксплуатацию.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ФактическийСрокЭкспл.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ИнвНомер.Видимость = ВестиПоАналитике;<br> КонецЕсли;»
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
Что такое ВестиПоАналитике?отладчиком смотрел что там?
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
к счету добовляется аналитика, так как у счета может быть несколько аналитик. Скорей всего чтото в праметрах аналитики. Например для 01 счета справочник сотрудников может быть подключен как аналитика, но называться он будет материально ответственное лицо.
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
я знаю что такое аналитика,конкретно скажи что за переменная!
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
А что это за документ такой «ИК_БезвозмездноеПолучение» и откуда он взялся в БП?
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
Показывать по
10
20
40
сообщений
Gectar 0 / 0 / 0 Регистрация: 10.08.2016 Сообщений: 18 |
||||
1 |
||||
1C 8.x (тонкий) Ошибка при указании ПутьКДанным в программно созданной таблице10.08.2016, 13:34. Показов 32629. Ответов 7 Метки нет (Все метки)
Переделываю форму документа КорректировкаЗаписейРегистров под управляемое приложение. Если вручную из реквизитов на форму документа перетащить нужное движение по регистру никаких проблем не возникает: создается таблица, добавляются колонки. Для таблицы регистра бухгалтерии Хозрасчетный свойство ПутьКДанным заполняется значением «Объект.Движения.Хозрасчетный». Но если я программно создаю таблицу и пытаюсь присвоить этому свойству это же значение,
то выскакивает «ошибка при установке значения атрибута контекста (ПутьКДанным)» по причине Недопустимое значение. Из-за чего тут ошибка? Пробовал привязывать к созданной таблице табличную часть документа ТаблицаРегистровНакопления — свойству ПутьКДанным присвоил значение «Объект.ТаблицаРегистровНакопления», потом программно же создал колонки таблице, указал ПутьКДанным для них и все отработало без нареканий.
__________________ 0 |
Dethmontt Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
||||
11.08.2016, 01:57 |
2 |
|||
По моему Движения это свойство типа ДокументОбъект и оно не конвертируется на клиента Добавлено через 13 минут Добавлено через 1 минуту Добавлено через 58 секунд
0 |
0 / 0 / 0 Регистрация: 10.08.2016 Сообщений: 18 |
|
11.08.2016, 10:56 [ТС] |
3 |
Движения это свойство типа ДокументОбъект и оно не конвертируется на клиента Это так, но я же не с этим свойством связываю таблицу. Тип свойства Движения — КоллекцияДвижений. Содержит эта коллекция наборы записей регистров. С одним из таких наборов я и пытаюсь связать таблицу, ведь наборы вполне себе конвертируются на клиенте. Добавлено через 7 минут
Нужно создавать свой НаборЗаписей (реквизит формы) устанавливать отбор и к нему привязывать ТаблицуФормы Как вариант я тоже думал так сделать, но хотелось бы как-то напрямую к данным, чтобы потом не заморачиваться с обработкой добавления/удаления/изменения записей. В обычном приложении именно напрямую к данным и идет привязка, вот и в управляемом надеялся сделать также. Добавлено через 19 минут
И программно получить доступ на форме к свойству движения не получиться ибо они ни где не хранятся. Вот тут я может и не до конца понял вашу мысль, но движения по конкретной номенклатуре хранятся в документе, форму которого я и пытаюсь открыть. 0 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
11.08.2016, 11:01 |
4 |
Gectar, форма и документ это разные сущности! Добавлено через 2 минуты 1. На сервере происходит чтение из БД документа (ДокументОбъект) Добавлено через 49 секунд
Как вариант я тоже думал так сделать, но хотелось бы как-то напрямую к данным, чтобы потом не заморачиваться с обработкой добавления/удаления/изменения записей. Придется именно так и сохранение тоже придется делать самому 1 |
0 / 0 / 0 Регистрация: 10.08.2016 Сообщений: 18 |
|
11.08.2016, 11:11 [ТС] |
5 |
Я может сейчас и ступлю с этим вопросом, но почему же тогда все работает при ручном перетаскивании того же самого набора записей регистра из движений на форму — таблица создается, колонки добавляются, ПутьКДанным прописывается, работет все чин чинарем и не нужно никаких промежуточных реквизитов? 0 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
11.08.2016, 11:25 |
6 |
работет все чин чинарем и не нужно никаких промежуточных реквизитов? потому что платформа все делает за НАС многе оскрывая от наших глазок =))) 0 |
0 / 0 / 0 Регистрация: 10.08.2016 Сообщений: 18 |
|
25.08.2016, 17:38 [ТС] |
7 |
Оказалось такие сложности совершенно ни к чему, как в общем-то с самого начала и думал. Нужно было просто в настройках реквизитов поставить галочку «Использовать всегда» Миниатюры
0 |
0 / 0 / 0 Регистрация: 10.08.2016 Сообщений: 18 |
|
25.08.2016, 17:40 [ТС] |
8 |
Тогда приведенный в самом начале код работает без проблем. 0 |
Цитата: SGIRG от 29 авг 2016, 14:24
Цитата: Mro от 29 авг 2016, 13:25
Я так понимаю, что основная соль в том, что теперь это не поля табличной части,а поля формы.заполнять информацию нужно не в поля формы а в документ, либо реквизит формы (не знаю как у Вас там организовано)
В свойствах элемента формы, где прописан путь к данным, туда и запихивайте значения.
У меня есть некий документ в котором две формы :1-я форма документа (с табличной частью), вторая — произвольная без табличной части, которая используется для заполнения каждой строки табличной части формы документа. Не спрашивайте, зачем это нужно.)))
Так вот. Я хочу организовать это условие доступности реквизита именно в форме добавления элемента (ФормаЭлемента), в которой все реквизиты — это реквизиты формы.
Добавлено: 29 авг 2016, 15:06
Написал вот так:
&НаКлиенте
Процедура АнтенаНаличиеПриИзменении(Элемент)
если
АнтенаНаличие
Тогда
Элементы.Антена.Доступность = Истина
Иначе
Элементы.Антена.Доступность = ПредопределенноеЗначение(«Справочник.Антена.ПустаяСсылка»);
Элементы.Антена.Доступность = Ложь;
конецесли;
КонецПроцедуры
Вылетает в части «Иначе» с ошибкой
{Документ.Тестовый.Форма.ФормаЭлемента.Форма(8)}: Ошибка при установке значения атрибута контекста (Доступность)
Элементы.Антена.Доступность = «Справочник.Антена.ПустаяСсылка»;
по причине:
Несоответствие типов
Добавлено: 29 авг 2016, 15:14
Изменил код на такой:
&НаКлиенте
Процедура АнтенаНаличиеПриИзменении(Элемент)
Элементы.Антена.Доступность=АнтенаНаличие;
Если НЕ Элементы.Антена.Доступность=АнтенаНаличие тогда
Элементы.Антена = Неопределено;
конецесли;
КонецПроцедуры
Управление доступностью работает, но когда снимаешь галочку — значение не затирается
Добавлено: 29 авг 2016, 15:35
С таким кодом тоже не затирает.(
&НаКлиенте
Процедура АнтенаНаличиеПриИзменении(Элемент)
Элементы.Антена.Доступность=АнтенаНаличие;
Если НЕ
Элементы.Антена.Доступность=АнтенаНаличие
Тогда
Элементы.Антена=ПредопределенноеЗначение(«Справочник.Антена.ПустаяСсылка»);
Элементы.Антена.Доступность=Ложь;
КонецЕсли;
КонецПроцедуры
Добавлено: 29 авг 2016, 15:47
еще один вариант)))
&НаКлиенте
Процедура АнтенаНаличиеПриИзменении(Элемент)
Элементы.Антена.Доступность=АнтенаНаличие;
Если НЕ
АнтенаНаличие
Тогда
Элементы.Антена=ПредопределенноеЗначение(«Справочник.Антена.ПустаяСсылка»);
КонецЕсли;
КонецПроцедуры
Ошибка — {Документ.Тестовый.Форма.ФормаЭлемента.Форма(7)}: Поле объекта недоступно для записи (Антена)
Элементы.Антена=ПредопределенноеЗначение(«Справочник.Антена.ПустаяСсылка»);
Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
Как создать элемент формы переключатель программно на обычных формах |
Я |
1c_pro_fun
19.04.18 — 23:10
Доброй ночи! Создавал ли кто-нибудь программно переключатель на обычных формах?
При попытке установить ВыбираемоеЗначение для создаваемого программно элемента формы получаю такое сообщение об ошибке:
«Ошибка при установке значения атрибута контекста (ВыбираемоеЗначение)»
Естественно данные, с которыми связываю элемент имеют соответствующий тип (булево в моем случае).
В гугле не забанили — в инете по этому поводу один единственный вопрос на форуме Инфостарт и тот без ответа:
https://forum.infostart.ru/forum9/topic113043/
Одни только предположения что это глюк платформы и советы аля почистите кэш/обновите версию платформы.
Но тому посту 4 года а значит с версией платформы это не связано. Или это у них вообще никогда не работало?
Вот код:
ЭУ = ЭлементыФормы.Добавить(Тип(«Переключатель»), «Переключатель1», Истина);
ЭУ.Заголовок = «Истина»;
ЭУ.Данные = «БулевыйРеквизит»;
ЭУ.Лево = 10;
ЭУ.Верх = 32;
ЭУ.Ширина = 50;
ЭУ.Высота = 19;
ЭУ.ПервыйВГруппе = Истина;
ЭУ.ВыбираемоеЗначение = Истина;
ЭУ = ЭлементыФормы.Добавить(Тип(«Переключатель»), «Переключатель2», Истина);
ЭУ.Заголовок = «Ложь»;
ЭУ.Данные = «БулевыйРеквизит»;
ЭУ.Лево = 65;
ЭУ.Верх = 32;
ЭУ.Ширина = 50;
ЭУ.Высота = 19;
ЭУ.ВыбираемоеЗначение = Ложь;
ЧТО МОЖЕТ БЫТЬ ДОБРЫЕ ЛЮДИ?
1c_pro_fun
1 — 19.04.18 — 23:15
И да безусловно в отладчике смотрел. До присвоения:
ЭУ.Данные = «БулевыйРеквизит»;
ЭУ.ТипЗначения равен ОписаниеТипов с пустым значением.
После выполнения этой строки кода — Описание типов со значением Булево.
Connect
2 — 19.04.18 — 23:21
Чем Видимость/Доступность не устраивает?
1c_pro_fun
3 — 19.04.18 — 23:27
(2) А при чем тут Видимость/Доступность? Вопрос заключается в том что при клике в любой из группы переключателей значение переменной, связанной с этим переключателем должно меняться. Оно должно стать равным тому, что указано как Выбираемое значение. Моя проблема заключается в том что я создаю элемент формы программно и при попытке присвоения ВыбираемомуЗначению какого-либо значения (в моем конкретном случае это значения Истина/Ложь) вылетает ошибка:
«Ошибка при установке значения атрибута контекста (ВыбираемоеЗначение)»
Поэтому совершенно не понимаю к чему Вы про Видимость/Доступность. Но спасибо за участие
hhhh
4 — 20.04.18 — 00:20
(3) «значение переменной, связанной с этим переключателем должно меняться» — значение переменной не должно меняться.Это же описание поля, оно не меняет значение.
1c_pro_fun
5 — 20.04.18 — 00:28
(4) Или у меня после полуночи мозг не соображает или лыжи не едут. Как значение не должно меняться. РАДИОБАТН — в него для чего мышкой тыкают? Чтобы выбрать одно из значений возможных. Все переключатели связаны с одним из реквизитов формы (в моем посте (3) ошибочно написал переменной имел в виду реквизит формы). При клике ДОЛЖНО изменяться значение реквизита в соответствии с тем что у конкретного Переключателя указано в ВыбираемоеЗначение. Вроде все логично Трабл в том что присвоить не могу это самое выбираемое значение если речь идет о реквизите с типом Булево. Выяснилось что если сделать реквизит с типом число то работает. Что не так с Булево?
1c_pro_fun
6 — 20.04.18 — 00:42
Мне кажется что у ОдноЭса это нифига и не работало никогда по человечески. Бьюсь об заклад. В качестве доказательства могу привести вот что:
УТ 10.3 (под рукой релиз 35.1)
Есть отчет «Отчет по кредитной линии» с реквизитом «ВидКредитныхЛиний» типа число длина 1… понимаете да… логика еще с клюшек видать осталась. И далее если поставить точку останова на отчет «Универсальный отчет» в модуле объекта на строке 6272 то не трудно заметить что виды кредитных линий принимают значение 0 и 1. И обусловлено это похоже тем что они сами не смогли сделать это через Булево. Кстати во всей УТ 10.3 только в двух отчетах используется программное добавление элемента формы типа Переключатель. В описанном мною случае не вижу никакого смысла в использовании числового реквизита (при двух-то значениях). Во втором «Задолженность по контрагентам» действительно была необходимость т.к. переключатель принимал 3 значения и Булево не хватило бы.
P.S. если я все же не прав и программно создать элемент формы с типом Переключатель привязанный к реквизиту форму типа Булево мне не дает не платформа, а мои кривые руки ткните носом как же это можно сделать
marvak
7 — 20.04.18 — 00:54
Переключатель по-моему всегда какое-то целочисленное значение у них принимает, а не булево.
Чисто так, по воспоминаниям.
Первый, второй, третий
попробуй
выбираемое значение = 1
1c_pro_fun
9 — 20.04.18 — 01:27
(7) В моем посте (5) в конце пишу что с реквизитом типа число работает.
1c_pro_fun
10 — 20.04.18 — 01:29
Не знаю троит Мисту или что (куда-то ведь делся мой пост под номером но там я писал что кроме числовых типов переключатель поддерживает Строку, Дату, Булево и все ссылочные типы. Но это только если ручками в конфигураторе видимо. Программно никак.
marvak
11 — 20.04.18 — 02:24
(9)
ну если с числом работает, и задача решена, то в чем трабл то?
hhhh
12 — 20.04.18 — 05:22
(10) попробуй повнимательнее отладчиком посмотреть при открытии формы какие там поля у переключателя, при обычном создании и при программном. Что=то у тебя слишком мало полей, там гораздо больше вроде.
catena
13 — 20.04.18 — 06:58
Прикольно, но оказалось, как в отборах, важна последовательность свойств. По крайней мере, у меня заработало:
ЭУ.ПервыйВГруппе = Истина;
ЭУ.Данные = «БулевыйРеквизит»;
ЭУ.ВыбираемоеЗначение = Истина;
Сияющий в темноте
14 — 20.04.18 — 09:09
Ну а если не ставить первый в группе,а на форме есть еще радиобаттоны,то ведь фигня получается
Ermak |
|
||
---|---|---|---|
Пытаю разграничить права в форме списка справочника НоменклатураКод 1C v 8.х
Выдает ошибку Ошибка при установке значения атрибута контекста (Значение) |
Yandex |
|
||
---|---|---|---|
E_Migachev |
|
||
---|---|---|---|
(0) Ermak, это отбор чего ты хочешь установить? что на форме? |
Ermak |
|
||
---|---|---|---|
Отбор хочу сделать по наименованию, чтобы пользователи могли открывать только свою группу |
Ermak |
|
||
---|---|---|---|
и можете подсказать как сделать чтобы при открывании пользователем справочника Номенклатура открывалась сразу его группа (Например: Папирус) |
E_Migachev |
|
||
---|---|---|---|
как-то так *09
|
Ermak |
|
||
---|---|---|---|
Код 1C v 8.х
Выдает ошибук: {Справочник.Номенклатура.Форма.ФормаСписка.Форма(19)}: Ошибка при установке значения атрибута контекста (ВидСравнения) Изменено 25.04.12 13:57:57 |
Ermak |
|
||
---|---|---|---|
подскажите! |
Подсказка: Щелкнув по значку (справа от названия вопроса), вы получите список ответов на похожие вопросы! |
1 февраля, 2017
21 апреля, 2017
Дано
- 1С конфигурация бухгалтерия предприятия 2.0
- Ошибка печати ПКО (приходный кассовый ордер):
{ОбщаяФорма.ФормаПечати.Форма(18)}: Ошибка при установке значения атрибута контекста ЭлементыФормы.ПолеДокумента.ПолеСверху по причине: Несоответствие типов |
Анализ проблемы
На первый взгляд все ужасно:
- в конфигураторе видно, что система пытается выполнить строчку кода:
ЭлементыФормы.ПолеДокумента.ПолеСверху = ПечатныйДокумент.ПолеСверху; |
- в отладке видно, что обе переменные типа “Число”,
- синтакс-помощник говорит что:
ТабличныйДокумент (SpreadsheetDocument) ПолеСверху (TopMargin) Использование: Чтение и запись. |
То есть ПолеСверху доступно для записи и обе переменные типа число и все тут корректно, но система говорит “Несоответствие типов” – полный бред.
Решение
На решение проблемы натолкнула фраза “Ошибка при установке значения атрибута контекста”, значит что-то не так с доступом.
Оказалось в базе нет ни одного пользователя и работа осуществлялась под пользователем НеАвторизован. После создания пользователя с необходимыми правами все заработало.
Дополнено 2017.04.10
Проблема повторилась, но уже при печати РТУ и с использованием уже настроенной учетной записи.
Помогло создание нового пользователя с такими же правами доступа. То есть нового создаем, старого удаляем и после этого все работает.
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
«Ну подскажите как исправить ошибку?<br>{Документ.ИК_БезвозмездноеПолучение.Форма.ФормаДокумента(300)} : Ошибка при установке значения атрибута контекста (Видимость)<br>ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость= ВестиПоАналитике;<br>по причине: Несоответствие типов»
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
«Яблоко=Апельсин;<br>Вот что у вас,а должно быть яблоко=истина;»
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
«И где ошибка?<br> <br>Процедура ДоступностьЭлементов()<br> Если ПоступлениеМЗ Тогда<br> ЭлементыФормы.Панель1.Страницы.МатериальныеЗапасы.Видимость = Истина;<br> ЭлементыФормы.Панель1.Страницы.ОсновныеСредства.Видимость = Ложь;<br> Иначе<br> ЭлементыФормы.Панель1.Страницы.МатериальныеЗапасы.Видимость = Ложь;<br> ЭлементыФормы.Панель1.Страницы.ОсновныеСредства.Видимость = Истина;<br> Если УчетНПА Тогда<br> ЭлементыФормы.ОсновныеСредства.Колонки.ГрупповойУчет.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КодПоОКОФ.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СуммаАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаЗатрат.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.НачислятьАмортизацию.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ОстСрокПолезногоИспользования.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ПорядокПогашенияСтоимости.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СпособНачисленияАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СрокПолезногоИспользования.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетУчетаЗатрат.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат2.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат3.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат4.Видимость = Ложь;<br> Иначе<br> ЭлементыФормы.ОсновныеСредства.Колонки.ГрупповойУчет.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КодПоОКОФ.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СрокПолезногоИспользования.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СуммаАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ОстСрокПолезногоИспользования.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ПорядокПогашенияСтоимости.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СпособНачисленияАмортизации.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.НачислятьАмортизацию.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетУчетаЗатрат.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаЗатрат.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат2.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат3.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат4.Видимость = НачислятьАмортизациюКазны;<br> КонецЕсли;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ДатаВводаВЭксплуатацию.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ФактическийСрокЭкспл.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ИнвНомер.Видимость = ВестиПоАналитике;<br> КонецЕсли;»
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
Что такое ВестиПоАналитике?отладчиком смотрел что там?
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
к счету добовляется аналитика, так как у счета может быть несколько аналитик. Скорей всего чтото в праметрах аналитики. Например для 01 счета справочник сотрудников может быть подключен как аналитика, но называться он будет материально ответственное лицо.
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
я знаю что такое аналитика,конкретно скажи что за переменная!
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
А что это за документ такой «ИК_БезвозмездноеПолучение» и откуда он взялся в БП?
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
Показывать по
10
20
40
сообщений
Gectar 0 / 0 / 0 Регистрация: 10.08.2016 Сообщений: 18 |
||||
1 |
||||
1C 8.x (тонкий) Ошибка при указании ПутьКДанным в программно созданной таблице10.08.2016, 13:34. Показов 32629. Ответов 7 Метки нет (Все метки)
Переделываю форму документа КорректировкаЗаписейРегистров под управляемое приложение. Если вручную из реквизитов на форму документа перетащить нужное движение по регистру никаких проблем не возникает: создается таблица, добавляются колонки. Для таблицы регистра бухгалтерии Хозрасчетный свойство ПутьКДанным заполняется значением «Объект.Движения.Хозрасчетный». Но если я программно создаю таблицу и пытаюсь присвоить этому свойству это же значение,
то выскакивает «ошибка при установке значения атрибута контекста (ПутьКДанным)» по причине Недопустимое значение. Из-за чего тут ошибка? Пробовал привязывать к созданной таблице табличную часть документа ТаблицаРегистровНакопления — свойству ПутьКДанным присвоил значение «Объект.ТаблицаРегистровНакопления», потом программно же создал колонки таблице, указал ПутьКДанным для них и все отработало без нареканий.
__________________ 0 |
Dethmontt Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
||||
11.08.2016, 01:57 |
2 |
|||
По моему Движения это свойство типа ДокументОбъект и оно не конвертируется на клиента Добавлено через 13 минут Добавлено через 1 минуту Добавлено через 58 секунд
0 |
0 / 0 / 0 Регистрация: 10.08.2016 Сообщений: 18 |
|
11.08.2016, 10:56 [ТС] |
3 |
Движения это свойство типа ДокументОбъект и оно не конвертируется на клиента Это так, но я же не с этим свойством связываю таблицу. Тип свойства Движения — КоллекцияДвижений. Содержит эта коллекция наборы записей регистров. С одним из таких наборов я и пытаюсь связать таблицу, ведь наборы вполне себе конвертируются на клиенте. Добавлено через 7 минут
Нужно создавать свой НаборЗаписей (реквизит формы) устанавливать отбор и к нему привязывать ТаблицуФормы Как вариант я тоже думал так сделать, но хотелось бы как-то напрямую к данным, чтобы потом не заморачиваться с обработкой добавления/удаления/изменения записей. В обычном приложении именно напрямую к данным и идет привязка, вот и в управляемом надеялся сделать также. Добавлено через 19 минут
И программно получить доступ на форме к свойству движения не получиться ибо они ни где не хранятся. Вот тут я может и не до конца понял вашу мысль, но движения по конкретной номенклатуре хранятся в документе, форму которого я и пытаюсь открыть. 0 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
11.08.2016, 11:01 |
4 |
Gectar, форма и документ это разные сущности! Добавлено через 2 минуты 1. На сервере происходит чтение из БД документа (ДокументОбъект) Добавлено через 49 секунд
Как вариант я тоже думал так сделать, но хотелось бы как-то напрямую к данным, чтобы потом не заморачиваться с обработкой добавления/удаления/изменения записей. Придется именно так и сохранение тоже придется делать самому 1 |
0 / 0 / 0 Регистрация: 10.08.2016 Сообщений: 18 |
|
11.08.2016, 11:11 [ТС] |
5 |
Я может сейчас и ступлю с этим вопросом, но почему же тогда все работает при ручном перетаскивании того же самого набора записей регистра из движений на форму — таблица создается, колонки добавляются, ПутьКДанным прописывается, работет все чин чинарем и не нужно никаких промежуточных реквизитов? 0 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
11.08.2016, 11:25 |
6 |
работет все чин чинарем и не нужно никаких промежуточных реквизитов? потому что платформа все делает за НАС многе оскрывая от наших глазок =))) 0 |
0 / 0 / 0 Регистрация: 10.08.2016 Сообщений: 18 |
|
25.08.2016, 17:38 [ТС] |
7 |
Оказалось такие сложности совершенно ни к чему, как в общем-то с самого начала и думал. Нужно было просто в настройках реквизитов поставить галочку «Использовать всегда» Миниатюры
0 |
0 / 0 / 0 Регистрация: 10.08.2016 Сообщений: 18 |
|
25.08.2016, 17:40 [ТС] |
8 |
Тогда приведенный в самом начале код работает без проблем. 0 |
Пишу на сервере:
КлючУникальности = Новый УникальныйИдентификатор;
получаю ошибку:
{Обработка.мояОбработак.Форма.Форма.Форма(944)}: Ошибка при установке значения атрибута контекста (КлючУникальности)
КлючУникальности = Новый УникальныйИдентификатор;
по причине:
Свойство недоступно на сервере
почему так? СП говорит:
УникальныйИдентификатор (UUID)
Конструкторы:
Из строки
По умолчанию
Описание:
Предназначен для создания и хранения глобального уникального идентификатора GUID.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
«Ну подскажите как исправить ошибку?<br>{Документ.ИК_БезвозмездноеПолучение.Форма.ФормаДокумента(300)} : Ошибка при установке значения атрибута контекста (Видимость)<br>ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость= ВестиПоАналитике;<br>по причине: Несоответствие типов»
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
«Яблоко=Апельсин;<br>Вот что у вас,а должно быть яблоко=истина;»
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
«И где ошибка?<br> <br>Процедура ДоступностьЭлементов()<br> Если ПоступлениеМЗ Тогда<br> ЭлементыФормы.Панель1.Страницы.МатериальныеЗапасы.Видимость = Истина;<br> ЭлементыФормы.Панель1.Страницы.ОсновныеСредства.Видимость = Ложь;<br> Иначе<br> ЭлементыФормы.Панель1.Страницы.МатериальныеЗапасы.Видимость = Ложь;<br> ЭлементыФормы.Панель1.Страницы.ОсновныеСредства.Видимость = Истина;<br> Если УчетНПА Тогда<br> ЭлементыФормы.ОсновныеСредства.Колонки.ГрупповойУчет.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КодПоОКОФ.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СуммаАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаЗатрат.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.НачислятьАмортизацию.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ОстСрокПолезногоИспользования.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ПорядокПогашенияСтоимости.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СпособНачисленияАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СрокПолезногоИспользования.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетУчетаЗатрат.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат2.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат3.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат4.Видимость = Ложь;<br> Иначе<br> ЭлементыФормы.ОсновныеСредства.Колонки.ГрупповойУчет.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КодПоОКОФ.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СрокПолезногоИспользования.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СуммаАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ОстСрокПолезногоИспользования.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ПорядокПогашенияСтоимости.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СпособНачисленияАмортизации.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.НачислятьАмортизацию.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетУчетаЗатрат.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаЗатрат.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат2.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат3.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат4.Видимость = НачислятьАмортизациюКазны;<br> КонецЕсли;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ДатаВводаВЭксплуатацию.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ФактическийСрокЭкспл.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ИнвНомер.Видимость = ВестиПоАналитике;<br> КонецЕсли;»
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
Что такое ВестиПоАналитике?отладчиком смотрел что там?
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
к счету добовляется аналитика, так как у счета может быть несколько аналитик. Скорей всего чтото в праметрах аналитики. Например для 01 счета справочник сотрудников может быть подключен как аналитика, но называться он будет материально ответственное лицо.
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
я знаю что такое аналитика,конкретно скажи что за переменная!
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
А что это за документ такой «ИК_БезвозмездноеПолучение» и откуда он взялся в БП?
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
Показывать по
10
20
40
сообщений
Читают тему: