#0
by Da D
Есть отчет, не на СКД Мне нужно в него добавить отбор, отчет формирует список должников, есть кнопка - отправляет письмо либо всему списку в отчете, либо текущему Есть должники, которым не нужно отправлять, т.е. я хочу сделать отбор по контрагенту, юзер делает Контрагент НеВСписке СписокВыбранныхКонтрагентов Я создаю отчет реквизита Построитель (Тип ПостроительОтчета) Создаю на форме отчета ТабличноеПоле Данные Построитель.Отбор, ТипЗначения Отбор Создал процедуру формы ПриОткрытии После текста основного отчета написал Построитель.Текст = Запрос.Текст; Отбор на форме есть, но он ни на что не влияет, я ставлю допустим Контрагент Равно НаименованиеКонтрагента Отчет формируется с ним Контрагент НеРавно НаименованиеКонтрагента Он всё равно есть в отчете почему так ?
#2
by Da D
После текста основного отчета написал = после текста основного запроса(который данные получает)
#6
by Da D
{Форма.ФормаОтчета.Форма}: Ошибка при установке значения атрибута контекста (Текст) Построитель.Текст = по причине: {(6, 2)}: Поле не найдено "Контрагент" <<?>>Контрагент.*}
#12
by Da D
Отчет был без построителя Я нагуглил что отбор нужно делать с построителем вот и создал его
#18
by Fedor-1971
словами кратко, без лишних буков, напиши что ты хочешь сделать? пока я понял следующее: есть некий отчёт, ты хочешь добавить туда фильтрацию выбираемых данных, зачем-то полез в дебри вместо того, что-бы просто динамически добавить условие к исходному запросу примерно такого вида "Где контрагент.ЛЯЛЯЛЯ = &Значение" или "Где НЕ Контрагент.ССылка = &НеХотимВыводить"
#19
by Da D
Кратко Выводится список должников 1 2 3 4 5 Нужно сделать штуку, в которой указываешь "Не выводить 1,3,5" И вместо 1 2 3 4 5 он выводит 2 4
#20
by Da D
ну я хз как объяснить Отбор Контрагент Не в списке СписокКонтрагентовКоторыхНеНужноВыводить Сформировать Выводятся все, кроме СписокКонтрагентовКоторыхНеНужноВыводить
#21
by Da D
объясню нормально В списке должников выводятся все контрагенты имеющие задолженность, но среди них есть контрагенты с которыми у нас осуществляются взаиморасчеты. Хотелось бы иметы возможность формировать отчет с помощью конструктора, исключая те или иные контрагенты.
#22
by Fedor-1971
По ходу ты попутал ДС (тут отборы) и Отчёт (тут динамическое формирование запроса, что-бы в выборке отсутствовали ненужные записи, либо пропуск ненужных при обработке результирующей выборки перед выводом в табличный документ) Условие для запроса: "Где НЕ Контрагент.ССылка В (&НеХотимВыводить)" в параметр передаёшь массив ссылок, которые не нужны в результате.
#24
by Da D
Я же хотел на форму отчета вывести отбор, в котором будут выбирать контрагентов, которые не будут выводиться
#25
by Da D
Подскажите, как проще это реализовать: дать пользователю возможность выбирать, кого в отчет выводить не нужно
#26
by Fedor-1971
В твоей картинке и есть набор контрагентов, выполненный пользователем (только лишняя возможность указывать "Не равно", т.к. ты сих контрагентов не собираешься включать в результирующий отчёт). Собери его результаты в массив НеНадо и отдай в параметр запроса с условием "Нах... не надо" Как это реализовать кодом - сам реши, условие для запроса я тебе написал, интегрируй его в нужное место своего запроса
#27
by Da D
На моей картинке сформированный отчет по должникам по конкретной организации, на конкретную дату, Не равно - это отбор, который я добавил и который конечно же не работает Собрать результаты чего ? Списка контрагентов, которые в отчет выводятся ?
#29
by Da D
Картинку я скинул для того, чтобы было видно стоит Не равно АвтоСоюз а в отчете всё равно выведен АвтоСоюз
#30
by h-sp
там же полно отчетов, штук 100, посмотри в них, наверняка есть похожие случаи. Зачем изобретаешь велосипед, когда уже всё давно придумано. Тем более, что все отчеты должны быть одинаковые, а не то пользователи тебя живым в землю закопают.
#31
by Fedor-1971
пытаешься прикинуться шлангом? Ты вывел на форму отбор (так ты его называешь) для того, что-бы пользователь указал "Этого и этого ну, может быть, и такого контрагента в результирующем отчете быть не должно" По сути: перебираешь чего там навыбирал пользователь и складываешь в массив (надеюсь представляешь как добавлять элементы в массив и как перебирать записи того, что ты называешь "Отбор"), потом и? стоит, лежит, висит, моргает - отчёту до лампочки он отрабатывает алгоритм, если есть соответствие того что выведено на форме, алгоритму формирования отчёта - профит, нет - на нет и суда нет.
#32
by Da D
Почему я то так его называю ? ТабличноеПоле, ТипЗначения Отбор, Данные Построитель.Отбор
#33
by Da D
т.е. пользователь, выбираю в этом как я его называю отборе контрагентов, тем самым собирает их в массив и мне нужно этот массив передать в запрос ?
#35
by Fedor-1971
Пользователь заполняет твой отбор (пользовательский фильтр - более красиво и не путается с понятием "Отбор") в какой структуре не знаю, тебе виднее, но, возможно, отбор представляет собой ТаблицуЗначений (это только предположение). Твоя задача: преобразовать то, что пользователь указал в нужные тебе структуры (массивы, списки и т.д.), т.е. перебираешь отбор и анализируешь "Контрагет", "Использовать", "ВидСравнения" и "Значение" (то бишь ссылка) Всё что ты определил как "Это нужно исключить" записываешь в массив, потом как было ранее описано.
#39
by Fedor-1971
вопрос задаётся "Как?", лично моё мнение: не нужен ему построитель где жесть? Это реалии программирования: пользователь может указать любую гадость, а программер должен пережевать всё указанное в вид, понятный системе (будь то SQL, C++, Java и т.д. - принцип остаётся тем же)
#44
by Fedor-1971
у ТС идея здравая, только реализация сырая. Подумай в таком направлении: сделай список контрагентов, с которыми осуществляются взаиморасчёты в виде регистра сведений (кто заполняет то же можно регулировать правами), а на форме отчёта оставить одну галочку: "Без взаимозачётчиков". Тогда ты получишь простую возможность запросом выбрать тех кого в отчёте быть не должно. Профит с двух сторон: и пользователь не гемороится каждый раз набирать контрагентов и тебе понятно что должно попасть в отчёт
#47
by Da D
Ошибка исполнения отчета по причине: Ошибка получения данных по причине: Ошибка создания набора данных "НаборДанных1" по причине: Ошибка при исполнении запроса набора данных по причине:
#51
by Da D
Ошибка исполнения отчета по причине: Ошибка получения данных по причине: Ошибка создания набора данных "НаборДанных1" по причине: Ошибка при исполнении запроса набора данных по причине:
#52
by Fedor-1971
посмотри что лежит в ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности - возможно, что не число и не Null
#53
by Da D
ВЫБОР КОГДА ВтВзаиморасчеты.ДоговорКонтрагента.Дней > 0 ТОГДА ВтВзаиморасчеты.ДоговорКонтрагента.Дней ИНАЧЕ &ЧислоДнейПоУмолчанию КОНЕЦ
#54
by Da D
В консоли тоже этот запрос такую же ошибку выдаёт а почеему ошибка, если запрос рабочий ?
#55
by h-sp
может еще ЕСТЬNULL(РАЗНОСТЬДАТ(КОНЕЦПЕРИОДА(ВтДолгыПоДокументам.Период, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), ДЕНЬ), 0)
#57
by Fedor-1971
То что в где формируется? ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности - точно число во всех строках ВтДолгыПоДокументам?
#58
by Da D
Объединения/Псевдонимы f(x)ДопустимоеЧислоДнейЗадолженности - ВЫБОР КОГДА ВтВзаиморасчеты.ДоговорКонтрагента.Дней > 0 ТОГДА ВтВзаиморасчеты.ДоговорКонтрагента.Дней ИНАЧЕ &ЧислоДнейПоУмолчанию КОНЕЦ
#59
by Fedor-1971
проверь второе предположение к сожалению, больше ничем помочь не могу. Не силён в СКД.
#61
by Fedor-1971
ВтДолгыПоДокументам.ДопустимоеЧислоДнейЗадолженности - точно число во всех строках ВтДолгыПоДокументам
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Отбор заказов по контрагенту. Как сделать???
- Как правильно сделать быстрый отбор в общем журнале по контрагенту?
- Зачем нужен отбор "В интервале", если есть отбор "больше" и "меньше"?
- "Отключить отбор " и "Отбор по значению в текущей колонке"
- УФ. Программный отбор и пользовательский отбор....
- 8.3.5, УФ, Реквизит таблицы значений с типом "Отбор"/ "Отбор компоновки данных"
- v7: 1cpp Набор Классов ПоставщикДанных Установить отбор, отменить отбор
В этой группе 1С
- Не отрабатывает процедура При изменении
- Подключение считывателя карт parsec к 1С 8.3
- Атол fprint-11 Тест не пройден. Дополнительное описание нет связи.
- У кого есть опыт внедрения и использования 1с Управление Холдингом?
- Совмещение и выходные дни в ЗуП 3.1
- Нужно ли отмена проведения в транзакции 1с 8
- ЗУП 2.5. Подготовка сведений для ПФР, территориальные условия
- УТ Тестовое задание
- УПП Передача материалов в эксплуатацию.
- БГУ 8.3 В опись инвентарных карточек попадают списанные ОС. Так и должно быть?
- Выгрузка остатков товара с помощью КД.
- УПП 1.3. Ошибка открытие формы списка документов. Недопустимое значение параметр
- Восстановление подчиненного узла РИБ
- Удалить одну запись из регистра сведений (подчинен регистратору)
- ЗУП 2.5. Напоминание о сроке трудового договора.
- ЗУП 2.5 начисления по разным видам расчетов попадают в разные налоговые периоды
- ЗУП 3 Как убрать начисление из базы Доплаты до среднего заработка?
- Данные таблицы 18 Штрих-М
- ЗУП 2.5 Не удерживается НДФЛ
- Бонусы начисляются с учетом неработающей скидки УТ 11.3