Скд не задано значение параметра
Отчет СКД: не заполняются значения параметров
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Отчет СКД: отображение значений параметров на форме
Добрый день, устанавливаю значения параметров при открытии, но на форме колонки эти пустые.
1с отчет СКД выбор данных в зависимости от значения логического параметра
Здравствуйте. Платформа 1С: Предприятие 8.3. Столкнулась с такой проблемой. Имеется отчет «Отчет.
Отчет СКД. Вывод нескольких таблиц в отчет из разных запросов.
Привет, коллеги! Возникла необходимость в одном отчете видеть 2 таблички: одну по продажам, другую.
jediAlex Устанавливаешь Ложь стандартной обработке, а работаешь только с Компоновщиком. Ну изменил компоновщик, а где макет, где процессор вывода? У тебя ничего не выполняется без этого. И если эти параметры в скд установлены как пользовательские, то устанавливает параметры не в Настройках, а в ПользовательскиеНастройки. Ну и еще раз, как минимум параметры дат можно попробовать выставить на закладке Параметы макета скд
ни разу не делал такой вывод отчета(программно) поэтому не пойму что и как делать в данном случае.
Вот это правильно для моего варианта, неправильно для твоего
Функция ПодразделенияДляОтчета() что возвращает? Проверяли? Дайте код этой функции
Добавлено через 1 минуту
Где ставили точку останова? Сначала запускаете конфигуратор, из него запускаете программу (отладку). Есть подозрение что сделали наоборот
Разбираемся с параметрами редактирования СКД
Вступление
В конструкторе СКД на некоторых вкладках есть колонка Параметры редактирования (или Параметры ввода, что то же самое по сути).
Настройка этого значения выполняется через специальное окно с одноименным названием.
Некоторые элементы списка этих параметров не имеют конструкторов, а также имеют неочевидные названия.
Настройка этих параметров может вызывать трудности.
Достаточно подробного описания данного механизма с доступными примерами мне найти не удалось, поэтому разбирался самостояетельно.
Самые простые параметры редактирования
Наиболее простыми для использования являются следующие параметры: Формат редактирования, Быстрый выбор, Выбор групп и элементов. С ними все понятно, поэтому их пропустим.
Связи параметров выбора
Настраиваются через специальное окно Редактирование связей параметров выбора.
Рассмотрим на примере как заполнять поля этой формы.
Пример 1
Тогда достаточно в поле Параметр выбора указать имя реквизита из справочника Договоры контрагентов, в нашем случае это Владелец, поэтому запишем: Отбор.Владелец.
Зачем добавлять слово Отбор, опишу ниже.
Теперь, если у параметра Контрагент стоит флаг Использование и контрагент выбран, то при выборе договора, будет накладываться отбор по владельцу.
Если же Контрагент не выбран или флаг у контрагента не установлен, то при выборе договора будут отображаться все договоры.
Поле Изменение значения влияет на то, очищать ли договор, если пользователь выбрал другого контрагента или не очищать.
Параметры выбора
Настраиваются через специальное окно Редактирование параметров выбора.
Рассмотрим на примере как заполнять поля этой формы.
Пример 2
Поля Контрагент и Договор из первого примера.
Мы хотим, чтобы пользователь мог выбрать только договор с видом С покупателем или Прочее и не помеченный на удаление.
Добавляем два параметра:
1. Параметр выбора = Отбор.ПометкаУдаления; Значение = ЛОЖЬ
2. Параметр выбора = Отбор.ВидДоговора; Значение = список из двух элементов : С покупателем, Прочее
Эти два параметра будут устанавливаться всегда независимо от выбранности/невыбранности параметра Контрагент.
Зачем нужно слово Отбор?
Почему в поле Параметр выбора необходимо использовать приставку Отбор? Какие еще параметры можно указывать и на что это влияет?
Это один из ключевых вопросов данной статьи, который и стал поводом к ее написанию.
Для ответа на этот вопрос предположим, что у нас есть независимая обработка без СКД с реквизитами Контрагент и Договор.
Какой код нам потребовалось бы написать, чтобы при подборе в поле Договор на нашей обработке устанавливались нужные отборы и передавались параметры?
Один из вариантов этого кода выглядит следующим образом.
Чтобы получше разобраться поэкспериментируем
Пример 3
Добавим по два параметра в Параметры выбора и в Связи параметров выбора.
Поставим точку останова в форме выбора при создании на сервере
Видим, что параметры, переданные без точек пришли как отдельные, а параметры, имеющие точки пришли в виде структуры.
Связь по типу
В настройке данного параметра сбивает с толку наличие поля Элемент связи с типом число.
Чтобы понять как его настраивать разберем два примера.
Пример 4
Создадим в СКД параметр Счет.
И еще три параметра Субконто1, Субконто2, Субконто3.
Мы хотим, чтобы если выбран Счет, то во параметре СубконтоN автоматически устанавливался отбор со значениями соответствующего субконто.
В этом случае для параметра Субконто1 настраиваем Связь по типу:
Поле = Счет (ПараметрыДанных.Счет), Элемент связи = 1 (номер субконто)
Для остальных двух параметров аналогично, только Элемент связи будет 2 и 3.
Теперь при выбранном параметре Счет, в полях СубконтоN будут доступны только значения, соответствующие типу субконто
Пример 5
Создадим в СКД параметры Вид субконто и Субконто.
Мы хотим, чтобы при выборе вида, были доступны только значения соответствующие виду субконто.
В этом случае для параметра Субконто1 настраиваем Связь по типу:
Поле = ВидСубконто (ПараметрыДанных.ВидСубконто), Элемент связи = 0 (не имеет значение в данном случае)
Заключение
Данный механизм в СКД аналогичен тому, который позволяет настраивать параметры реквизитов в справочниках, документах и т.д.
Но такие связи приходится настраивать довольно редко, и часто в таких случаях проще решить задачу с помощью кода, чем разбираться как это все настраивается.
Думаю, что данное описание поможет разобраться в этом механизме и начать его применять.
Не задано значение параметра
Добрый день! Пишу под себя небольшую конфигурацию в 1С:Предприятие 8.3.
Наткнулся на проблему, не могу решить пару дней.
Цель: есть документ о перемещении оборудования между нашими базами. В реквизитах документа указываем новый адрес и старый. В табличной части выбираем необходимое оборудование из справочника Оборудование. Необходимо, чтобы в выпадающем списке было только то оборудование, которое находится на эту дату на старом адресе. Записи все делаются в РегистрСведений Базировка.
В форме выбора справочника Оборудование сделал следующий произвольный запрос с помощью конструктора:
Далее в ФормеДокумента в табличной части в свойствах оборудования на вкладке Представление в Связях параметров выбора ставлю условия:
И Формой Выбора ставлю ту форму где прописывал произвольный запрос.
Когда создаю новый документ при обращении в табличной части к списку оборудования выдает ошибку:
Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных «НаборДанныхДинамическогоСписка»
по причине:
Ошибка при исполнении запроса набора данных
по причине:
<(16, 43)>: Не задано значение параметра «АдресБазы»
ИЛИ БазировкаСрезПоследних.АдресБазы = >&АдресБазы
Что и где ещё необходимо прописать? Или должен быть совершенно другой алгоритм действий?
при записи в Событиях «Создать» и прочих не работает, а вот «НачалоВыбора» без строчки «СандартнаяОбработка=Ложь;» вызывает два окна, но работает как надо.
В самой форме выбора прописываем:
Также выяснил что код
работает не корректно: он отбирает вначале по параметру АдресБазы, а уже потом по дате, поэтому в список попадают записи старые, хотя уже есть более свежая запись о перемещении на другую базу.
Поэтому изменил код на такой:
И как констатация факта (для себя не забыть), в ходе поиска кода запроса выяснил, что если в динамическом списке не задана «Основная таблица», то в форме при выборе нужной записи она не попадает в строчку документа. (в ходе экспериментов она стала пустой, долго искал причину ошибки)
Вот это непонятные строки..
Вот это непонятные строки..
Прикрепил скриншот, где этот код.
Стесняюсь спросить «Куда ставить?»
Попробовал вставить в События при изменении:
Нет никакой реакции(((
Сделал следующее:
1. В Модуле «ФормаВыбораТест» прописал код:
2. В модуле Формы документа «Перемещение оборудования»:
Но синтаксис ругается на Объект.Дата, если его убрать, то список открывается пустым.
Как здесь указать ссылку на дату?
Прописал в событие при Создании:
Ошибка так и осталась, такое ощущение, что он и не начинает работать.
И приведите уж весь текст модуля вашей формы, для ясности.
И Обратите внимание на советы (6).
И дальнейшие все мои действия не приводят к успеху (((
Весь код из модуля я сюда уже написал, другого ничего нет.
Значит в динамическом списке нет записей, соответствующих отбору.
Выдержка из ИТС:
5.6.17. Связи параметров выбора
Связи параметров выбора – данное свойство позволяет указать список реквизитов, которые будут поставлять значения, используемые при выборе значения реквизита, при открытии формы выбора, при отображении списка быстрого выбора и при выполнении ввода по строке.
В качестве примера можно привести выбор договора с контрагентом. Вначале осуществляется выбор контрагента, а затем выполняется выбор договора только из списка договоров выбранного контрагента. Причем отбор автоматически изменяется при смене контрагента.
Для того чтобы ограничить выбор, реквизиту в свойстве Связи параметров выбора устанавливается соответствие имени реквизита, по которому будет выполняться фильтрация выбираемых значений, и реквизита, из которого будет браться значение фильтрации.
Рис. 151. Связи параметров выбора
Значения, указанные в данном свойстве, будут переданы в открываемую форму через структуру Параметры (см. здесь). При этом значение колонки Имя будет соответствовать ключу элемента структуры, а значение реквизита, указанное в колонке Реквизит, – значению элемента структуры. Если в колонке Имя указано значение вида Отбор.Владелец, то будет создан параметр формы Отбор (типа Структура). В этой структуре будет создан элемент с ключом Код и значением, полученным из реквизита, указанного в колонке Реквизит (в нашем примере – Поставщик).