Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 09:51

Обход ТЧ и запроса

Автор anna_m, 24 июн 2021, 15:28

0 Пользователей и 1 гость просматривают эту тему.

anna_m

Есть ТЧ документа, имеющая вид:

НоменклатураЦенаЦветВид
Яблоко100
Груша200
Абрикос300

и запрос, результат которого имеет вид:
ЦенаЦветВид
1000зеленыйсвежий
2000желтыйсвежий
3000оранжевыйсухофрукт

Нужно построчно связать запрос и ТЧ, чтобы в итоге ТЧ имела вид:
НоменклатураЦенаЦветВид
Яблоко1000зеленыйсвежий
Груша2000желтыйсвежий
Абрикос3000оранжевыйсухофрукт

Связать запросы никак, ибо в запросе нет "номенклатуры". Нужен построчный обход, где бы первой строке табличной части соответствовали значения первой строки результата запроса.

Помещать результат запроса в массив или есть еще варианты?

LexaK

ну и задачки у вас!  :lol:
сами же отвечаете
ЦитироватьСвязать запросы никак,

как вариант
можно связать просто по порядку строк (порядок строк можно изменить сортировками на нужный),
в табличной части уже номер строки есть (можно использовать его)
в другую таблицу также добавить автонумерацию строк (при этом можно отсортировать как надо)
и эти две таблицы соединить по номерам строк,
если количество строк совпадает то результирующая таблица получится ровная, если разное то в условии можно откинуть лишние
вот какой-то пример получился, посмотрите может подойдет к вашей задаче
Выбрать "Яблоко" как Номенклатура, 100 как Цена поместить ТабТЧ
объединить все Выбрать "Груша", 200
объединить все Выбрать "Абрикос", 300
;

Выбрать "зеленый" как Цвет, 1000 как Цена, "свежий" как Вид поместить ТабРез
объединить все Выбрать "желтый", 2000, "свежий"
объединить все Выбрать "оранжевый", 3000, "сухофрукт"
объединить все Выбрать "красный", 4000, "вяленый"
;
//нумеруем строчки
выбрать АВТОНОМЕРЗАПИСИ() как Номер, Таб.* Поместить ТабТЧ1
из ТабТЧ таб
;

//нумеруем строчки
выбрать АВТОНОМЕРЗАПИСИ() как Номер, Таб.* Поместить ТабРез1
из ТабРез таб
;

Выбрать
ТабРез1.*,
ТабТЧ1.*
из
ТабРез1
внутреннее соединение ТабТЧ1 //для отладки: полное
по табрез1.Номер = ТабТЧ1.Номер

если помогло нажмите: Спасибо!

anna_m

Цитата: LexaK от 24 июн 2021, 16:12ну и задачки у вас!  :lol:

как вариант...

LexaK ,спасибо Вам огромное! Вы помогли состыковать нестыкуемое и ооочень мне помогли!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск