v7: Остатки по складам #604742


#0 by Damash
1С 7.7 БУ SQL Требуется Номенклатуру (без Групп и не входящую в Архивную группу) вывести поколичественно по определенным складам. Т.к. SQL - то перебором, постоянно обращаясь к БухИтоги, да еще в разрезе нужных складов - занимает очень много времени! Попробовал написать через запросы - тоже долго. Может кто сталкивался... Вот последний мой вариант:
#1 by G-Re
Текст достаточно корректен. А где жрет время, в бухзапросе или при формировании шахматки? Бухзапрос должен отрабатывать, как правило, за секунды(не десятки).
#2 by Damash
алгоритм формирования шахматки пока даже не вставляю. просто жду окончания обработки
#3 by Внучок
Если на ТекущаяДата, тогда попробуй ЗапросБИ.периодМ(ТекущаяДата) - будет существенно быстрее
#4 by viktor_vv
У тебя тормозит запрос к справочнику скорее всего, если много номенклатуры. Попробуй так
#5 by viktor_vv
+ А то вот это очень не быстрые конструкции.
#6 by AlexNew
Субконто у вас всего сколько?
#7 by AlexNew
|Условие(Товар.ПринадлежитГруппе(глАрхивныйКаталог)=0);
#8 by Damash
два: Номенклатура и МестоХраниния
#9 by Damash
товаров около 15 000
#10 by AlexNew
Всего?
#11 by Damash
Ну да. А зачем больше?
#12 by AlexNew
Не товаров - субконто.
#13 by Damash
#14 by AlexNew
Что макс субконто? Там пользователи лазили?
#15 by Damash
База - самопис.
#16 by viktor_vv
Завязывай бухпть. Максимальное количество субконто до 5 штатно.
#17 by viktor_vv
*бухать.
#18 by AlexNew
Друг мой, ваши советы - неуместны, как минимум. Заткнитесь, пожалуйста, надоело.
#19 by viktor_vv
Ну так и вы потрудитесь как-то членораздельно свои мысли выражать.
#20 by viktor_vv
Дабы и мы, сирые и убогие, могли проникнуться глубиной.
#21 by Damash
мальчики, не ссорьтесь
#22 by Damash
переделал согласно и сейчас попробую запустить
#23 by Damash
#24 by Damash
уже по времени неплохо
#25 by viktor_vv
Так убери это раз вставил через НЕ.
#26 by Внучок
Убери ВыполнитьЗапрос После ПериодМ он не нужен
#27 by Damash
сорри, тупанул... машинально
#28 by Damash
не понял... а как выбрать остатки по складам?
#29 by viktor_vv
Таки да, выбери что-то одно. Но мне кажется при ПериодМ придется тянуть в цикле через БИ.СКД(Счет,Субконто) и это будет не быстро.
#30 by Внучок
ЗапросБИ.СНД(<?>,,,) Синтаксис: СНД(<Счет>,<ТипСуммы>,<Валюта>,<Субконто1...>) Назначение: Возвращает дебетовое сальдо по счету на начало периода.
#31 by Damash
для SQL-варианта это долгое время! Я специально начал через запросы переписывать эту обработку.
#32 by viktor_vv
Я так понял склады по горизонтали, тогда сразу почитай внимательно про параметры ВыбратьСубконто тебе там нужен будет ФлагВсе = 1 для вложенной выборки по складам.
#33 by viktor_vv
+ Это для режима Запроса.
#34 by Damash
согласен но мне нужно не по всем складам, а по конкретно выбранным (см. СписокЗначений) или я не прав?
#35 by viktor_vv
Да все правильно, в результатах запроса у тебя будут только скалды из твоего списка. А ФлагВсе=1 это если у тебя выборка складов будет вложенной под товарами, чтобы в выборку по конкретному товару попадали все склады из запроса, а не только те, по которым есть итоги по конкретному товару. Нажеюсь я не сильно запутал. Это для шахматки, когда склады горизонтально.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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