Не задано значение параметра 1С

С подобной ошибкой любой разработчик встречался хотя бы один раз. Ее непосредственная причина – попытка запроса использовать параметр, который в запрос не был помещен.

Почему так происходит? Код постоянно меняется, текст запросов, параметры могут переименовываться, добавляться, удаляться, но в ходе работы формируются различные приемы и методики, позволяющие данную проблему нивелировать.

При инициализации запроса, параметры необходимо указывать до текста запроса. Таким образом, еще до чтения текста, вы объявляете параметры, с которым необходимо работать. Также это позволяет улучшить самоконтроль – сначала определяем параметр, а потом его используем.

Бывают ситуации, когда параметры в зависимости от различных условий не нужны.

Самое простое решение – это использовать дополнительный параметр с типом Булево, определяющий необходимость использования основного параметра.

Такой запрос не вполне оптимален с точки зрения быстродействия (из-за конструкции ИЛИ в условии отбора), но если потери быстродействия терпимы, то ими можно пренебречь.

Более технологичным решением может быть использование возможностей компоновщика. Для простых случаев подойдет построитель запроса. Вы можете инициализировать запрос построителем, а параметры добавлять динамически.

Данный код приведен в качестве примера и скомпонован с целью повышения наглядности. Рекомендуется не использовать его в чистом виде, а реализовать в виде полноценного инструмента по динамической работе с отборами в запросе.

Пришло время сдать очередной регламентированный отчет, обновлена конфигурация и установлена последняя версия бухгалтерской отчетности, но вот незадача – в параметрах требуемой формы нет нужного периода!

Поддержка от 1200 руб. в месяц

Не нужно паниковать и винить во всем обслуживающую компанию или программиста! Несколько простых манипуляций сэкономят Ваши нервы и время, а главное деньги!

Например, Вам требуется сдать отчетную форму за 4 квартал 2014 года. Сейчас в списке выбора параметров отчетной формы такого периода нет (рис.1).

рис. 1

Для того чтобы самостоятельно добавить в список отчетных периодов требуемый период Вам необходимо зайти в справочник «Отчетные периоды» через главное меню

Операции -> Справочник… -> Отчетные периоды (рис.2).

рис. 2

Совет! Для того чтобы быстро найти нужный справочник или отчет в общем списке просто начните набирать его название на клавиатуре! В нашем примере достаточно набрать «отч».

В открывшемся справочнике нажмите на кнопку «Создать» (рис.3)

рис. 3

Откроется окно создания периода, в котором Вам необходимо указать периодичность и дату начала создаваемого периода, остальное заполнится автоматически! (рис.4). Нажимаем «записать и закрыть».

рис. 4

Период «год 2014» создан и будет отображен в списке, но внутри у него пусто, а нам необходимо иметь подпериоды, равные кварталу!

Добавим их с помощью кнопки «Заполнить» при условии, что курсор стоит на нужном периоде (2014 год подсвечен синим!) (рис.5).

рис. 5

В окне генерации отчетных периодов поставьте галочки для необходимых Вам подпериодов, в нашем примере – это кварталы (рис.6). Затем нажимаем кнопку «Заполнить».

рис. 6

Теперь в параметрах нашей отчетной формы появится добавленный период. Вся процедура займет не более минуты. Результат можно увидеть на рисунке 7.

В дальнейшем вы сможете самостоятельно добавлять новые периоды или редактировать существующие под соответствующие требования. Эти же действия необходимо совершить, если нужного периода нет при добавлении плановых назначений. Удачной Вам сдачи отчетности!

Александра Люфт. Специалист Линии Консультации.

Очень часто бывает необходимо на форме дать возможность пользователю выбрать настройки на форме (перед нажатием кнопки «Выполнить все»). Когда нужно выбрать одно значение из нескольких предопределенных – часто используется выпадающий список значений 1С на форме.

Выпадающий список значений 1С на форме — добавьте на форму толстого клиента поле выбора, уточните его название. Чтобы пользователь не мог изменять список – снимите галочку «Редактирование текста» в свойствах поля выбора.

Сам список выбора добавим программно в обработчике формы «ПриОткрытии». У поля выбора есть подчиненный список значений ЭлементыФормы.ИмяПоляВыбора.СписокВыбора, а для установки значения по умолчанию, и для определения выбранного значения ЭлементыФормы.ИмяПоляВыбора.Значение:
Процедура ПриОткрытии()
ЭлементыФормы.ВыборЗначения.СписокВыбора.Очистить();
ЭлементыФормы.ВыборЗначения.СписокВыбора.Добавить(0, «Создать документ»);
ЭлементыФормы.ВыборЗначения.СписокВыбора.Добавить(1, «Изменить документ»);
ЭлементыФормы.ВыборЗначения.СписокВыбора.Добавить(2, «Удалить документ»);
ЭлементыФормы.ВыборЗначения.Значение = 0;
КонецПроцедуры

Выпадающий список значений 1С на форме — в тонком клиенте на форму нужно создать реквизит формы, в котором мы будем хранить результат, например с типом строка. Перетащите его на форму.
Выпадающий список значений 1С на форме — Вариант 1)

  • Включим кнопку выбора списка
  • В свойстве «Список выбора» нажмите «…» и введите варианты
  • Результат выбора будет сохранен в выбранном реквизите


Выпадающий список значений 1С на форме — Вариант 2)

  • Включим кнопку выбора списка
  • Добавим обработчик «НачалоВыбораИзСписка»

&НаКлиенте
Процедура ВыбранноеЗначениеНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
Элементы.ВыбранноеЗначение.СписокВыбора.Добавить(«Добавить документ»);
Элементы.ВыбранноеЗначение.СписокВыбора.Добавить(«Редактировать документ»);
Элементы.ВыбранноеЗначение.СписокВыбора.Добавить(«Удалить документ»);
КонецПроцедуры

Результат аналогичный. Требуется, если список должен быть заполнен ссылками на справочники/документы, которые не являются предопределенными.

Выпадающий список значений 1С на форме — Вариант 3)

Только зарегистрированные пользователи VIP группы могут видеть этот контент.

Данный вариант работает аналогично, но интерфейсно выглядит по другому.

Опубликовано: 16.02.2018 / Рубрики: 1С

Разрабатывал я простенький отчет на СКД в 1С:ERP Управление предприятием 2 (2.2.3.138)

Краткое ТЗ такое:

За основу взять типовой отчет «Ведомость товаров на складах»

Добавить возможность выводить в поля отчета следующие показатели:

  • Коэффициент. Вычисляется как отношение количества конечного остатка за период к количеству продаж за соответствуюий период в единицах хранения

  • Цена. Последняя актуальная цена товара в соответствующий период по виду цен = «Розничная»

  • Количество. Количество продаж в единицах хранения (расход в отчете — общий расход со склада, нужны только продажи)

  • Сумма. Выручка от продаж

Задача простейшая,пишу такой запрос (тут часть):

Товары КАК Товары
ПОЛНОЕ СОЕДИНЕНИЕ Продажи КАК Продажи
ПО Товары.Номенклатура = Продажи.Номенклатура
И Товары.Характеристика = Продажи.Характеристика
И Товары.Склад = Продажи.Склад
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
ПО Товары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И Товары.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика

И столкнулся с такой ошибкой:

Ошибка обработки представления «РегистрСведений.ЦеныНоменклатуры.СрезПоследних:Несоответствие типов (Параметр номер «»1″»)»

Проблема решается не хитрым путем, но решил сохранить ее решение для себя и для вас.

Решение:

Нужно устанавливать параметры для СКД на вкладке «компоновка данных» в конструкторе запроса.

Пример:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *