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

Помогите с построением запроса

Автор Игорь_M, 15 фев 2015, 00:11

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

vitasw

Цитата: Игорь_M от 18 фев 2015, 14:22как реализовать в запросе цикл в цикле?
чего-чего?

Игорь_M

имеется ввиду эквивалент цикла в цикле
есть Справочник Полуфабрикаты , в нем ТЧ ОБъединенСПФ. ТЧ ОБъединенСПФ содержит реквизит ОБъединенПФ, тип - СправочникСсылка.Полуфабрикаты. У ОБъединенПФ есть ТЧ ДочернПФ, в ней реквизит ПФДоч, тип тоже -  СправочникСсылка.Полуфабрикаты.
Нужно выбрать те Полуфабрикаты у которых для каждого ОБъединенПФ (из ТЧ ОБъединенСПФ) выполняется условие : для каждого ПФДоч ПФДоч.МоментОкончания<=ВремяН

vitasw

Боюсь этот текст звучит как ".... в доме, который построил, Джек". вот честно 3 раза прочитал, пытаясь вникнуть во взаимосвязи. Теоретически понимаю, что связь есть и она, наверное, логична, но сил понять это уже нет - пойду спать.:)

temrmal

Написал в личку

Добавлено: 19 фев 2015, 00:43



ВЫБРАТЬ
ПолуфабрикатыДочернПФ.Ссылка КАК Полуфабрикат,
МИНИМУМ(ВЫБОР
КОГДА ПолуфабрикатыДочернПФ.ПФДоч.МоментОкончания <= &ВремяН
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ) КАК Подходит
ПОМЕСТИТЬ ТабПодготовки
ИЗ
Справочник.Полуфабрикаты.ДочернПФ КАК ПолуфабрикатыДочернПФ

СГРУППИРОВАТЬ ПО
ПолуфабрикатыДочернПФ.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТабПодготовки.Полуфабрикат
ПОМЕСТИТЬ ИсходныеСсылки
ИЗ
ТабПодготовки КАК ТабПодготовки
ГДЕ
ТабПодготовки.Подходит = ИСТИНА
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПолуфабрикатыОбъединенСПФ.ОбъединенПФ,
ИсходныеСсылки.Полуфабрикат
ПОМЕСТИТЬ ТЧОбъединен
ИЗ
ИсходныеСсылки КАК ИсходныеСсылки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Полуфабрикаты.ОбъединенСПФ КАК ПолуфабрикатыОбъединенСПФ
ПО ИсходныеСсылки.Полуфабрикат = ПолуфабрикатыОбъединенСПФ.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПолуфабрикатыДочернПФ.Ссылка,
МИНИМУМ(ВЫБОР
КОГДА ПолуфабрикатыДочернПФ.ПФДоч.МоментОкончания <= &ВремяН
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ) КАК Подходит
ПОМЕСТИТЬ ТЧДочерн
ИЗ
Справочник.Полуфабрикаты.ДочернПФ КАК ПолуфабрикатыДочернПФ

СГРУППИРОВАТЬ ПО
ПолуфабрикатыДочернПФ.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТЧОбъединен.Полуфабрикат
ПОМЕСТИТЬ Итог
ИЗ
ТЧОбъединен КАК ТЧОбъединен
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТЧДочерн КАК ТЧДочерн
ПО ТЧОбъединен.ОбъединенПФ = ТЧДочерн.Ссылка
И (ТЧДочерн.Подходит = ИСТИНА)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
Итог.Полуфабрикат
ИЗ
Итог КАК Итог


Попробуй, база пустая у меня
Добавлено: 19 фев 2015, 00:44


Объединение с пустойТЧ в конце делай

Игорь_M

ругается на 2ой СГРУППИРОВАТЬ ПО  - синтаксическая ошибка
______________________________________
сорри - вставил через конструктор сейчас не ругается
момент проверю что выбирает ...
Добавлено: 19 фев 2015, 01:41


Выбирает только если В ОбъединенСПФ записан сам Полуфабрикат (изначальный) и  проверка на ВремяН по ОбъединенСПФ не работает ..

Теги:

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

Рейтинг@Mail.ru

Поиск