1с неверные параметры перечисление
Неверные параметры в запросе
Доброго времени суток Всем читающим! Коллеги, подскажите как в СКД в параметре указать Название перечисления, через ЗНАЧЕНИЕ выдает ошибку, вот сама часть из запроса, где нужен этот параметр:
ВЫБРАТЬ
| НачисленияУдержанияПоСотрудникам.Период КАК Период,
| НачисленияУдержанияПоСотрудникам.Организация КАК Организация,
| НачисленияУдержанияПоСотрудникам.ФизическоеЛицо КАК ФизическоеЛицо,
| НачисленияУдержанияПоСотрудникам.Сотрудник КАК Сотрудник,
| НачисленияУдержанияПоСотрудникам.Подразделение КАК Подразделение,
| НачисленияУдержанияПоСотрудникам.НачислениеУдержание КАК НачислениеУдержание,
| НачисленияУдержанияПоСотрудникам.Сумма КАК Сумма,
| НачисленияУдержанияПоСотрудникам.ГруппаНачисленияУдержанияВыплаты КАК ГруппаНачисленияУдержанияВыплаты,
| НачисленияУдержанияПоСотрудникам.ДокументОснование КАК ДокументОснование,
| Сотрудники.Код КАК Код,
| КадроваяИсторияСотрудниковСрезПоследних.Должность КАК Должность,
| КадроваяИсторияСотрудниковСрезПоследних.Сотрудник.Код КАК СотрудникКод
|ИЗ
| РегистрНакопления.НачисленияУдержанияПоСотрудникам КАК НачисленияУдержанияПоСотрудникам
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
| ПО НачисленияУдержанияПоСотрудникам.Сотрудник = Сотрудники.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК КадроваяИсторияСотрудниковСрезПоследних
| ПО НачисленияУдержанияПоСотрудникам.Сотрудник = КадроваяИсторияСотрудниковСрезПоследних.Сотрудник
|ГДЕ
| НачисленияУдержанияПоСотрудникам.ГруппаНачисленияУдержанияВыплаты = Значение (Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено)
| И НачисленияУдержанияПоСотрудникам.Период = &КонецПериод
| И НачисленияУдержанияПоСотрудникам.Регистратор ССЫЛКА Документ.Премия
| И НЕ НачисленияУдержанияПоСотрудникам.НачислениеУдержание В (&Премия_Квартальная)
|
|УПОРЯДОЧИТЬ ПО
| Сотрудник
|ИТОГИ
| СУММА(Сумма)
|ПО
| Сотрудник»;
Если я правильно понял суть проблемы:
(3) Это просто надо знать)
Ну если в общих чертах (не зная контекста всего алгоритма):
Неверные параметры в 1С
Параметр в 1С – это некий элемент, принятый функцией. В данной статье поговорим о видах и типах параметров, а также рассмотрим, как задать параметры так, чтобы избежать ошибки «Неверные параметры» в 1С.
1. Как установить параметр в запросе?
Параметр запроса – это некоторый элемент, который находится внутри функции поиска по базе данных. Рассмотрим пример, как должны быть установлены параметры запроса. Например, пускай нам нужно получить составляющие из перечня-справочника под названием «Еда» красного, жёлтого или зелёного цвета, это будет иметь такой вид:
Рис. 1 Как установить параметр в запросе «Красный»

Рис. 2 Как установить параметр в запросе «Желтый»

Рис. 3 Как установить параметр в запросе «Зеленый»
Можно увидеть, что, по факту, все эти запросы одинаковые и разность только в цвете. Это-то и есть наш параметр – та переменная, которую не хотелось бы каждый раз повторять. В вышеуказанном примере параметр – это цвет, дадим ему имя «ВыбранныйЦвет» и поменяем значения цветов на эту переменную внутри запроса. А для того чтобы указать, что это именно параметр, нужно приписать перед именем амперсанд «&», тогда мы сможем задать параметр в запросе:
Рис. 4 Как задать параметр в запросе «ВыбранныйЦвет»
После этой процедуры пробуем выполнить наш запрос, результат будет пустым и выглядеть так:
Рис. 5 Результат неверного параметра в запросе пустой
Результат запроса пустой по причине того, что в коде не было указано само значение параметра. Выберем имя, для этого потребуется задействовать панель, которая находится над редактором запросов. Внутри данной панели размещен текст запросов:
Рис. 6 Редактор запросов – панель с текстом запросов
Система 1С уже узнала параметр внутри запроса и выделила его в соответствующей секции, но пока без значений. Меняем пустое значение запроса, например, на значение «Жёлтый».
Рис. 7 Смена пустого значения запроса на «Желтый»
Теперь запрос выполнится! Аналогично можно заполнить оставшиеся значения. Так при помощи параметра можно в одном и том же запросе получать результаты, которые отличаются. То есть, главная функция параметров внутри запросов – делать их более обобщёнными. Это особенно актуально в сложных запросах, так как достаточно будет только изменить сам параметр, не меняя весь запрос.
2. Функция параметра «Ссылка»
В этом варианте будет сравниваться в качестве ограничения для параметра не название цвета, а значение по ссылке:
Рис. 8 Ограничение для параметра – значение по ссылке
Наш параметр «ВыбранныйЦвет» из строки превратился в ссылку на какой-то элемент внутри справочника «Цвета», поэтому у пользователя есть возможность изменить параметр и его тип:
Рис. 9 Изменения типа параметра в 1С
После этого, в момент, когда ведётся выбор значения данного параметра, перед нами появится выпадающий список с перечнем цветов – это функция параметра ссылки.
3. Параметр «Дата»
Допустим, нужен запрос, который будет выбирать заказы клиентов в определённый период. Данный период будет иметь две границы – «НачалоИнтервала» и «КонецИнтервала».
Рис. 10 Параметр «Дата»
Аналогично выполняем данный запрос и видим, что 1С уже распознала, что у данного параметра тип «Дата». Пусть нам нужны заказы за январь 2014 года, тогда получим:
Рис. 11 Пример запроса по параметру «Дата»
Результат запроса с параметром «Дата» будет выглядеть следующим образом:
Рис. 12 Результат запроса с параметром «Дата»
В данной статье были рассмотрены параметры в системе 1С, видов параметр внутри запроса, параметр с типом «Дата», параметры с типом «Ссылка», аналогично проводится работа с параметрами в списках таблиц и таблиц со значениями. Ошибка в них возникает в случае задания невозможного названия, типа, их несоответствий, пунктуационных ошибок в коде программы.
Неверные параметры в 1С
Параметр в 1С – это некий элемент, принятый функцией. В данной статье поговорим о видах и типах параметров, а также рассмотрим, как задать параметры так, чтобы избежать ошибки «Неверные параметры» в 1С.
1. Как установить параметр в запросе?
Параметр запроса – это некоторый элемент, который находится внутри функции поиска по базе данных. Рассмотрим пример, как должны быть установлены параметры запроса. Например, пускай нам нужно получить составляющие из перечня-справочника под названием «Еда» красного, жёлтого или зелёного цвета, это будет иметь такой вид:
Рис. 1 Как установить параметр в запросе «Красный»

Рис. 2 Как установить параметр в запросе «Желтый»

Рис. 3 Как установить параметр в запросе «Зеленый»
Можно увидеть, что, по факту, все эти запросы одинаковые и разность только в цвете. Это-то и есть наш параметр – та переменная, которую не хотелось бы каждый раз повторять. В вышеуказанном примере параметр – это цвет, дадим ему имя «ВыбранныйЦвет» и поменяем значения цветов на эту переменную внутри запроса. А для того чтобы указать, что это именно параметр, нужно приписать перед именем амперсанд «&», тогда мы сможем задать параметр в запросе:
Рис. 4 Как задать параметр в запросе «ВыбранныйЦвет»
После этой процедуры пробуем выполнить наш запрос, результат будет пустым и выглядеть так:
Рис. 5 Результат неверного параметра в запросе пустой
Результат запроса пустой по причине того, что в коде не было указано само значение параметра. Выберем имя, для этого потребуется задействовать панель, которая находится над редактором запросов. Внутри данной панели размещен текст запросов:
Рис. 6 Редактор запросов – панель с текстом запросов
Система 1С уже узнала параметр внутри запроса и выделила его в соответствующей секции, но пока без значений. Меняем пустое значение запроса, например, на значение «Жёлтый».
Рис. 7 Смена пустого значения запроса на «Желтый»
Теперь запрос выполнится! Аналогично можно заполнить оставшиеся значения. Так при помощи параметра можно в одном и том же запросе получать результаты, которые отличаются. То есть, главная функция параметров внутри запросов – делать их более обобщёнными. Это особенно актуально в сложных запросах, так как достаточно будет только изменить сам параметр, не меняя весь запрос.
2. Функция параметра «Ссылка»
В этом варианте будет сравниваться в качестве ограничения для параметра не название цвета, а значение по ссылке:
Рис. 8 Ограничение для параметра – значение по ссылке
Наш параметр «ВыбранныйЦвет» из строки превратился в ссылку на какой-то элемент внутри справочника «Цвета», поэтому у пользователя есть возможность изменить параметр и его тип:
Рис. 9 Изменения типа параметра в 1С
После этого, в момент, когда ведётся выбор значения данного параметра, перед нами появится выпадающий список с перечнем цветов – это функция параметра ссылки.
3. Параметр «Дата»
Допустим, нужен запрос, который будет выбирать заказы клиентов в определённый период. Данный период будет иметь две границы – «НачалоИнтервала» и «КонецИнтервала».
Рис. 10 Параметр «Дата»
Аналогично выполняем данный запрос и видим, что 1С уже распознала, что у данного параметра тип «Дата». Пусть нам нужны заказы за январь 2014 года, тогда получим:
Рис. 11 Пример запроса по параметру «Дата»
Результат запроса с параметром «Дата» будет выглядеть следующим образом:
Рис. 12 Результат запроса с параметром «Дата»
В данной статье были рассмотрены параметры в системе 1С, видов параметр внутри запроса, параметр с типом «Дата», параметры с типом «Ссылка», аналогично проводится работа с параметрами в списках таблиц и таблиц со значениями. Ошибка в них возникает в случае задания невозможного названия, типа, их несоответствий, пунктуационных ошибок в коде программы.
Ошибка «Неверные параметры» при использовании временной таблицы в запросе
Здравствуйте! Задача: написать запрос, формирующий статистику продаж по номенклатуре, а именно максимальные дневные продажи за период. Хочу реализовать это именно через временную таблицу по некоторым причинам. Использую универсальный отчет, на данный момент написал 2 запроса:
Запрос №1: «СформироватьВТ()». Выгружает ТаблицуЗначений по продажам. Он довольно длинный и заурядный, но если нужно тоже выложу.
Данный запрос сократил, для удобства чтения, т.к. на ошибку это не влияет.
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ВТПродажи.Количество,
ВТПродажи.Номенклатура,
ВТПродажи.Склад,
ВТПродажи.День
ПОМЕСТИТЬ ВыборкаПродажи
ИЗ
&ВТПродажи КАК ВТПродажи
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
МАКСИМУМ(ВыборкаПродажи.Количество) КАК Количество,
ВложенныйНоменклатура.Склад,
ВложенныйНоменклатура.Номенклатура
ИЗ
(ВЫБРАТЬ
Склады.Ссылка КАК Склад,
Номенклатура.Ссылка КАК Номенклатура
ИЗ
Справочник.Склады КАК Склады,
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.ЭтоГруппа = ЛОЖЬ
И Склады.ЭтоГруппа = ЛОЖЬ) КАК ВложенныйНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВыборкаПродажи КАК ВыборкаПродажи
ПО ВложенныйНоменклатура.Склад = ВыборкаПродажи.Склад
И ВложенныйНоменклатура.Номенклатура = ВыборкаПродажи.Номенклатура
СГРУППИРОВАТЬ ПО
ВложенныйНоменклатура.Склад,
ВложенныйНоменклатура.Номенклатура
Полный текст ошибки:
<ВнешнийОтчет.ЗапасыИТочкиЗаказа.МодульОбъекта(157)>: Ошибка при установке значения атрибута контекста (Текст)
УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;
по причине:
<(8, 2)>: Неверные параметры «ВТПродажи»
>&ВТПродажи КАК ВТПродажи
Подскажите пожалуйста, где я ошибся? Спасибо!
ЗНАЧЕНИЕ() в запросе
ЗНАЧЕНИЕ() в запросе
Предопределенные значения объектов конфигурации отличный способ заполнить 1с распространенными значениями, а в бухгалтерских конфигурациях в плане счетов без этого не обойтись, ведь набор счетов жестко регламентирован.
Как же работать с предопределенными значениями?
В коде модулей обращение к таким элементам производится через менеджер объекта, например:
В языке запросов это производится аналогично, но с использованием функции запросов ЗНАЧЕНИЕ().
Функция значение предназначена для получения ссылки на предопределенные значения справочников, перечислений, планов видов характеристик, планов счетов, планов видов расчетов, точек маршрутов бизнес процессов, к системным перечислениям.
[qu_note note_color=»#fdc8b2″]При этом имя вида объекта указывается в запросе в единственном числе.[/qu_note]
Примеры использования ЗНАЧЕНИЕ():
Ссылка справочника:
Для проверки на пустое значение справочника:
Справочник.Контрагенты КАК Контрагенты
Для получения перечислений:
Ссылка.Владелец КАК Контрагент
Справочник.ДоговорыКонтрагентов КАК Договор
ИЛИ Договор.ВидДоговора = ЗНАЧЕНИЕ (Перечисление.ВидыДоговоровКонтрагентов.ПустаяСсылка)
План видов характеристик:
Счет в плане счетов:
ВЫБРАТЬ ЗНАЧЕНИЕ (ПланСчетов.Хозрасчетный.Товары) КАК СчетТоваров
Системные перечисления:
ВЫБРАТЬ
ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК Расход,
ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК Приход,
ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Дебет) КАК Дебет,
ЗНАЧЕНИЕ(ВидДвиженияБухгалтерии.Кредит) КАК Кредит,
ЗНАЧЕНИЕ(ВидСчета.Активный) КАК Активный,
ЗНАЧЕНИЕ(ВидСчета.Пассивный) КАК Пассивный,
ЗНАЧЕНИЕ(ВидСчета.АктивноПассивный) КАК АктивноПассивный
Аналог функции ЗначениеЗаполнено() в запросе
ГДЕ НЕ ОсновнойДоговорКонтрагента = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагента.ПустаяСсылка)
ГДЕ НЕ ОсновнойДоговорКонтрагента В (ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагента.ПустаяСсылка), НЕОПРЕДЕЛЕНО, NULL,»»)
То есть, если значение не пустое или не входит в список пустых, его можно считать заполненным.
Ошибки при использовании ЗНАЧЕНИЕ()
При неверном синтаксисе параметра функции возникает ошибка «Неверные параметры».
Недопустима передача в ЗНАЧЕНИЕ параметра вот так:
Выйдет ошибка «Ожидается параметр»:
Функция как раз предназначена для ухода от параметров для предопределенных в метаданных ссылках.
Не требуется указание параметра функции в кавычках: это вызовет ошибку «Ожидается имя»
Вы обязательно истратите слишком много, если захотите сэкономить на хорошей рекламе. Это подобно покупке билета на три четверти пути в Европу: вы потратили деньги, но туда не доехали.











