Исключить Субконто из БухИт #29181


#0 by Нюша
Вопрос такой: Нужно, чтобы итоги считались по всем складам, за исключением некоторых. Рисую следущее:          БухИт.ИспользоватьСубконто(ВидыСубконто.Склады,спс,3); А мне выдаются итоги, как будто по всем складам задала. В чем заковыка?
#1 by Rovan
Скажи, а сколько ТОЧНО элементов попало в список значений ?
#2 by Нюша
точно попало 3 элемента, и все верные. проверяла через отладчик. Думаю проблема в использовании метода "ИспользоватьСубконто". Я раньше исключением никогда не пользовалась, может есть какие особенности? Я потом это субконто не выбираю, но по моему разумению эти склады не должны попасть уже на этапе ВыполнитьЗапрос.
#3 by Rovan
Попробуй вместо 3 поставить 2 в вызове  БухИт.ИспользоватьСубконто(ВидыСубконто.Склады,спс,2);
#4 by Нюша
Попробовала. Результат такой же. Увы(((
#5 by Нюша
Неужели никто не пользовался СПС в качестве отбираемых субконто? Почему не реагирует?
#6 by Diter
А может проблема с формированием этого самого "спс"? Для начала попробуй написать так
#7 by SimplyUsr
Нарисуй код выборки результатов и собственно формирования запроса по БухИт
#8 by Нюша
Да в том то и дело, что в спс попадают нужные элементы. Уже проверила типЗначения элементов списка, вездет типЗначения - справочник, пустых строк нет. Даже теряюсь уже, в каком месте ковырять. Может проблема в ВыполнитьЗапрос? У меня имеется БухИт.ВыполнитьЗапрос(ВыбНачПериода,ВыбКонПериода,"41.1,41.2",,,,"День",3);
#9 by Нюша
там слишком большой код, чтобы его сюда впихивать)))По идее уже после выполнения запроса должны отрубиться все лишние склады?
#10 by Diter
А может действительно это данные по выранным складам? Попробуй задать в выборке только один склад и проверь каким нибудь стандартным отчётом
#11 by Diter
По идее ещё ВО ВРЕМЯ запроса лишние склады рубятся. Ты испольщовав ИспользоватьСубконто уже установила фильтр на запрос
#12 by SimplyUsr
Там важно только начало выборки. Правильный вариант такой БухИт.ИспользоватьСубконто(ВидыСубконто.Склады,спс,2); (именно так,а не "3") БухИт.ВыполнитьЗапрос(ВыбНачПериода,ВыбКонПериода,"41.1,41.2",,,,"День",3);
#13 by SimplyUsr
Там важно только начало выборки. Правильный вариант такой БухИт.ИспользоватьСубконто(ВидыСубконто.Склады,спс,2); (именно так,а не "3") БухИт.ВыполнитьЗапрос(ВыбНачПериода,ВыбКонПериода,"41.1,41.2",,,,"День",3); КонецЦикла; Делал сотни раз. Всегда срабатывало
#14 by Нюша
Собственно говоря меня склады вообще не интересуют в выборке, это субконто я использую только для того, чтобы лишнее обрубить.  Написала еще вариант, где это субконто выбирается (оно уже третье получается). Но тогда программа работает больше часа, там очень много данных надо перелопатить. А если обрубить их еще на этапе запроса, было бы просто шикарно.
#15 by Нюша
а почему БухИт.ИспользоватьСубконто(ВидыСубконто.Склады,спс,2); (именно так,а не "3") ? вроде 2 - это отбирать по данному субконто, но не разворачивать, а 3 - не учитывать это субконто?
#16 by Нюша
нет, точно хватает лишнее, по всем складам.
#17 by SimplyUsr
О как. Отбирать - это и значит отбирать. Т.е. включать в выборку только указанные, одиночно, или списком. А 3- это значит плювать на твой список
#18 by Diter
Теперь копай дальше в направлении
#19 by Нюша
так мне как раз надо посчитать все, кроме указанных в списке этом. Попробую тогда в спс закинуть все элементы справочника, кроме этих 3-х. Я наивная считала, что 3(не учитывать субконто) и есть - брать все, кроме указанного. Иначе не вижу смысла такую функцию заводить.
#20 by 427
если справочник большой - тормозить будет.... тут нужно балансировать между размером списка и всем справочник... а отбирать надо каждый раз выбрасывая одни и теже склады или разные?
#21 by Нюша
Да каждый раз именно эти убирать надо
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям