|
Запросы и циклы (печатная форма) | ☑ | ||
---|---|---|---|---|
0
Молодой и неопытный
17.06.19
✎
13:24
|
Привет, я молодой и малознающий самоучка... вот впервые столкнулся с запросами вместе с циклами, прошу помочь чем можете (вероятно я жутко туплю).
Напишу много т.к. кратко не выйдет. Буду благодарен за любую подсказку. Смотрим в самый низ основной код... как видите у нас Дописей очень много, и мне приходится очень много возится каждый раз. Не могу придумать как вставить дополнительное условие в цикл. Я уже многое разжевал но пока не смог переварить это... Что мы имеем: Отрывок кода из МХ18, печатается "отчёт производства за смену" при нажатии на кнопку Печать. Сама форма "отчета производства за смену" выглядит вот так: http://skrinshoter.ru/s/170619/dWmOfPOD?a В чем проблема: Есть проблема в коде а именно в этом отрывке цикла, здесь идёт отбор только по наименованию характеристики номенклатуры из за этого когда Наименование совпадают происходит сбой. (его найдёте в самом низу в основной формуле в самом низу)
Приведу пример где выходит неверно: 1) Следим за этими двумя позициями. Жмём печать отчета... http://skrinshoter.ru/s/170619/TWHolkMN?a 2) Выводит отчет... где у нас видно что две наши позиции выдало одинаковые Сложные заказы а они должны быть разные. http://skrinshoter.ru/s/170619/oNv3bvFE 3)Пошагово посмотрев как себя ведёт цикл в нашем случае... увидел что из за того что наименование одинаковое цикл повторяет и назначает последнее в цикле значение (т.е. последний сложный заказ в списке отобранного запросом с одинаковым названием оно будет выбирать всегда) На скрине показываю как выглядит эти два заказа в заказе покупателя... тут видно что мы имеем разные номера сложных заказов но одинаковые наименования. http://skrinshoter.ru/s/170619/EtaKAjsZ?a Что мне нужно: Мне нужно чтобы отбор был не только по Наименованию характеристики номеклатура , но и по Номеру Сложного заказа(ТЧ_П_ДокументОснование), или хотя бы подсказку куда копать и где и что может пригодится (Материалы). Мои действия и попытки: при исправлении этого части формулы ... у меня выдавало ошибку что неможет найти "ТЧ_П_ДокументОснование" в ЗапросДокОснование.УстановитьПараметр("КлючСтроки2",ВыборкаСтрок.ТЧ_П_ДокументОснование); Вот то что я менял:
Большой основной отрывок цикла в цикле, отвечающий за ввод данных в печатную форму т.е. всё смотрим тут: (если потребуется могу выложить то что было снаружи).
|
|||
1
Молодой и неопытный
17.06.19
✎
13:43
|
Как я понял, я копаю не там... и надо смотреть шире.
|
|||
2
hhhh
17.06.19
✎
13:56
|
(1) ну делай всё в одном запросе, не нужно циклы лепить - это сложно, запутаешься.
|
|||
3
Молодой и неопытный
17.06.19
✎
14:29
|
(2) Вот это да... я попытался вначале цикл сделать дополнительный, и понял что шляпа.
щас начал в запросе копаться, поняв что тут не хватает некоторых условий. Ладно буду постепенно пытаться копать дальше. |
|||
4
ColonelAp4u
17.06.19
✎
15:19
|
(3) | И ЗаказПокупателяТовары.ХарактеристикаНоменклатуры = &КлючСтроки";
| И | ЗаказПокупателяТовары.ТЧ_П_ДокументОснование= &КлючСтроки2"; убери "; после 1ого параметра КлючСтроки |
|||
5
Молодой и неопытный
18.06.19
✎
16:24
|
(4) А это я убирал не обращайте на это внимание. Просто забыл видимо для вас убрать.
Когда запускаю и жму на печать. выходит это: {Документ.ОтчетПроизводстваЗаСмену.МодульОбъекта(176)}: Поле объекта не обнаружено (ТЧ_П_ДокументОснование) ЗапросДокОснование.УстановитьПараметр("КлючСтроки2",ВыборкаСтрок.ТЧ_П_ДокументОснование); |
|||
6
hhhh
18.06.19
✎
16:34
|
(5) ну смотри ВыборкаСтрок. Откуда она? с другого запроса? значит там нет такого поля ТЧ_П_ДокументОснование
|
|||
7
Puzyrevskiy
19.06.19
✎
07:57
|
(5) Я бы порекомендовал научиться пользоваться отладчиком, в данном случае я вижу, что у тебя
"Для Каждого ВыборкаСтрок Из СтрокаПродукция Цикл" значит в СтрокаПродукции, (возможно это Табличная Часть) такого объекта нет. Поставь, где Цикл "Точку останова" и посмотри название объекта, а потом уже его передавай в параметр КлючСтроки2. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |