Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 20:11

Настройка отбора в СКД

Автор Нейтрал Сироткин, 17 мая 2016, 12:17

0 Пользователей и 1 гость просматривают эту тему.

Нейтрал Сироткин

Здраствуйте всем!

Проблема моя кроется в настройке СКД отчета. Мне потребовалось сделать небольшую конфигурацию для одной фирмы и там необходимо создать отчёт с параметрами отбора по датам и по строке в документе.
Имеется 1С 8.2 с типовой конфигурацией Бухгалтерия 2.0(но это особо не важно).
В Конфигурации есть Документ, в котором есть Поле ввода с ссылкой на справочник.(Документ Акт о выполненной работе в нём поле ввода Заказчик которое ссылается на записи в справочнике)
Отчет должен выводить список документов за определённый период и с определённым заказчиком. Через СКД я(после танцев с бубном!) как-то настроил через параметры отбор по двум датам и вывел их выбор через табличное поле. Но вот как сделать отбор ещё и по заказчику, никак не пойму.
Может нужно через регистры его делать ?(которых кстати нет)
Или задавать определённые параметры через запрос ?
Также я не обнаружил никакой настройки по привязке реквизита отчета к параметру СКД, такое вообще есть ?
Вообщем, задача для меня непростая, понять всё это, так как совсем недавно изучаю 1С(Для дипломной надо).
Надеюсь на вашу помощь.

Golickoff

Для отбора нужный параметр изначально должен быть указан в запросе. В настройках СКД (последняя вкладка) есть вкладка "Отбор". Добавьте туда нужный параметр. На форме отчёта необходимо создать табличное поле, а в качестве его данных указать КомпоновщикНастроек.Настройки.Отбор. При открытии отчёта в этом табличном поле можно будет задать значение параметра, который был выбран во вкладке "Отбор" в настройках СКД.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Нейтрал Сироткин

Цитата: Golickoff от 18 мая 2016, 06:45
Для отбора нужный параметр изначально должен быть указан в запросе. В настройках СКД (последняя вкладка) есть вкладка "Отбор". Добавьте туда нужный параметр. На форме отчёта необходимо создать табличное поле, а в качестве его данных указать КомпоновщикНастроек.Настройки.Отбор. При открытии отчёта в этом табличном поле можно будет задать значение параметра, который был выбран во вкладке "Отбор" в настройках СКД.

Пробовал сделать как сказали. Единственное только не понял, как параметр в запросе указывать, да и надо ли ? У меня все параметры указаны в одноимённой вкладке СКД. Но есть ли разница (в запросе, который текстом как набор данных идёт, только выборка данных прописана). Когда создал Табличное поле и указал в качестве данных КомпоновщикНастроек.Настройки.Отбор, то он мне выдал настройку параметров отбора, которые есть на такой же вкладке в схеме компоновки данных. Видать оттуда взял. И там значения параметров не прописываются.Там сами параметры только указываются. Хотя может дело как раз в запросе.

Также попробовал через Управляемую форму всё сделать, но опять куча проблем появилось.
1. Созданные программой реквизиты и их поля на форме не привязываются к параметрам. Хотя в их ПутиКданным указан объект отчета и именно параметр.....Хотя может и нет, но имя то одинаковое.
2. Если выводить параметры путём установки нужной галочки в свойствах элемента пользовательских настроек и также настроить отбор по этим параметрам, то в форме можно их выбрать и соответственно получить результат, то есть отчет с отбором...НО!...Если значения параметра, который отвечает за ссылку к справочнику, оставить пустым, то в отчет ничего не выведится. Потому что вид сравнения идёт ссылки к строке справочника и реквизита документа, по которому идёт отчет, вообщем вид сравнения стоит Равно, другой так просто там не поставишь. А если отключить параметр вообще, 1С начинает ругаться, что значения параметра не задано. Вроде как можно сделать параметр необязательным, но я пока не нашёл как это сделать.
3. Хотел, чтобы сравнение шло со списком значений, в который можно было добавлять ссылки из справочника. Но, если значений будет больше одного, то 1С начинает ругаться мол нельзя их вообще сравнивать. Ну и конечно же если список пустой то и отчет пустой, исключения только если Вид сравнения стоит НеРавно, но тогда и отбор по значению параметра идёт задом наперёд.

Вообщем пока ничего не получилось.Буду думать и пытаться дальше.

Golickoff

Проверьте, в настройках СКД во вкладке "Отбор" у выбранного параметра режим редактирования должен быть любой кроме "Недоступен".

Что касается управляемых форм, там вывод отбора на форму настраивается иначе. Форму, в принципе, можно и не создавать. Достаточно указать в режиме редактирования "Быстрый доступ" и он автоматически появится на форме.Щёлкнув правой кнопкой мыши по выбранному элементу пользовательских настроек, можно зайти в его свойства, а затем указать там включение в пользовательские настройки и режим редактирования.

Что касается сравнением со списком значений мне кажется что вам нужно написать в запросе "НекийПараметр В &СписокЗначений" вместо "НекийПараметр=&СписокЗначений".
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Нейтрал Сироткин

Управляемая форма работает, но толку от выбора на ней нет, если отбор с этими полями не связан.
Однако проблемы остались актуальны. Если строка с параметром на ссылку справочника пустует, то и отчёт тоже пустует, хотя должен вроде не проводить отбор по ссылке, если она пустая. Нужно параметр отбора сделать необязательным, что отбор по нему производился по желанию пользователя или, говоря по простому, была бы возможность отключить параметр(1С не даёт этого сделать, говорит что важен он).Как это реализовать, пока не знаю.
Другая проблема - в списке значений. Я параметры задаю через СКД, а не через запрос. Параметр можно сделать списком значений, если поставить нужную галочку. Но сравнение в Отборе не проходит. Если в ВидСравнения поставить вСписке, то этот самый список нужно заранее задавать, когда он должен задаватся на форме через выбор.
Вы писали, что нужно изменить запись в параметрах на другую. Но это каким макаром и в каком запросе это делать ? Все модули объектов пусты. Поле запроса СКД в Наборе данных заполнено Конструктором запросов и при попытке вписать туда параметр, начинает ругаться на ошибки.



Теги: скд отчет 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск