v7: Запрос с участием Позиции документа. #693061


#0 by __Se24
Доброго дня , господа Гуру. Может кто сталкивался с такой ситуацией. Была задумана система заказа товара из филиала в филиал. Регистр + 2 документа (установка и снятие). все тривиально. Основной заморочкой было то что , необходимо в документе снятия отображать то что сделал документ установка, а движения данного документа не учитывались. Был написан маленький запрос , где в качестве аргументов  "Период С ТекДок По ТекДок" была указана такая комбинация: ТекДок=СформироватьПозициюДокумента(ТекущийДокумент,-1); но при этом , функция КонОст по ресурсу все равно возвращает данные, которые внес в регистр этот документ. Путем перебора удалось выяснить , что если заменить на "Период С НачДата По ТекДок", где НачДата , какая-либо дата , например минус год , то запрос отрабатывает правильно, но долго. В чем, собственно, ошибка , при указании конкретной позиции ?
#1 by 1Сергей
запрос выбирает остатки или обороты? и ваще - мало кода
#2 by __Se24
Запрос выбирает остатки. "КонОст" же .. Код могу привести, но мне кажется тут загвоздка не в самом коде , а в какой-то непонятно интерпретации периода, задаваемого в запросе, самой 1С ..
#3 by __Se24
#4 by dk
а движения по измерению заявка сама заявка делает или другой документ?
#5 by 1Сергей
т.е. у тебя Запрос по конечным остаткам при разных значения НачДата выполняется по разному долго?
#6 by КонецЦикла
так у тебя есть измерение заявка? фильтр по ней, выгрузка итогов и все.
#7 by 1Сергей
я вобще бы без запроса сделал. Тут, как раз, тот случай, когда без запроса получится быстрее
#8 by 1Сергей
или делай через начальные остатки
#9 by __Se24
Есть заявка и подтверждение заявки , Заявка может быть не одна , в таком случае создается что-то вроди цепочки , и в измерение записывается "головная"
#10 by __Se24
Да , именно так. Если ТекДок-ТекДок, то быстро , но не правильно ... Если 01.01.2012-Текдок , то правильно , но долго !
#11 by __Se24
Тут вопрос не столько в реализации этой задачи , понятно . что решить ее можно по-разному, хотелось бы разобраться с самой ситуацией , почему так происходит , и как делать это правильно в будущем
#12 by __Se24
без запроса не получится ... там документов может много быть ...
#13 by __Se24
Ага , попробую , спасибо Но все ж хотелось бы понять , почем КонОст снимая остаток на "предыдущий" документ захватывает и этот.
#14 by 1Сергей
какая разница? .Остатки( .СводныеОстатки(
#15 by __Se24
А в чем разница между этим и запросом ?
#16 by 1Сергей
в запросе можно понаворочистее сделать. Условия, группировки там. Но, у тебя простое условие, простая группировка
#17 by __Se24
Хм .. как я написал выше , мне важнее разобраться с причиной , почему так происходит , может я где-то допустил кардинальную ошибку в самой задумке , нежели решить конкретно эту задачу. Собственно, как вы и предложили "НачОст" сработал как нужно ))
#18 by __Se24
в 7-ке есть механизм работы с позициями документов , но внятного описания я так нигде не нашел.
#19 by dk
разбери на конкретном примере заявка № ... от .... все движения по измерению заявка = ... док1 дата время + 5 док2 дата время - 3 док3 дата время + 1 ....
#20 by 1Сергей
лично я всегда старался избегать работать с позициями документов. Возможно, это ахиллесова пята семерки
#21 by __Se24
в желтой книжечке написано "можно выполнять сравнение позиций" но они не сравниваются :(
#22 by __Se24
Да , механизм хороший , жаль , работать с ним неудобно и непонятно как ...
#23 by КонецЦикла
мне бы и в голову не пришло делать это запросом
#24 by __Se24
а я люблю запросы, в случае когда руководству вдруг приходит "свежая" идея , и нужно быстренько что-то исправить , они легче поддаются доработкам :)
#25 by 1Сергей
переходи на новый уровень - прямые запросы. Черные запросы - так, баловство
#26 by varelchik
+ +100.
#27 by __Se24
Командование запрещает использовать внешние компоненты )) так бы уже давно ))
#28 by varelchik
тупое значит командование.
#29 by __Se24
Это называется "ксенофобия" ))
#30 by acanta
А как эти документы разнесены по времени? установка и снятие? Позиции работали в 7ке так же как дата время в 8ке стало..
#31 by acanta
вариант период с текдок без по и начОст.
#32 by GreyK
Поставь условие на исключение движений сделанных текущим документом. А вообще есть "принцип подчиненности документов", его стоит соблюдать всегда.
#33 by __Se24
Увы , когда руководство задает рамки , не всегда есть возможность их обходить ... За совет спасибо )) но с "позицией" все ж непонятно ...
#34 by GreyK
В качестве значений параметров запроса "Период с" и "По" может выступать документ. Как у вас попадали в запрос ограниченный позицией одного документа другие движения я не знаю, вроде по ЖКК ничего другого туда попасть не должно...
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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