AS_DANCE
04.05.09
✎
17:15
Что то наверно накосячил, помогите найти в чем косяк.
Вот код:
Отбор = СписокЗаданийДень.Отбор;
Если Отбор.Найти(«ВрНачала») = Неопределено Тогда
Отбор.Добавить(«ВрНачала»);
КонецЕсли;
Отбор[«ВрНачала»].Использование = Истина;
Отбор[«ВрНачала»].ЗначениеС = НачалоДня(ИспДата);
Отбор[«ВрНачала»].ЗначениеПО = КонецДня(ИспДата);
Отбор[«ВрНачала»].ВидСравнения = ВидСравнения.ИнтервалВключаяГраницы;
Тип поля ВрНачало — Дата, но когда запускаю вылетает с ошибкой «Ошибка при установке значения атрибута контекста (ВидСравнения): Недопустимый тип сравнения
Отбор[«ВрНачала»].ВидСравнения = ВидСравнения. ИнтервалВключаяГраницы;
по причине:
Недопустимый тип сравнения
»
перепробывал все типы, работает только с типом равно. в чем косяк??
ТелепатБот
04.05.09
✎
17:15
Лефмихалыч
04.05.09
✎
17:17
сначала установи вид сравнения, а потом границы задавай
AS_DANCE
04.05.09
✎
17:17
пробывал, вид сравнения устанваливать и до и после, и просто ставить «Больше», никак не катит (
Лефмихалыч
04.05.09
✎
17:26
(3) дело в «Если Отбор.Найти(«ВрНачала») = Неопределено Тогда»
клянусь своей треуголкой: одно из двух — либо поля такого нет принципиально в данных СписокЗаданийНаДень, либо оно имеет тип какой-то не кошерный
AS_DANCE
04.05.09
✎
17:31
В отладчике открываю отбор, там есть тип поля «Врначала» тип Дата, и по умолчанию тип сравнения стоит «Равно», если ставить такой-же то все работает. Но мне нужен другой тип сравнения. (
Alpen906
04.05.09
✎
17:33
Попробуй перед установкой отбора
Отбор[«ВрНачала»].Использование = Ложь;
НЕА123
04.05.09
✎
17:33
(0)
СписокЗаданийДень — это кто?
Mitriy
04.05.09
✎
17:34
эта чего Отбор?
НЕА123
04.05.09
✎
17:34
(0)
потом лезь в СП и внимательно читай про отбор этого типа.
AS_DANCE
04.05.09
✎
17:34
Это регистр сведений, а ВрНачала — это его измерение
Gisborn
04.05.09
✎
17:35
Если это набор записей:
Отбор (Filter)
Использование:
Только чтение.
Описание:
Тип: Отбор. Содержит объект Отбор, по которому осуществляется текущая фильтрация записей при считывании или записи набора. Список свойств объекта зависит от свойств регистра: для регистров сведений, для которых в конфигураторе установлен режим записи «Подчинение регистратору», отбор возможен только по регистратору, для периодических регистров сведений отбор возможен по периоду и значениям измерений, для непериодических — только по значению измерений.
Важно! Отбор может устанавливаться только на равенство.
AS_DANCE
04.05.09
✎
17:38
Регистр у меня непериодический, и способ записи независимый,вот толькоинтересно почему отбор нельзя по другому выставить
(11)Спасибо
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан
Ermak |
|
||
---|---|---|---|
|
Добрый день! Подскажите как сделать отбор по табличному полю. Например в ТП есть колонка ФИО, в поле отбора я набираю фамилию Петров нажимаю поиск или ENTER и мне в ТП выдаются строки где указана фамилия Петров |
Yandex |
|
||
---|---|---|---|
|
IBReiter |
|
||
---|---|---|---|
|
Можно так: Код 1C v 8.3
|
IBReiter |
|
||
---|---|---|---|
|
Либо Код 1C v 8.3
Но этот вид, по-моему, медленно работает |
Ermak |
|
||
---|---|---|---|
|
Ошибка{Справочник.ЛицевыеСчетаАбонентов.Форма.ФормаСписка.Форма(235,33)}: Переменная не определена (Список) ЭлементОтбора = <<?>>Список.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»)); (Проверка: Толстый клиент (обычное приложение)) {Справочник.ЛицевыеСчетаАбонентов.Форма.ФормаСписка.Форма(238,33)}: Переменная не определена (ЗначениеОтбора) ЭлементОтбора.ПравоеЗначение = <<?>>ЗначениеОтбора; (Проверка: Толстый клиент (обычное приложение)) Код 1C v 8.х
Код 1C v 8.х
Код 1C v 8.х
Код 1C v 8.х
Код 1C v 8.х
Код 1C v 8.х
|
IBReiter |
|
||
---|---|---|---|
|
Проверьте имя основного реквизита, у него скорее всего другое имя, не «Список» |
IBReiter |
|
||
---|---|---|---|
|
Ответственный = путь к данным на форме |
IBReiter |
|
||
---|---|---|---|
|
У вас наверное не erp.. контейнера ЭлементыФормы не бывает в УФ. Он называется «Элементы» |
Ermak |
|
||
---|---|---|---|
|
Значит я что то напутал. Программа самописнная на платформе 1С 8.2. |
Ermak |
|
||
---|---|---|---|
|
Отбор делаем СправочникСписок |
IBReiter |
|
||
---|---|---|---|
|
Элементы — это у вас ЭлементыФормы Список — СправочникСписок |
Ermak |
|
||
---|---|---|---|
|
а я стал уже так делать, только не могу понять как теперь найти строку в СправочникСписок Код 1C v 8.х
|
IBReiter |
|
||
---|---|---|---|
|
ЭлементыФормы.СправочникСписок.ТекущаяСтрока, если вы про это |
Ermak |
|
||
---|---|---|---|
|
{Справочник.ЛицевыеСчетаАбонентов.Форма.ФормаСписка.Форма(262)}: Недостаточно фактических параметров Спр = Справочники.ЛицевыеСчетаАбонентов.НайтиПоРеквизиту(); Код 1C v 8.2 УП
Код 1C v 8.2 УП
Код 1C v 8.2 УП
Код 1C v 8.2 УП
Код 1C v 8.2 УП
Код 1C v 8.2 УП
Код 1C v 8.2 УП
|
IBReiter |
|
||
---|---|---|---|
|
НайтиПоРеквизиту(<ИмяРеквизита>, <ЗначениеРеквизита>, <Родитель>, <Владелец>) Параметры: <ИмяРеквизита> (обязательный) Тип: Строка. Имя реквизита, как он задан в конфигураторе, по значению которого осуществляется поиск. Тип значения произвольный, кроме ХранилищеЗначения и строк произвольной длины. <ЗначениеРеквизита> (обязательный) Тип: Произвольный. Значение реквизита, по которому должен выполняться поиск. Имя и значение обязательны |
IBReiter |
|
||
---|---|---|---|
|
Может вот этого достаточно будет Код 1C v 8.х
|
Ermak |
|
||
---|---|---|---|
|
Выдает ошибку{Справочник.ЛицевыеСчетаАбонентов.Форма.ФормаСписка.Форма(290)}: Ошибка при установке значения атрибута контекста (ВидСравнения) СправочникСписок.Отбор[ИмяОтбораДанных].ВидСравнения = ВидСравнения.Содержит; по причине: Недопустимый тип сравнения |
IBReiter |
|
||
---|---|---|---|
|
Покажите текст модуля |
IBReiter |
|
||
---|---|---|---|
|
И тип проверьте в отладчике у СправочникСписок.Отбор[ИмяОтбораДанных].ВидСравнения |
Ermak |
|
||
---|---|---|---|
|
СправочникСписок.Отбор[ИмяОтбораДанных].ВидСравнения Тип = ВидСравнения ВидСравнения Тип = ПеречислениеВидСравнения |
IBReiter |
|
||
---|---|---|---|
|
Значит и присваивайте ему значение этого перечисления: Перечисления.ВидСравнения.ВашеЗначение |
Ermak |
|
||
---|---|---|---|
|
В перечесления нет ВидСравнения , где еще можно посмотреть |
IBReiter |
|
||
---|---|---|---|
|
В отладчике и можно посмотреть Сделайте скрин формы ее реквизиты, какая конфигурация, платформа, модуль или процедуру-обработчик Я так не пойму что там у вас происходит |
Ermak |
|
||
---|---|---|---|
|
http://zalil.su/674481 копия конфигурации, работаю над Справочник — ЛицевыеСчетаАбонентов, ФормаСписка |
IBReiter |
|
||
---|---|---|---|
|
Ошибку не увидел |
Ermak |
|
||
---|---|---|---|
|
Если ИмяОтбораДанных = «КороткийАдрес» и ИмяОтбораДанных = «Адрес» то все работает а если поставить отбор например по ИмяОтбораДанных = «ОтветственныйКвартиросъемщик» или по Код увидите ошибку |
Ermak |
|
||
---|---|---|---|
|
где то прописано в коде что отбор только по «КороткийАдрес» или «Адрес» но я не могу понять где |
IBReiter |
|
||
---|---|---|---|
|
В модуле формы списка «Процедура ПолеВвода1ПриИзменении(Элемент)» там и прописано |
Ermak |
|
||
---|---|---|---|
|
эта я сделал попробуйте сменить ИмяОтбораДанных = «ОтветственныйКвартиросъемщик» в «Процедура ПолеВвода1ПриИзменении(Элемент)» и вы сразу увидите ошибку когда будите делать отбор |
Ermak |
|
||
---|---|---|---|
|
Вот такая ошибка будет{Справочник.ЛицевыеСчетаАбонентов.Форма.ФормаСписка.Форма(290)}: Ошибка при установке значения атрибута контекста (ВидСравнения) СправочникСписок.Отбор[ИмяОтбораДанных].ВидСравнения = ВидСравнения.Содержит; по причине: Недопустимый тип сравнения |
IBReiter |
|
||
---|---|---|---|
|
ОтветственныйКвартиросъемщик — это Справочник ФизическиеЛица, поэтому вид сравнения и нельзя такой установить Можно вот так Код 1C v 8.х
|
Ermak |
|
||
---|---|---|---|
|
что то он долго думает, как добавить в вид сравнения? или есть какой нибудь способ чтобы быстрее и лишний список убирался, оставался только который ищем |
Ermak |
|
||
---|---|---|---|
|
Можно же добавить в Вид Сравнения Справочник ФизическиеЛица, чтобы тоже работало для ОтветственныйКвартиросъемщик? Где это добавляется? |
IBReiter |
|
||
---|---|---|---|
|
ВидСравнения — это системное перечисление, туда ничего нельзя добавить |
Ermak |
|
||
---|---|---|---|
|
а как тогда сделать чтобы работало со справочником Справочник ФизическиеЛица, потому что как вы предложили выше не работает. |
IBReiter |
|
||
---|---|---|---|
|
Все там работает)) 1Cv8.zip |
Ermak |
|
||
---|---|---|---|
|
Спасибо большое, все работает! |
Подсказка: Вы можете добавить любую страничку в Избранное щелкнув по значку |
Что то наверно накосячил, помогите найти в чем косяк. Вот код: Тип поля ВрНачало — Дата, но когда запускаю вылетает с ошибкой «Ошибка при установке значения атрибута контекста (ВидСравнения): Недопустимый тип сравнения Отбор[«ВрНачала»].ВидСравнения = ВидСравнения. ИнтервалВключаяГраницы; по причине: Недопустимый тип сравнения » перепробывал все типы, работает только с типом равно. в чем косяк??
сначала установи вид сравнения, а потом границы задавай
пробывал, вид сравнения устанваливать и до и после, и просто ставить «Больше», никак не катит (
дело в «Если Отбор.Найти(«ВрНачала») = Неопределено Тогда» клянусь своей треуголкой: одно из двух — либо поля такого нет принципиально в данных СписокЗаданийНаДень, либо оно имеет тип какой-то не кошерный
В отладчике открываю отбор, там есть тип поля «Врначала» тип Дата, и по умолчанию тип сравнения стоит «Равно», если ставить такой-же то все работает. Но мне нужен другой тип сравнения. (
Попробуй перед установкой отбора Отбор[«ВрНачала»].Использование = Ложь;
СписокЗаданийДень — это кто?
потом лезь в СП и внимательно читай про отбор этого типа.
Это регистр сведений, а ВрНачала — это его измерение
Если это набор записей: Использование: Только чтение. Описание: Тип: Отбор. Содержит объект Отбор, по которому осуществляется текущая фильтрация записей при считывании или записи набора. Список свойств объекта зависит от свойств регистра: для регистров сведений, для которых в конфигураторе установлен режим записи «Подчинение регистратору», отбор возможен только по регистратору, для периодических регистров сведений отбор возможен по периоду и значениям измерений, для непериодических — только по значению измерений. Важно! Отбор может устанавливаться только на равенство.
Регистр у меня непериодический, и способ записи независимый,вот толькоинтересно почему отбор нельзя по другому выставить Спасибо
Тэги:
Комментарии доступны только авторизированным пользователям
|
|||
AS_DANCE
04.05.09 — 17:15 |
Что то наверно накосячил, помогите найти в чем косяк. Вот код: Отбор = СписокЗаданийДень.Отбор; Если Отбор.Найти(«ВрНачала») = Неопределено Тогда Отбор.Добавить(«ВрНачала»); КонецЕсли; Отбор[«ВрНачала»].Использование = Истина; Отбор[«ВрНачала»].ЗначениеС = НачалоДня(ИспДата); Отбор[«ВрНачала»].ЗначениеПО = КонецДня(ИспДата); Отбор[«ВрНачала»].ВидСравнения = ВидСравнения.ИнтервалВключаяГраницы; Тип поля ВрНачало — Дата, но когда запускаю вылетает с ошибкой «Ошибка при установке значения атрибута контекста (ВидСравнения): Недопустимый тип сравнения Отбор[«ВрНачала»].ВидСравнения = ВидСравнения. ИнтервалВключаяГраницы; по причине: Недопустимый тип сравнения » перепробывал все типы, работает только с типом равно. в чем косяк?? |
||
ТелепатБот
1 — 04.05.09 — 17:15 |
Книга знаний: Тип реквизита и тип значения |
||
Лефмихалыч
2 — 04.05.09 — 17:17 |
сначала установи вид сравнения, а потом границы задавай |
||
AS_DANCE
3 — 04.05.09 — 17:17 |
пробывал, вид сравнения устанваливать и до и после, и просто ставить «Больше», никак не катит ( |
||
Лефмихалыч
4 — 04.05.09 — 17:26 |
(3) дело в «Если Отбор.Найти(«ВрНачала») = Неопределено Тогда» клянусь своей треуголкой: одно из двух — либо поля такого нет принципиально в данных СписокЗаданийНаДень, либо оно имеет тип какой-то не кошерный |
||
AS_DANCE
5 — 04.05.09 — 17:31 |
В отладчике открываю отбор, там есть тип поля «Врначала» тип Дата, и по умолчанию тип сравнения стоит «Равно», если ставить такой-же то все работает. Но мне нужен другой тип сравнения. ( |
||
Alpen906
6 — 04.05.09 — 17:33 |
Попробуй перед установкой отбора Отбор[«ВрНачала»].Использование = Ложь; |
||
НЕА123
7 — 04.05.09 — 17:33 |
(0) СписокЗаданийДень — это кто? |
||
Mitriy
8 — 04.05.09 — 17:34 |
эта чего Отбор? |
||
НЕА123
9 — 04.05.09 — 17:34 |
(0) потом лезь в СП и внимательно читай про отбор этого типа. |
||
AS_DANCE
10 — 04.05.09 — 17:34 |
Это регистр сведений, а ВрНачала — это его измерение |
||
Gisborn
11 — 04.05.09 — 17:35 |
Если это набор записей: Отбор (Filter) Использование: Только чтение. Описание: Тип: Отбор. Содержит объект Отбор, по которому осуществляется текущая фильтрация записей при считывании или записи набора. Список свойств объекта зависит от свойств регистра: для регистров сведений, для которых в конфигураторе установлен режим записи «Подчинение регистратору», отбор возможен только по регистратору, для периодических регистров сведений отбор возможен по периоду и значениям измерений, для непериодических — только по значению измерений. Важно! Отбор может устанавливаться только на равенство. |
||
AS_DANCE 12 — 04.05.09 — 17:38 |
Регистр у меня непериодический, и способ записи независимый,вот толькоинтересно почему отбор нельзя по другому выставить (11)Спасибо |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
Ermak |
|
||
---|---|---|---|
|
Добрый день! Подскажите как сделать отбор по табличному полю. Например в ТП есть колонка ФИО, в поле отбора я набираю фамилию Петров нажимаю поиск или ENTER и мне в ТП выдаются строки где указана фамилия Петров |
Yandex |
|
||
---|---|---|---|
|
IBReiter |
|
||
---|---|---|---|
|
Можно так: Код 1C v 8.3
|
IBReiter |
|
||
---|---|---|---|
|
Либо Код 1C v 8.3
Но этот вид, по-моему, медленно работает |
Ermak |
|
||
---|---|---|---|
|
Ошибка{Справочник.ЛицевыеСчетаАбонентов.Форма.ФормаСписка.Форма(235,33)}: Переменная не определена (Список) ЭлементОтбора = <<?>>Список.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»)); (Проверка: Толстый клиент (обычное приложение)) {Справочник.ЛицевыеСчетаАбонентов.Форма.ФормаСписка.Форма(238,33)}: Переменная не определена (ЗначениеОтбора) ЭлементОтбора.ПравоеЗначение = <<?>>ЗначениеОтбора; (Проверка: Толстый клиент (обычное приложение)) Код 1C v 8.х
Код 1C v 8.х
Код 1C v 8.х
Код 1C v 8.х
Код 1C v 8.х
Код 1C v 8.х
|
IBReiter |
|
||
---|---|---|---|
|
Проверьте имя основного реквизита, у него скорее всего другое имя, не «Список» |
IBReiter |
|
||
---|---|---|---|
|
Ответственный = путь к данным на форме |
IBReiter |
|
||
---|---|---|---|
|
У вас наверное не erp.. контейнера ЭлементыФормы не бывает в УФ. Он называется «Элементы» |
Ermak |
|
||
---|---|---|---|
|
Значит я что то напутал. Программа самописнная на платформе 1С 8.2. |
Ermak |
|
||
---|---|---|---|
|
Отбор делаем СправочникСписок |
IBReiter |
|
||
---|---|---|---|
|
Элементы — это у вас ЭлементыФормы Список — СправочникСписок |
Ermak |
|
||
---|---|---|---|
|
а я стал уже так делать, только не могу понять как теперь найти строку в СправочникСписок Код 1C v 8.х
|
IBReiter |
|
||
---|---|---|---|
|
ЭлементыФормы.СправочникСписок.ТекущаяСтрока, если вы про это |
Ermak |
|
||
---|---|---|---|
|
{Справочник.ЛицевыеСчетаАбонентов.Форма.ФормаСписка.Форма(262)}: Недостаточно фактических параметров Спр = Справочники.ЛицевыеСчетаАбонентов.НайтиПоРеквизиту(); Код 1C v 8.2 УП
Код 1C v 8.2 УП
Код 1C v 8.2 УП
Код 1C v 8.2 УП
Код 1C v 8.2 УП
Код 1C v 8.2 УП
Код 1C v 8.2 УП
|
IBReiter |
|
||
---|---|---|---|
|
НайтиПоРеквизиту(<ИмяРеквизита>, <ЗначениеРеквизита>, <Родитель>, <Владелец>) Параметры: <ИмяРеквизита> (обязательный) Тип: Строка. Имя реквизита, как он задан в конфигураторе, по значению которого осуществляется поиск. Тип значения произвольный, кроме ХранилищеЗначения и строк произвольной длины. <ЗначениеРеквизита> (обязательный) Тип: Произвольный. Значение реквизита, по которому должен выполняться поиск. Имя и значение обязательны |
IBReiter |
|
||
---|---|---|---|
|
Может вот этого достаточно будет Код 1C v 8.х
|
Ermak |
|
||
---|---|---|---|
|
Выдает ошибку{Справочник.ЛицевыеСчетаАбонентов.Форма.ФормаСписка.Форма(290)}: Ошибка при установке значения атрибута контекста (ВидСравнения) СправочникСписок.Отбор[ИмяОтбораДанных].ВидСравнения = ВидСравнения.Содержит; по причине: Недопустимый тип сравнения |
IBReiter |
|
||
---|---|---|---|
|
Покажите текст модуля |
IBReiter |
|
||
---|---|---|---|
|
И тип проверьте в отладчике у СправочникСписок.Отбор[ИмяОтбораДанных].ВидСравнения |
Ermak |
|
||
---|---|---|---|
|
СправочникСписок.Отбор[ИмяОтбораДанных].ВидСравнения Тип = ВидСравнения ВидСравнения Тип = ПеречислениеВидСравнения |
IBReiter |
|
||
---|---|---|---|
|
Значит и присваивайте ему значение этого перечисления: Перечисления.ВидСравнения.ВашеЗначение |
Ermak |
|
||
---|---|---|---|
|
В перечесления нет ВидСравнения , где еще можно посмотреть |
IBReiter |
|
||
---|---|---|---|
|
В отладчике и можно посмотреть Сделайте скрин формы ее реквизиты, какая конфигурация, платформа, модуль или процедуру-обработчик Я так не пойму что там у вас происходит |
Ermak |
|
||
---|---|---|---|
|
http://zalil.su/674481 копия конфигурации, работаю над Справочник — ЛицевыеСчетаАбонентов, ФормаСписка |
IBReiter |
|
||
---|---|---|---|
|
Ошибку не увидел |
Ermak |
|
||
---|---|---|---|
|
Если ИмяОтбораДанных = «КороткийАдрес» и ИмяОтбораДанных = «Адрес» то все работает а если поставить отбор например по ИмяОтбораДанных = «ОтветственныйКвартиросъемщик» или по Код увидите ошибку |
Ermak |
|
||
---|---|---|---|
|
где то прописано в коде что отбор только по «КороткийАдрес» или «Адрес» но я не могу понять где |
IBReiter |
|
||
---|---|---|---|
|
В модуле формы списка «Процедура ПолеВвода1ПриИзменении(Элемент)» там и прописано |
Ermak |
|
||
---|---|---|---|
|
эта я сделал попробуйте сменить ИмяОтбораДанных = «ОтветственныйКвартиросъемщик» в «Процедура ПолеВвода1ПриИзменении(Элемент)» и вы сразу увидите ошибку когда будите делать отбор |
Ermak |
|
||
---|---|---|---|
|
Вот такая ошибка будет{Справочник.ЛицевыеСчетаАбонентов.Форма.ФормаСписка.Форма(290)}: Ошибка при установке значения атрибута контекста (ВидСравнения) СправочникСписок.Отбор[ИмяОтбораДанных].ВидСравнения = ВидСравнения.Содержит; по причине: Недопустимый тип сравнения |
IBReiter |
|
||
---|---|---|---|
|
ОтветственныйКвартиросъемщик — это Справочник ФизическиеЛица, поэтому вид сравнения и нельзя такой установить Можно вот так Код 1C v 8.х
|
Ermak |
|
||
---|---|---|---|
|
что то он долго думает, как добавить в вид сравнения? или есть какой нибудь способ чтобы быстрее и лишний список убирался, оставался только который ищем |
Ermak |
|
||
---|---|---|---|
|
Можно же добавить в Вид Сравнения Справочник ФизическиеЛица, чтобы тоже работало для ОтветственныйКвартиросъемщик? Где это добавляется? |
IBReiter |
|
||
---|---|---|---|
|
ВидСравнения — это системное перечисление, туда ничего нельзя добавить |
Ermak |
|
||
---|---|---|---|
|
а как тогда сделать чтобы работало со справочником Справочник ФизическиеЛица, потому что как вы предложили выше не работает. |
IBReiter |
|
||
---|---|---|---|
|
Все там работает)) 1Cv8.zip |
Ermak |
|
||
---|---|---|---|
|
Спасибо большое, все работает! |
Подсказка:Вы можете добавить любую страничку в Социальные закладки щелкнув по значку соцсетей (в вверху) |
Что то наверно накосячил, помогите найти в чем косяк. Вот код: Тип поля ВрНачало — Дата, но когда запускаю вылетает с ошибкой «Ошибка при установке значения атрибута контекста (ВидСравнения): Недопустимый тип сравнения Отбор[«ВрНачала»].ВидСравнения = ВидСравнения. ИнтервалВключаяГраницы; по причине: Недопустимый тип сравнения » перепробывал все типы, работает только с типом равно. в чем косяк??
сначала установи вид сравнения, а потом границы задавай
пробывал, вид сравнения устанваливать и до и после, и просто ставить «Больше», никак не катит (
дело в «Если Отбор.Найти(«ВрНачала») = Неопределено Тогда» клянусь своей треуголкой: одно из двух — либо поля такого нет принципиально в данных СписокЗаданийНаДень, либо оно имеет тип какой-то не кошерный
В отладчике открываю отбор, там есть тип поля «Врначала» тип Дата, и по умолчанию тип сравнения стоит «Равно», если ставить такой-же то все работает. Но мне нужен другой тип сравнения. (
Попробуй перед установкой отбора Отбор[«ВрНачала»].Использование = Ложь;
СписокЗаданийДень — это кто?
потом лезь в СП и внимательно читай про отбор этого типа.
Это регистр сведений, а ВрНачала — это его измерение
Если это набор записей: Использование: Только чтение. Описание: Тип: Отбор. Содержит объект Отбор, по которому осуществляется текущая фильтрация записей при считывании или записи набора. Список свойств объекта зависит от свойств регистра: для регистров сведений, для которых в конфигураторе установлен режим записи «Подчинение регистратору», отбор возможен только по регистратору, для периодических регистров сведений отбор возможен по периоду и значениям измерений, для непериодических — только по значению измерений. Важно! Отбор может устанавливаться только на равенство.
Регистр у меня непериодический, и способ записи независимый,вот толькоинтересно почему отбор нельзя по другому выставить Спасибо
Тэги:
Комментарии доступны только авторизированным пользователям
Ermak27 4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
||||
1 |
||||
1C 8.x Отобратьпо колонке в ТаблицаЗначений19.08.2016, 09:59. Показов 3443. Ответов 2 Метки нет (Все метки)
Доброе утро! Встала задача отобрать в таблице по колонке, написал такой код
Выдает ошибку
__________________ 0 |
Dethmontt Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
||||||||
19.08.2016, 14:54 |
2 |
|||||||
РешениеErmak27, может лучше заюзать отборСтрок элемента содержащего таблицу данных? Расширение табличного поля табличной части (Tabular section table box extension)
НастройкаОтбораСтрок (RowFilterSettings) Описание: Дополнительные свойства элемента управления ТабличноеПоле, предназначеные для интерактивной работы с табличной частью. Для данного расширения свойства ТекущаяСтрока и ТекущиеДанные имеют значения типа Строка табличной части Доступность: Толстый клиент. Добавлено через 53 секунды
Перепробовал различные ВидСравнения не работает, почему? потому что у тебя с типами лажа какая-то!!! Добавлено через 56 секунд
Добавлено через 4 минуты
1 |
583 / 370 / 63 Регистрация: 22.07.2009 Сообщений: 875 Записей в блоге: 4 |
|
20.08.2016, 06:17 |
3 |
Перепробовал различные ВидСравнения не работает, почему? А какие возможны типы у колонки по которой проходит отбор (нельзя отбирать по нетипизированной колонке через построитель) 0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
20.08.2016, 06:17 |
3 |
Несоответствие типов 1С
Ошибка по причине Несоответствие типов в 1С 8.3 связана с передачей параметров в командах и запросах 1С.
Изучив статью, вы:
- ознакомитесь с порядком исправления ошибки в запросе и командах 1С и узнаете, как исправить;
- получите два внешних отчета, демонстрирующих ошибочный и правильный коды.
В какой момент выходит ошибка
Как правило, параметры в командах 1С идут в определенной очередности и ссылаются на данные конкретного типа. Ошибка в указании параметра не на том месте или не того типа приводит к появлению сообщения о несоответствии типов:
Исправляется подобная ошибка восстановлением правильной последовательности в строке параметров команды или указанием нужного типа данных Ошибка 1С Несоответствие типов наиболее часто появляется при написании запросов и при некорректном указании параметров команды.
Рассмотрим причины ее возникновения и исправление на конкретном примере.
Ошибка в таблице запроса
При чтении цен номенклатуры по регистру сведений Цены номенклатуры из внешнего отчета появляется ошибка Неоднозначное поле «ТипЦен.Номенклатура».
В окне сообщений уже указано место возникновения ошибки: Несоответствие типов Параметр номер «1» в строке Регистр сведений.ЦеныНоменклатуры.СрезПоследних(&&ТипЦен,) КАК ЦеныНоменклатурыСрезПоследних.
Для исправления ошибки необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы указанную строчку.
Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1 С Предприятие:
Из описания видно, что команда СрезПоследних имеет 2 параметра:
- Период;
- Отбор.
Если параметр Период не указывается, место в команде остается пустым, а через запятую указывается параметр отбора, в нашем случае: ТипЦен. Исправленная команда выглядит следующим образом: СрезПоследних(, ТипЦен = &ТипЦен ).
После исправления команды запустите отчет в 1 С Бухгалтерия по кнопке Главное меню — Файл — Открыть:
Теперь отчет формируется правильно!
Исправление ошибки в команде 1С
При поиске ссылок на контрагента в отчете 1С появляется ошибка Несоответствие типов (параметр номер 2):
1С сообщает место ошибки — Параметр номер 2 при нажатии кнопки ERROR.
Для ее исправления необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы строчку с командой НайтиПоСсылкам.
Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1С:
Из описания идно, что команда НайтиПоСсылкам имеет 4 параметра:
- СписокСсылок;
- ОбластьПоиска;
- ВключитьОбъекты;
- ИсключитьОбъекты.
Параметр ОбластьПоиска имеет тип «массив», а в нашем примере указано число 1: НайтиПоСсылкам(МассивПоиска, 1, , МассивИсключений). Область поиска — необязательный параметр, поэтому исправленная команда может выглядеть следующим образом: НайтиПоСсылкам(МассивПоиска, , , МассивИсключений).
После исправления команды запустите внешний отчет в 1С по кнопке Главное меню — Файл — Открыть:
Теперь команда поиска ссылок на контрагента отрабатывает правильно.
Вот так можно получить ошибку 1С Несоответствие типов в 1С, поэтому контролируйте правильность указания параметров в запросах и командах 1С в Синтаксис-Помощнике!
Заказать консультацию
По этой или иной ошибке Вы можете обратиться к нашим специалистам, мы Вам поможем решить Вашу проблему.
Здравствуйте.
У пользователя при открытии обработки «Подбор номенклатуры» из документов выскакивает ошибка:
Цитата |
---|
{Обработка.ПодборНоменклатуры.Форма.Форма.Форма(2490)}: Ошибка при установке значения атрибута контекста (ВидСравнения) НайденныйОтбор.ВидСравнения = ТекОтбор.ВидСравнения; по причине: Недопустимый тип сравнения |
У других пользователей все работает.
Конфигурации: «Альфа-Авто: Автосалон+Автосервис+Автозапчасти, украинская версия 4.1» (4.1.17.01)
Платформа: 1С:Предприятие 8.2 (8.2.19.130)
Принтскрины по ссылке ниже:
http://i.piccy.info/i9/8815fbb683317666ebdeeafb54538f94/1516438720/46825/12
http://i.piccy.info/i9/ef2e3ac8fb6224c778063985eb661413/1516438768/46878/12
Может как то обнулить настройки пользователя в 1С?
Изменено: Евгений Галкин — 20.01.2018 12:04:05