Ввод остатков по партиям #739122


#0 by Novi4ek2015
Добрый день! Есть запрос который выбирает остатки по партиям. На основании него надо создать документ ввод остатков: и документ оприходования=партия в документе ввода остатков.Запрос работает хорошо,проверенно, но вот в цикле когда перебираю товары, то зацикливается создание документа ввода остатков.Помогите в чем проблема?
#1 by vicof
ну тут много думать не надо, по-моему
#2 by vicof
что же нужно вынести из цикла?
#3 by Славен
а где ДокументВводаОстатков.создатьДокумент?
#4 by vicof
Это уже следующий вопрос
#5 by Novi4ek2015
#6 by Novi4ek2015
Есть, просто случайно не скопировал
#7 by Novi4ek2015
Я не знаю в чем проблема, все пробовал
#8 by vicof
ну если форма открывается 25 раз, наверное, нужно ее открытие за цикл вынести, не?
#9 by Славен
у него создается несколько документов, и соответственно несколько форм
#10 by Novi4ek2015
у меня должно создаться несколько документов,сколько организаций,столько и документов.А если вынести за цикл, то создается пустой документ, только шапка заполнена
#11 by Славен
у тебя этот код где? после Для Каждого УзелОрганизация из ДЗОстатки.Строки цикл ?
#12 by Novi4ek2015
Что то ни так в этом цикле:
#13 by Славен
все норм
#14 by Novi4ek2015
Но почему то не работает(
#15 by Славен
на ответь
#16 by Славен
и вообще покажи код от запроса до конца
#17 by Novi4ek2015
Этот код внутри цикла УзелОрганизация из ДЗОстатки.Строки.
#18 by Славен
весь код из 0 вызываешь в рекурсии?
#19 by Novi4ek2015
нет,это отдельный код
#20 by Славен
тогда цикл нормальный, и первый и второй вложенный
#21 by Славен
ищи ошибку в другом месте
#22 by Novi4ek2015
для каждого ВнешУзелОрганизация из ВнешДЗЗапрос.Строки цикл
#23 by Novi4ek2015
Это первый цикл.Потом идет что я первый раз выкладывал
#24 by Славен
а как твоя процедура/функция называется?
#25 by Славен
не ПолучитьСоответствиеПоКлючу случайно?
#26 by Novi4ek2015
ПолучитьСоответствиеПоКлючу
#27 by Славен
вот батенька не в цикле дело а в том что ты бесконечную рекурсию написал, без выхода из нее. Ты вызываешь из процедуры эту же процедуру и у тебя постоянно повторяется условие при котором вызов продолжается, т.е. никогда не срабатывает выход из неё
#28 by Novi4ek2015
Спасибо,попробую исправить
#29 by Novi4ek2015
я уже не знаю,что делать((Помогите с этим запросом:
#30 by Novi4ek2015
Запрос работает правильно, создается документ ввод остатков, шапка документа заполняется,но сам документ или пустой или один товар заполняет.
#31 by Славен
весь текст процедуры приведи
#32 by Novi4ek2015
Я привел
#33 by Славен
#34 by Славен
В запросе сделай Сгруппировать по Организация ВнешДЗЗапрос = ВнешЗапрос.выполнить.Выгрузить(Подключение.ОбходРезультатаЗапроса.ПоГруппировкам); КонецЦикла
#35 by Славен
все, никаких рекурсий. все есть в выборке
#36 by Novi4ek2015
Вот сейчас по коду который я сбросил,создается документ ввод остатков и заполняется весь.Но теперь только не заполняется документ оприходования.
#37 by Славен
+ про сгруппировать по организация -ненадо, я погорячился, все остальное в силе
#38 by Славен
вот нафига ты сначала дерево строишь по данным запроса, а потом тут же документ заполняешь из этого дерева, если дерево ты строишь по данным запроса то почему сразу не создать и не заполнить по запросу документ
#39 by Славен
ааа ты же ком подключение вояешь, хотя и по нему можно без дерева
#40 by Novi4ek2015
Да я уже и так пробовал и так.Сейчас хотя бы все заполняется,кроме документа партии, а это очень важно
#41 by KLOUN1091
Получилось заполнить документ партии?Подскажите как? У меня такая же проблема, только задача конечно по проще))
#42 by Славен
А тебе разве не новый документ партии надо создавать, с типом Партия (ручной учет) (в конфигураторе Партия)  старые то документы не должны переноситься, или ты их переносишь не проведенными?
#43 by Novi4ek2015
Надо, но не получается.В цикле прописываю: Ничего не создается(((
#44 by Novi4ek2015
Как получится,напишу)
#45 by Славен
А ты его потом записываешь?
#46 by Славен
И не НоваяСтрокаТЧ.Партия= Документы.Партия.СоздатьДокумент А ДокПартии = Документы.Партия.СоздатьДокумент; ДокПартии. .... заполняешь реквизитами контрагента и договора ДокПартии.Записать; НоваяСтрокаТЧ.Партия = ДокПартии.ссылка;
#47 by Novi4ek2015
Не работает, не видит данные документа Оприходования.
#48 by Славен
А где здесь оприходование?
#49 by Novi4ek2015
#50 by Novi4ek2015
Точнее:
#51 by Novi4ek2015
Но все равно не работает.
#52 by Славен
отладчик что показывает на этих строках? Какие типы, какие значения
#53 by Novi4ek2015
Выдает ошибку: Поле объекта не обнаружено (Контрагент),(Дата). Если указать только одну строчку: ДокПартии.Дата= ТекущаДата; То создает для каждой номенклатуры документ партия с одной и той же датой.
#54 by Славен
а тебе при вводе остатков не похер какая дата в документе партии (главное до ввода остатков)? Но для каждой номенклатуры свой документ партии это конечно сурово, если у тебя конечно номенклатура не по 1 шт приходит
#55 by Славен
а УзелДокументОприходования.ДокументОприходования что выводит в отладчике?
#56 by Novi4ek2015
При списании товара, не правильно будет списываться себестоимость,если они все через один документ, или через разные, но дата одинаковая. Списывается по ФИФО, а если они по одному времени то берется среднее автоматически, а мне надо по партиям, вот и мучаюсь. Через УзелДокументОприходования.ДокументОприходования  не работает. Работает теперь как было:
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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