открытие формы выбора с отбором |
Я |
02.12.16 — 12:41
есть перечисление, оно задано реквизиту справочника
есть реквизит у этого справочника, типа другого справочника
где так же есть реквизит типа перечисления
как при открытии формы справочника, устанавливать отбор элементов
в форме выбора равному значению перечисления?
1 — 02.12.16 — 12:43
присвоить отбору значение
2 — 02.12.16 — 12:43
Если смотреть сбоку, то сверху кажется, что снизу ничего не видно
3 — 02.12.16 — 12:45
(1) средствами свойств конфигурации?
4 — 02.12.16 — 12:50
или кодом накладывать?
5 — 02.12.16 — 12:53
кодом конечно, программа сама не знает чего ты хочешь
6 — 02.12.16 — 12:54
можешь в типовых посмотреть как открываются формы выбора программно, глядишь и наткнешься на установку отбора
7 — 02.12.16 — 13:38
почему может ругаться на такую конструкцию, не соответсвие типов
&НаКлиенте
Процедура ДежурныйНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЗначениеОтбора = Новый Структура(«ЭксплуатационныйРайон», Объект.ЭксплуатационныйРайон);
ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);
ОткрытьФорму(«Справочник.Дежурный.ФормаВыбора», ПараметрыВыбора, Элемент);
КонецПроцедуры
8 — 02.12.16 — 13:41
а такой отбор точно есть в форме выбора?
9 — 02.12.16 — 13:48
(8) подскажите пожалуйста, где это посмотреть?
10 — 02.12.16 — 13:51
(8) видимо нет, взял пример, но не знаю как его приделать
11 — 02.12.16 — 13:58
(9) Напиши коротенький пример, без туманных намеков как в (0).
12 — 02.12.16 — 14:09
(11) я сделал как в примере (7)
у формы создал параметр «Отбор»
13 — 02.12.16 — 14:10
(12) у формы владельца есть реквизит перечисление
у формы выбора есть параметр отбор типа этого перечисления
есть реквизит типа этого перечисления у подчиненного справочника
14 — 02.12.16 — 14:10
(7) из-за совпадения имени переменной ПараметрыВыбора с параметром формы
15 — 02.12.16 — 14:13
(7) вообще, в подробном тексте ошибки всё написано, но ты за 10 лет так и не научился ни читать его, ни копировать на Мисту
16 — 02.12.16 — 14:16
(15) от туда не перенесешь его
17 — 02.12.16 — 14:17
(16) откуда?
18 — 02.12.16 — 14:21
(17) текст ошибки с сервера
19 — 02.12.16 — 14:22
(18) нет ничего невозможного для человека с интеллектом
20 — 02.12.16 — 14:34
(19) ну ошибка называется «несоответствие типов»
на строке ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);
чт опоправить, до меня не доходит (((
21 — 02.12.16 — 14:37
(11) просто нужно открыть форму выбора справочника с отбором
22 — 02.12.16 — 14:40
(20) в (14) написано, думай
23 — 02.12.16 — 14:45
(22) ну понятно, я создал параметр формы отбор
и в строке (20) тоже отбор
так он же и должен совпадать?
как иначе то?????
24 — 02.12.16 — 14:58
(22) ну изменю значение параметра на другое, попробую
непомогло
25 — 02.12.16 — 15:08
ПОДСКАЖИТЕ В ЧЕМ ДЕЛО?
26 — 02.12.16 — 15:10
(25) еще раз: ошибка возникает из-за того, что имя переменной ПараметрыВыбора совпадает с именем параметра формы ПараметрыВыбора
27 — 02.12.16 — 15:35
(26) я не могу сделать, ты можешь сказать как нужно поправить?
28 — 02.12.16 — 15:41
везде одинаковые примеры
ЗначениеОтбора = Новый Структура(«Контрагент», «ОАО Рога и копыта»);
ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);
ОткрытьФорму(«Документ.ПриходнаяНакладная.ФормаСписка», ПараметрыВыбора);
29 — 03.12.16 — 07:38
ребят продолжаю, развернул маленькую конфигурацию у себя на компе
имитирую этот момент, ошибка та же, подскажите как исправить???
{Справочник.Сотрудники.Форма.ФормаЭлемента.Форма(6)}: Ошибка при установке значения атрибута контекста (ПараметрыВыбора)
ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);
по причине:
Несоответствие типов
&НаКлиенте
Процедура ВидРубкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЗначениеОтбора = Новый Структура(«СпособРубки», Объект.СпособРубки);
ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);
ОткрытьФорму(«Справочник.ВидыРубок.ФормаВыбора», ПараметрыВыбора, Элемент);
КонецПроцедуры
30 — 03.12.16 — 07:40
Уважаемый Lexey_, говорит что дело в имени переменной ПараметрыВыбора.
Как исправить, подскажите кто понимает?
Я всяко разно пробовал. Причем во всех примерах все так же, у меня не работает ((((
31 — 03.12.16 — 07:46
Согласно (26) исправил, понимая буквально замечание, на
&НаКлиенте
Процедура ВидРубкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЗначениеОтбора = Новый Структура(«СпособРубки», Объект.СпособРубки);
ПараметрыВыбора1 = Новый Структура(«Отбор», ЗначениеОтбора);
ОткрытьФорму(«Справочник.ВидыРубок.ФормаВыбора», ПараметрыВыбора1, Элемент);
КонецПроцедуры
Но сейчас нет ошибки, но и отбор не устанавливается в форме выбора справочника, подскажите почему?
32 — 03.12.16 — 07:48
и так пробую
&НаКлиенте
Процедура ВидРубкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЗначениеОтбора = Новый Структура(«СпособРубки», Объект.СпособРубки);
//ПараметрыВыбора1 = Новый Структура(«Отбор», ЗначениеОтбора);
//ОткрытьФорму(«Справочник.ВидыРубок.ФормаВыбора», ПараметрыВыбора1, Элемент);
ОткрытьФорму(«Справочник.ВидыРубок.ФормаВыбора», ЗначениеОтбора, Элемент);
КонецПроцедуры
33 — 03.12.16 — 07:50
нужно ли как то саму форму дорабатывать на какие либо параметры
используя (31) или (32)
34 — 03.12.16 — 07:58
Возьми фрагмент «НачалоВыбора(» и полным поиском в типовой конфигурации найдешь кучку примеров
35 — 03.12.16 — 07:59
(34) да я в интернете много примеров нахожу
все они подобные, но не работает у меня (((((
36 — 03.12.16 — 07:59
(34) в конфигурации какой? в УТ 11.3 попробую поискать
37 — 03.12.16 — 08:01
(35) Так бывает…
(36) в типовой или в своей, если типовая.
38 — 03.12.16 — 08:01
(37) в которой я стал делать пример
там вообще пара объектов, не доделанные
39 — 03.12.16 — 08:10
реально не понимаю (((( все подобно везде!!!!
40 — 03.12.16 — 08:13
не работает отбор (
41 — 03.12.16 — 08:20
СтандартнаяОбработка = Ложь;
ЗначениеОтбора = Новый Структура(«СпособыРубок», Объект.СпособРубки);
ПараметрыВыбора1 = Новый Структура(«Отбор», ЗначениеОтбора);
ОткрытьФорму(«Справочник.ВидыРубок.ФормаВыбора», ПараметрыВыбора1, Элемент);
вот так сработало, важно было в значении отбора, установить название параметра таким же как у справочника
EvgeniuXP
42 — 03.12.16 — 13:22
Посмотри курсы, чтобы множество вопросов у тебя отпало — и с энономишь кучу времени себе и другим.
Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
В документе «ВедомостьВБанк» есть реквизит «ЗарплатныйПроект» (тип реквизита — одноименный справочник). Из реквизита «ЗарплатныйПроект», на управляемой форме, надо открыть форму выбора проектов с отбором по списку конкретных проектов. У реквизита «ЗарплатныйПроект» прописала событие «НачалоВыбора» (ниже код), но не срабатывает, выдает ошибку «Ожидается выражение «ВЫБРАТЬ». &НаСервере
Запрос.Текст = ТекстЗапроса;
Спасибо, ошибка из ушла. Но теперь стал ругаться на строчку ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора) из: Ругается: «Ошибка при установке значения атрибута контекста (ПараметрыВыбора)».
ПараметрыВыбора — системное поле, если мне не изменяет память. Назовите как-нибудь по-другому
и еще не плоди контекстных серверных вызовов, тем более, если контекст вообще не используется…
Заменила ПараметрыВыбора на ЗначВыбора, теперь ошибок не выдается, но и отбора никакого не происходит. Открывается весь справочник «ЗарплатныеПроекты», только в верхнем левом углу светится надпись: Непонимаю, откуда появилось это Дополнительное условие на тип документа?! Мне нужен отбор по двум записям справочника «ЗарплатныеПроекты»!!!
ЗначениеОтбора = Новый Структура(«Тип», Проекты); Так сами же делаете отбор по типу?
Значит я где-то ошибаюсь, мне нужен отбор тоько по двум записям справочника «ЗарплатныеПроекты». Т.е. из реквизита «ЗарплатныйПроект», на управляемой форме документа, мне надо открыть форму выбора проектов с отбором по списку конкретных проектов. А вместо этого у меня происходит отбор по типу документа?!
Убрала отбор по типу, все равно отбор не происходит:
Открывается весь справочник «ЗарплатныеПроекты».
Ты хочешь программный отбор вывести или просто на форму добавить быстрый отбор по конкретному реквизиту?
тысяча дементоров, никогда, слышишь, никогда не используй метод Выгрузить без надобности!!!
тысяча дементоров, еще и поиск по наименованию!!!
тысяча дементоров, ты свои проекты тупо кинула в отбор, нужно было просто переименовать переменную ПараметрыВыбора на МояПеременнаяСОтборами!!!
Спасибо, но теперь стал ругаться на строчку: выдает ошибку: «Поле объекта недоступно для записи (Параметры)»
Параметры замени на ПередаваемыеПараметры Книжку какю-нить по УФ почитай для повышения общей образованности
Так подсказали ведь в — переименовать название структуры «Параметры» в «ПараметрыОтбора» например
Спасибо. Заменила в коде параметры на ПараметрыОтбора, теперь ошибки не выдает, но открывается пустой справочник «ЗарплатныеПроекты».
Уже хорошо:) Остальное дело техники. Нужно смотреть что возарщает ПолучитьПроекты, по тому ли реквизиту отбирает в форме выбора
Тэги:
Комментарии доступны только авторизированным пользователям
Показывать по
10
20
40
сообщений
Новая тема
Ответить
user_1c
Дата регистрации: 05.02.2008
Сообщений: 444
Добрый день!
Может быть кто-нибудь знает, или хотя бы направит..
Есть форма с элементами, формируемыми программно, в зависимости от настроек…
Для элемента определенного типа нужно установить не стандартную форму выбора, а другую форму выбора. Как это сделать?
Думала, что можно просто установить элементу другую форму выбора, но выдается ошибка:
Ошибка при установке значения атрибута контекста (ФормаВыбора)
Элементы.НаборДопАналитикиЗначениеАналитики.ФормаВыбора = «Новая_ФормаВыбораУправляемаяСОтбором»;
по причине:
Свойство «ФормаВыбора» не поддерживается этим элементом
Почему свойство «ФормаВыбора» не поддерживается? Хотя параметры выбора выше в коде устанавливаются?
Спасибо!
Сергей Волокитин
Дата регистрации: 08.04.2015
Сообщений: 6
user_1c, Вам нужно переопределить форму выбора в обработчике события «НачалоВыбора» у этого элемента формы. Описание на сайте ИТС
Показывать по
10
20
40
сообщений