Как сделать запрос по значению измерения регистра #311985


#0 by cjpain
Возможно не совсем правильно обозвал тему, попытаюсь сформулировать здесь: Конфа самописная, оперативный учет. Есть регистр Взаиморасчеты, в нем есть измерение Документ. В документах, которые в этот регистр попадают есть свежедобавленный! :) реквизит шапки Участник. Есть отчет Взаиморасчеты, задача: Исключить документы с выбранным Участником либо показать только документы с участником. Запрос: Запрос[5] : Неверно заданный путь 'Участник' Догадываюсь, что все можно решить просто, добавить измерение Участник в регистр... однако тогда придется переписывать кучу документов, которые бы в это измерение собственно добавляли участника. Банально запарился уже т.к. на модификацию базы дали 3 дня сделано уже все, остался только этот отчет - завтра крайний срок. Выручайте, знаю что есть здесь умные люди.
#1 by Ёпрст2
Отсеивай во внешней функции ...Иначе - болт. В запросе у реквизитов неопределенного вида/типа нет реквизитов, исключение - общие реквизиты документов..
#2 by cjpain
Подобная мысть в голову приходила... но блин.... контрагентов около 2000 шт.. бухгалтерия будет в шоке :) Это ж примерно в 2 раза увеличит время построения отчета... :(
#3 by Ёпрст2
Да ну прям таки в 2 раза ...
#4 by cjpain
Попробую ради интереса щас, по крайней мере будет хоть какой-то вариант :)
#5 by КонецЦикла
Участник = Регистр.Взаиморасчеты.Документ.ТекущийДокумент.Участник; Что такое участник? Что за хрень ТекущийДокумент? Можно сделать его общим ревизитом, можно перечислить все документы через точку по видам ...но если нужна скорость - добро пожаловать в прикрацный мир прямых запроцов
#6 by Ёпрст2
По видам не прокатит, это ж измерение у него ...
#7 by cjpain
Участник - это элемент справочника Участники :) "хрень ТекущийДокумент" - это один из вариантов найденных на этом форуме. :) Если сделать общим реквизитом, то возможно попрут ошибки по всей конфе. И возможно ли его как-то переделать без потери значений и перепроведения документов?
#8 by cjpain
Про участников могу сказать еще следущее - Участник это промежуточная фирма. Т.е. приход в базе очуществляется следущим образом от контрагента -> участнику с участника расход на фирму и на фирме приход от участника. Дабы не добавлять Участников в справочник фирм и не формировать лишних 2 документа было принято решение добавить просто реквизит в шапку прихода и потом за него цепляться переделывая отчеты и т.п. зачем? Ответ один - налоговая схема такая...:(
#9 by Ёпрст2
Для начала, попробовать с условием во внешней функции ... А общий реквизит лепить - не так уж и долго... Этот реквизит же не участвует нигде в регистрах, поентому тупо обработкой перекинешь и не проводя, просто запишешь в него значения ...очень быстро ...
#10 by vtolga
Только если у всех "Документов" есть реквизит "Участник" Иначе можно попробовать ограничить ДокументРазрез.вид=""Какойтотам"" Но тогда все остальные в отчет не попадут,естественно. Да,это если измерение "Документ" имеет тип "Документ"
#11 by cjpain
Как оказалось: |Участник = Регистр.Взаиморасчеты.Документ.ТекущийДокумент.Участник; Удаляем И ставим условие: Например.. Условие (ДокументРазрез.Участник <> ВыбУчастник);
#12 by Ёпрст2
Это пять, особенно если реквизита Участник не будет в документе ...
#13 by cjpain
Во всех документах есть такой реквизит...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С