Настройка построителя отчета #267537


#0 by Line
Прошу помочь по 8.0. Чужой отчет с помошщью построителя. Переделывать радикально не хотелось бы, пользователи просят параметры в форму поместить. 1.По их просьбе в форму отчета- поле ввода Подразделение, Подразделение- доступное поле построителя. 2.Определила настройку построителя таким вот образом: Хотелось бы при изменении убирать ранее существующие настройки по тому же полю. Пока добилась просто отключения: или  вообще очищения всего табличного поля. КАК осуществить удаление по конкретному значению??? Понимаю, что дело тут с расширением табличного поля... и явных возможностей не наблюдается.Но, думаю выход есть.
#1 by jcage
еще раз и по-русски в следующем порядке:
#2 by Line
Отчет сделан с помощью построителя. на форму отчета вынесены  параметры запроса, всё остальное на форме "настройки построителя" с соотв. закладками Отбор, Порядок... вынесла на форму поле ввода Подразделение - тип спр.ПодразделениеОрганизации - это в сво. очередь доступное поле в настройках построителя. Связать значение поля ввода с настройками построителя удалось (уф!), отключить настройки предыдущие тоже, но вот хотца красоты, чтобы они вообще вычищались из табл. поля на форме "Настройки построителя" . Вот собствна и всё.
#3 by jcage
Зачем их вычищать из табличного поля "Отбор"? Это можно сделать удалив все элементы отбора из "ПостроительОтчета.Отбор" - но занятие это бессмысленное. А если пользователь захочет указать какой-нибудь еще отбор из доступных, а не только по подразделению?
#4 by Line
Это понятно, я сначала так и сделала. Всё вычистила, но это не выход. проблема в другом: просто меня беспокоит что там таких отборов "ПодразделениеОрганизации="тра-тата"" скопится видимо-невидимо и в итоге другие просто затеряются
#5 by jcage
а почему их должно скопиться много?
#6 by Line
неужели из списка нельзя по выбору удалить то, что мне надо, а не тупым перебором, даже и им согласна, но как само соответствие провести?!!
#7 by Line
потому что, я предыдущий отключаю, но не удаляю. И в этом т.поле на закладке отбре картина такая :
#8 by MikleV
Поле.Отбор = Ложь;
#9 by Line
???
#10 by MikleV
из доступных полей получи поле, которое тебя интересует.. у него : Отбор = Ложь..вот и всё.
#11 by Neco
ПостроительОтчетаСебестоимостьУслугПлановая.Отбор.Удалить("ПодразделениеОрганизации")
#12 by Кастрюлька
Неа. В случае с отборами, в отличии от полей и измерений, для удалить нужно указывать индекс, а не имя. Проще так: ПостроительОтчетаСебестоимостьУслугПлановая.Отбор.ПодразделениеОрганизации.Использование=Ложь; Ну или обойти отбор и узнать какой индекс унего сначала. В общем, варианты..
#13 by jcage
(11, 12) Ситуация, когда отборы "копяться" сама по себе не верна, поэтому удалять их не правильно. Ну как в студию код привязки элемента формы к отбору.
#14 by Кастрюлька
Ну тогда так. Для этого элемента формы, в котром подразделение устанавливаетсчя, в процедуру при изменении сунуть следующее: КонецЦикла; И далее пот тексту: Т.е. перед добавлением нового удаляешь все старые, а потом завново вновь все те что есть на форме, если есть еще что-то кроме подразделения.
#15 by Neco
Чтобы отборы не задваивались, можно сначало поискать добавлен он уже или нет:
#16 by Кастрюлька
Ну да, а если он есть? Тогда так НайдСтрока = ПостроительОтчетаСебестоимостьУслугПлановая.Отбор.Найти("ПодразделениеОрганизации"); Если НайдСтрока <> Неопределено Тогда
#17 by Line
Спасибо огромное, ответ лежал на поверхности. Я пыталась поиск организовать через форму Форма.ЭлементыФормы.Отбор.НастройкаОтбора.Найти("ПодразделениеОрганизации") А это даёт лишь отбор целиком по имени, а не построчно. и пыталась сразу удалить А здесь всё просто, только переприсвоить значение. Здорово!
#18 by Кастрюлька
Ага. Только еще проверку на пустое значение подразделения при изменении не зубудь, а от будет у тебя отбор по пустому подразделению. В этом случае просто использование ставь в ложь, т.е.
#19 by Кастрюлька
и туда в условие впихнуть НайдСтрока.Использование = ложь;
#20 by Line
Учту. Спасибо ещё раз. Ощущения вчера были будто по лабиринту хожу. Смутила статейка одна в ЕСИСе "Связь с данными", вот и запуталась. Привожу  текст: Если необходимо, чтобы элементы отбора, связанные с полями ввода, не отображались в табличном поле редактирования отбора, то можно воспользоваться свойством расширения табличного поля для отбора "НастройкаОтбора" ("FilterSettings"). Пример: ФормаДополнительноОтбора.ЭлементыФормы.Отбор.НастройкаОтбора.Добавить("ПериодНачало", Ложь); ФормаДополнительноОтбора.ЭлементыФормы.Отбор.НастройкаОтбора.Добавить("ПериодКонец", Ложь);
#21 by Кастрюлька
Ну да, смущают. Всегда пожалуйста =)
#22 by Line
Опять, проблема. Список отбора в окне прекрасно отображается, регулируется полями ввода из формы отчета. Но,самое главное в отчет ничего не выводится. Если вручную залезаю в настройки всё предыдущее удаляю, заношу новые отборы -всё работает.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям