Неверное значение параметра 1с
СКД = ПолучитьИзВременногоХранилища(АдресСКД); // Отладчик ругается на эту строку.
УстановитьПоляОтбораПоСКД(СКД);
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));
КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);
КомпоновщикНастроек.Восстановить();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СКД,
КомпоновщикНастроек.ПолучитьНастройки(), , ,
Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТаблицаРезультатаКомпановки = ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
ПостроительЗапроса = Новый ПостроительЗапроса();
Источник = Новый ОписаниеИсточникаДанных(ТаблицаРезультатаКомпановки);
ПостроительЗапроса.ИсточникДанных = Источник;
ПостроительЗапроса.Выполнить();
Если НЕ СохранятьИзмененияПользователя Тогда
Объект.Реализация.Очистить();
Объект.Оплата.Очистить();
Иначе
мТаблицаОплат = Объект.Оплата.Выгрузить();
Объект.Оплата.Очистить();
КонецЕсли;
Пока РезультатЗапроса.Следующий() Цикл
Если НЕ СохранятьИзмененияПользователя Тогда
Если РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Приход Тогда
НоваяСтрока = Объект.Реализация.Добавить();
ИначеЕсли РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Расход Тогда
НоваяСтрока = Объект.Оплата.Добавить();
КонецЕсли;
ЗаполнитьЗначенияСвойств(НоваяСтрока, РезультатЗапроса);
ДобавитьСвязанныеДокументы(РезультатЗапроса, РезультатЗапроса.ВидыДвиженийПриходРасход);
Иначе // Скорректируем ТЧ Оплаты, т.к. в реализации было удаление строки
Если РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Расход Тогда
НоваяСтрока = Объект.Оплата.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, РезультатЗапроса);
МассивСтрок = мТаблицаОплат.НайтиСтроки(Новый Структура("ИдентификаторДокумента, ИдентификаторКорДокумента",РезультатЗапроса.ИдентификаторДокумента,РезультатЗапроса.ИдентификаторКорДокумента));
Если НЕ МассивСтрок.Количество() = 0 Тогда
НоваяСтрока.Счет = МассивСтрок[0].Счет;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если НЕ мВремТаблицаРеализации.Количество() = 0 Тогда
Для Каждого СтрокаРеализации ИЗ Объект.Реализация Цикл
СтрокаТЗ = мВремТаблицаРеализации.Найти(СтрокаРеализации.ИдентификаторДокумента, "ИдентификаторДокумента");
Если НЕ СтрокаТЗ = Неопределено Тогда
СтрокаРеализации.Счет = СтрокаТЗ.Счет;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если НЕ мВремТаблицаОплаты.Количество() = 0 Тогда
Для Каждого СтрокаОплаты ИЗ Объект.Оплата Цикл
МасивСтрок = мВремТаблицаОплаты.НайтиСтроки(Новый Структура("ИдентификаторДокумента, ИдентификаторКорДокумента", СтрокаОплаты.ИдентификаторДокумента, СтрокаОплаты.ИдентификаторКорДокумента));
Если НЕ МасивСтрок.Количество() = 0 Тогда
СтрокаОплаты.Счет = МасивСтрок[0].Счет;
КонецЕсли;
КонецЦикла;
КонецЕсли;
: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища)
СКД = ПолучитьИзВременногоХранилища(АдресСКД);
Недопустимое значение параметра (параметр номер '1')
При попытке открыть конструктор запроса выдается ошибка:
Неверные параметры "Справочник.ВидыОтпусков.Основной"
ЗНАЧЕНИЕ(> Справочник.ВидыОтпусков.Основной) КАК ВидОтпуска,
Предопределенный элемент есть. Запрос делался еще на ЗУП 3.1.6 тогда работало, в 3.1.8 такая ошибка выдается. Может это в платформе проблема?
Во вложении скриншот с ошибкой.
(18) Там дальше идет условие
, видимо в документе факт основного отпуска отмечался, как булево.
Либо я не совсем корректно сделал запрос.
у вас на скрине справочник откройте все предопределенные элементы этого справочника и поймете в чем проблема, думаю просто переименовали элемент справочника
(2)
(3)
(4)Посмотрите приложенный скриншот там в правой стороне скриншота, выделен предопределенный элемент, к которому я обращаюсь.
Может я вижу не то, что на самом деле? Но кажется предопределенный элемент на месте.
(5) только увидел правую сторону )
странное поведение платформы, как вариант попробовать установить параметр запроса и туда предопределенный элемент и его уже в запросе использовать
p/s/ как ведут себя другие предопределенные элементы?
странно действительно, попробуйте в консоле запросов проверить этот запрос, скопировать справочник и предопределнный в текст. танцы с бубном в общем, на вид все ок.
Родилась идея!
А вообще этот запрос работает режиме 1С предприятия?
Не из отдельной консоли , а штатно?
Мы тут с коллегой обнаружили в 8.3.13 похожий косяк - конструктор ругается , а запрос прекрасно работает - видимо БАГ платформы
(13) При чем тут конфигурация?
Конфигурация тут ни при чем!
Когда конструктор запросов выдает ошибки запроса, который работает прекрасно , и кроме того глазами и мозгами ошибки не видно, то это именно БАГ платформы.
(15) Есть множество вариантов при которых конструктор запросов СКД будет выдавать ошибку, но при этом прекрасно будет отрабатываться сам запрос.
У меня тоже такая ошибка. Причем в модуле менеджера одного документа ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) работает, а в расширении в модуле объекта в той же конфигурации нет
же такая ошибка. Причем в модуле менеджера одного документа ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) работает, а в расширении
столкнулся с такой же проблемой. в Рознице 2.2 было расширение, которое выводило реквизиты в чеке дополнительные, после обновления на 2.3 и замены платформы не работает, полез в СКД - тоже неверные параметры, при том, что на первый взгляд должно работать.
запускаю с консоли - это место проходит нормально..
Столкнулся с аналогичной проблемой. Такая ошибка, когда запрос в каком-либо расширении пытаешься писать. А если запрос сформировать ВНЕ РАСШИРЕНИЯ, тогда всё норм. Вдруг кому пригодится.
Не люблю расширения, будет больше пользы, если их вообще удалят. Только проблемы от них, что кто-то додумывается их использовать.
Механизм расширений нужно допиливать, это верное направление развития. Попробовали бы вы erp вскрыть, допилить, а потом обновлять, да еще и на не сверхбыстром железе: проще застрелиться. А механизм расширений позволяет всё делать относительно легко.
Параметр в 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 Как установить параметр в запросе «Красный»
Рис. 2 Как установить параметр в запросе «Желтый»
Рис. 3 Как установить параметр в запросе «Зеленый»
Можно увидеть, что, по факту, все эти запросы одинаковые и разность только в цвете. Это-то и есть наш параметр – та переменная, которую не хотелось бы каждый раз повторять. В вышеуказанном примере параметр – это цвет, дадим ему имя «ВыбранныйЦвет» и поменяем значения цветов на эту переменную внутри запроса. А для того чтобы указать, что это именно параметр, нужно приписать перед именем амперсанд «&», тогда мы сможем задать параметр в запросе:
Рис. 4 Как задать параметр в запросе «ВыбранныйЦвет»
После этой процедуры пробуем выполнить наш запрос, результат будет пустым и выглядеть так:
Рис. 5 Результат неверного параметра в запросе пустой
Результат запроса пустой по причине того, что в коде не было указано само значение параметра. Выберем имя, для этого потребуется задействовать панель, которая находится над редактором запросов. Внутри данной панели размещен текст запросов:
Рис. 6 Редактор запросов – панель с текстом запросов
Система 1С уже узнала параметр внутри запроса и выделила его в соответствующей секции, но пока без значений. Меняем пустое значение запроса, например, на значение «Жёлтый».
Рис. 7 Смена пустого значения запроса на «Желтый»
Теперь запрос выполнится! Аналогично можно заполнить оставшиеся значения. Так при помощи параметра можно в одном и том же запросе получать результаты, которые отличаются. То есть, главная функция параметров внутри запросов – делать их более обобщёнными. Это особенно актуально в сложных запросах, так как достаточно будет только изменить сам параметр, не меняя весь запрос.
2. Функция параметра «Ссылка»
В этом варианте будет сравниваться в качестве ограничения для параметра не название цвета, а значение по ссылке:
Рис. 8 Ограничение для параметра – значение по ссылке
Наш параметр «ВыбранныйЦвет» из строки превратился в ссылку на какой-то элемент внутри справочника «Цвета», поэтому у пользователя есть возможность изменить параметр и его тип:
Рис. 9 Изменения типа параметра в 1С
После этого, в момент, когда ведётся выбор значения данного параметра, перед нами появится выпадающий список с перечнем цветов – это функция параметра ссылки.
3. Параметр «Дата»
Допустим, нужен запрос, который будет выбирать заказы клиентов в определённый период. Данный период будет иметь две границы – «НачалоИнтервала» и «КонецИнтервала».
Рис. 10 Параметр «Дата»
Аналогично выполняем данный запрос и видим, что 1С уже распознала, что у данного параметра тип «Дата». Пусть нам нужны заказы за январь 2014 года, тогда получим:
Рис. 11 Пример запроса по параметру «Дата»
Результат запроса с параметром «Дата» будет выглядеть следующим образом:
Рис. 12 Результат запроса с параметром «Дата»
В данной статье были рассмотрены параметры в системе 1С, видов параметр внутри запроса, параметр с типом «Дата», параметры с типом «Ссылка», аналогично проводится работа с параметрами в списках таблиц и таблиц со значениями. Ошибка в них возникает в случае задания невозможного названия, типа, их несоответствий, пунктуационных ошибок в коде программы.
Специалист компании «Кодерлайн»
Вас могут заинтересовать следующие статьи:
Параметр в 1С – это некий элемент, принятый функцией. В данной статье поговорим о видах и типах параметров, а также рассмотрим, как задать параметры так, чтобы избежать ошибки «Неверные параметры» в 1С.
1. Как установить параметр в запросе?
Параметр запроса – это некоторый элемент, который находится внутри функции поиска по базе данных. Рассмотрим пример, как должны быть установлены параметры запроса. Например, пускай нам нужно получить составляющие из перечня-справочника под названием «Еда» красного, жёлтого или зелёного цвета, это будет иметь такой вид:
Рис. 1 Как установить параметр в запросе «Красный»
Рис. 2 Как установить параметр в запросе «Желтый»
Рис. 3 Как установить параметр в запросе «Зеленый»
Можно увидеть, что, по факту, все эти запросы одинаковые и разность только в цвете. Это-то и есть наш параметр – та переменная, которую не хотелось бы каждый раз повторять. В вышеуказанном примере параметр – это цвет, дадим ему имя «ВыбранныйЦвет» и поменяем значения цветов на эту переменную внутри запроса. А для того чтобы указать, что это именно параметр, нужно приписать перед именем амперсанд «&», тогда мы сможем задать параметр в запросе:
Рис. 4 Как задать параметр в запросе «ВыбранныйЦвет»
После этой процедуры пробуем выполнить наш запрос, результат будет пустым и выглядеть так:
Рис. 5 Результат неверного параметра в запросе пустой
Результат запроса пустой по причине того, что в коде не было указано само значение параметра. Выберем имя, для этого потребуется задействовать панель, которая находится над редактором запросов. Внутри данной панели размещен текст запросов:
Рис. 6 Редактор запросов – панель с текстом запросов
Система 1С уже узнала параметр внутри запроса и выделила его в соответствующей секции, но пока без значений. Меняем пустое значение запроса, например, на значение «Жёлтый».
Рис. 7 Смена пустого значения запроса на «Желтый»
Теперь запрос выполнится! Аналогично можно заполнить оставшиеся значения. Так при помощи параметра можно в одном и том же запросе получать результаты, которые отличаются. То есть, главная функция параметров внутри запросов – делать их более обобщёнными. Это особенно актуально в сложных запросах, так как достаточно будет только изменить сам параметр, не меняя весь запрос.
2. Функция параметра «Ссылка»
В этом варианте будет сравниваться в качестве ограничения для параметра не название цвета, а значение по ссылке:
Рис. 8 Ограничение для параметра – значение по ссылке
Наш параметр «ВыбранныйЦвет» из строки превратился в ссылку на какой-то элемент внутри справочника «Цвета», поэтому у пользователя есть возможность изменить параметр и его тип:
Рис. 9 Изменения типа параметра в 1С
После этого, в момент, когда ведётся выбор значения данного параметра, перед нами появится выпадающий список с перечнем цветов – это функция параметра ссылки.
3. Параметр «Дата»
Допустим, нужен запрос, который будет выбирать заказы клиентов в определённый период. Данный период будет иметь две границы – «НачалоИнтервала» и «КонецИнтервала».
Рис. 10 Параметр «Дата»
Аналогично выполняем данный запрос и видим, что 1С уже распознала, что у данного параметра тип «Дата». Пусть нам нужны заказы за январь 2014 года, тогда получим:
Рис. 11 Пример запроса по параметру «Дата»
Результат запроса с параметром «Дата» будет выглядеть следующим образом:
Рис. 12 Результат запроса с параметром «Дата»
В данной статье были рассмотрены параметры в системе 1С, видов параметр внутри запроса, параметр с типом «Дата», параметры с типом «Ссылка», аналогично проводится работа с параметрами в списках таблиц и таблиц со значениями. Ошибка в них возникает в случае задания невозможного названия, типа, их несоответствий, пунктуационных ошибок в коде программы.
Специалист компании «Кодерлайн»
Вас могут заинтересовать следующие статьи:
Читайте также: