#0
by pirate_
Ребят застрял, переделываю чужой отчет, структуры и т.п. менять не могу. много уже чего переделал, в нем но столкнулся с такой гадостью. В оригинале в отчете используется рекурсивная конструкция связанная с получение себестоимости по курсам на даты получения материалов в ней запрос, получаем довольно долгий запрос в цикле. Причем в глубину 1 выполняется 93% и 7% глубже 1. Чтобы ускорить хочу перенести глубину 1 в верхний общий запрос остальные 7% пускай так и выполняются. И теперь собственно вопрос есть первая временная таблица (Номенклатура, документ оприходования, ......, заказ) и вторая временная (Номенклатура, документоприходования, ......, заказ, НоменклатураДляСвязи,ДокументОприходованияДляСвязи), вторая по полям идентична первой кроме добавленных двух полей в конце. Нужно в результате выбрать первую таблицу и по связи Номенклатура=НоменклатураДляСвязи и документоприходования=ДокументОприходованияДляСвязи получить вторую таблицу "одним полем" примерно так как формируются табличные части как поле с ТЗ.
#1
by Джинн
Коллега, ни фига не понял суть вопроса. Поясните подробнее после слов "нужно в результате..". Кроме того "рекурсивная конструкция связанная с получение себестоимости по курсам на даты получения материалов" на фиг не нужна - периодические значения легко получаются запросом без рекурсии.
#2
by pirate_
одним из партия образующих документов есть документ сборка в котором в качестве исходника номенклатура которая были также получена из сборки. Нужно получить себестоимость в некой валюте по материалам по датам поступления, если Вы укажете как сделать это не рекурсивно и не изменяя конфу, буду очень рад Нужно получить примерно такое: Номенклатура, Документоприходования .... заказ, изчегостостоит(тут ТЗ из второй таблицы по связи Номенклатура=НоменклатураДляСвязи и документоприходования=ДокументОприходованияДляСвязи, может быть и пустая)
#5
by pirate_
Таблица1 НОменклатура1 Док1,....,заказ1 НОменклатура1 Док2,....,заказ2 НОменклатура1 Док3,....,заказ3 Таблица2 Номенклатура3, Док4,....,Док2,номенклатура1 Номенклатура4, Док5,....,Док2,номенклатура1 На выходе: НОменклатура1 Док1,....,заказ1, (пусто) НОменклатура1 Док2,....,заказ2, (две строчки из таблицы2) НОменклатура1 Док3,....,заказ3, (пустро)
#6
by Живой Ископаемый
Да не обращай внимания. Это я пытаюсь написать на форум текст с юникод-символами: Я?
#9
by pirate_
Причем тут это? Даты откуда получить? Суть вопроса не в этом вообще, мне нужно выбрать поле в котором будет ТЗ из таблицы 2, примерно так выбираются данные из табличных частей документа.
#11
by pirate_
для тех кто в танке: одним из партия образующих документов есть документ сборка в котором в качестве исходника номенклатура которая были также получена из сборки. Нужно получить себестоимость в некой валюте по материалам по датам поступления, если Вы укажете как сделать это не рекурсивно и не изменяя конфу, буду очень рад УРОВЕНЬ ВЛОЖЕННОСТИ НЕ 1, а может быть любой, собираются комплектующие даты во партиям соберете не рекурсивно?. И я вообще не это спрашивал, это все у меня есть и работает, посмотрите пример в каком виде мне нужно получить данные.
#12
by Джинн
Для тех, кто занятия по русскому языку прогулял и фразу "рекурсивная конструкция связанная с получение себестоимости по курсам на даты получения материалов" понимает как-то по-своему - рекурсию с произвольной глубиной вложенности запросом не получить. Нужна либо процедурная обработка, либо циклически выполняющийся запрос с параметрами. Но сама задача какая-то странная. На хрена пересчитывать документы по историческому курсу, если они по этому курсу уже пересчитаны в валюту учета?
#13
by pirate_
Блин, да мне не нужно получать рекурсию запросом, ВОПРОС НЕ В ЭТОМ. пример что есть и что нужно получить. Не важно для чего, нужно получить в таком виде. Давайте дальше о грамматике поговорим?
#14
by pirate_
Первоначальный вопрос И теперь собственно вопрос есть первая временная таблица (Номенклатура, документ оприходования, ......, заказ) и вторая временная (Номенклатура, документоприходования, ......, заказ, НоменклатураДляСвязи,ДокументОприходованияДляСвязи), вторая по полям идентична первой кроме добавленных двух полей в конце. Нужно в результате выбрать первую таблицу и по связи Номенклатура=НоменклатураДляСвязи и документоприходования=ДокументОприходованияДляСвязи получить вторую таблицу "одним полем" примерно так как формируются табличные части как поле с ТЗ. Вот пример: Таблица1 НОменклатура1 Док1,....,заказ1 НОменклатура1 Док2,....,заказ2 НОменклатура1 Док3,....,заказ3 Таблица2 Номенклатура3, Док4,....,Заказ4,Док2,номенклатура1 Номенклатура4, Док5,....,Заказ5,Док2,номенклатура1 На выходе: НОменклатура1 Док1,....,заказ1, (пусто) НОменклатура1 Док2,....,заказ2, (две строчки из таблицы2) НОменклатура1 Док3,....,заказ3, (пусто)
#16
by Либерал
ИТОГИ ПО дальше выборка по группировкам или выгружай в дерево он хочет, чтоб запрос вернул примерно как ВЫБРАТЬ Д.Дата Д.Номер Д.ТабЧастьНапримерТовары ИЗ МойВолшебныйДокументСТабЧастью КАК Д
#17
by pirate_
по поводу итоги по, таблицы имеют одинаковые колонки, и должны таким остаться, должна быть вложенная таблица, если бы был бы это МойВолшебныйДокументСТабЧастью все было бы великолепно, но как сделать это из врем таблиц?
#18
by Либерал
пират, не будь таким кровожадным, сделай уже по человечески - ИТОГИ при условии (как тебе намекнули уже), что сама постановка задачи методически не оч мудацкая
#19
by pirate_
Да с удовольствием бы, но отдать данные нужно в таком формате, постановка реально дебильная, и моя часть это оптимизация небольшого куска общей задачи, этот кусок выполнялся 1,5 часа, после оптимизаций 40 мин, дальше при переносе первого уровня рекурсии в "верхний запрос" я получаю данные за 7-10 мин, но они не в том виде в котором нужны, кроме того что получаю там еще куча всего делается и высчитывается по этим данным и это менять я не могу, из-за этого не могу поменять структуру данных получаемых в запросе. Вообще глобально это баланс и финансовые результаты в виртуальной валюте, не спрашиваете для чего, я этого не знаю, моя задача суб-суб подрядная и только ускорить получение данных.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Таблицы, таблицы, таблицы... Будь они неладны
- Создание ТЗ с вложенными ТЗ на основании плоской ТЗ методом группир. по колонкам
- Виртуальные таблицы баз начисления. Какую выбрать?
- ТЗ.Свернуть для ТЗ в ТЗ
- а если внутри выборки тз получать значение из строки тз, выборка собьется?
- Так все таки, как в СКД сделать выбор из временной таблицы?
- v8: Использование временной таблицы в произвольном запросе в динамического списке
- Соединение таблицы документа и табличных частей в запросе.
- Как имея ссылку на строку таблицы значений получить название самой таблицы
- SQL:update временной таблицы
- группировка по временной таблице как?
- Значение поля Временной таблицы передать в параметр виртуальной таблицы.
В этой группе 1С
- Конвертация данных - перенос документа в Ручную операцию
- Учет весового товара
- При проверке кода ошибка ... (Проверка: тонкий клиент)
- Описание типов. Дополнительное значение
- Мобильное приложение регламентные задания
- 8.3 УФ: Найти номенклатуру по дополнительному реквизиту
- 1с8 как вычесть из одной даты другую и найти количество месяцев
- пример вызова клиентского метода внешней обработки
- ТЗ на печать
- 1c sql server ошибка при создании информационной базы 0x0000274D
- Что такое Мержевание?
- не работает веб сервис после обновления платформы и веб севрера.
- КД2.1: Обмен из УТ 10.3 в БП. Тип не определен КлассификаторТНВЭД
- v7: SQL...Query timeout expired
- При записи регламентного задания ошибка:"Попытка вставки неуникального значения"
- Восстановление базы УТ 11
- Открыть форму подбора в табличной части
- Ошибка, вылетают пользователи, крашится RPHost
- СКД условное оформление
- Поступление услуг и прочих активов УТ11