#0
by pashoid
SELECT ДатаДок, Док AS Документ, Док_вид AS Документ_Вид, FROM $Справочник.ШтатноеРасписание AS СпрШтат SELECT Жур.IDDoc AS Док, Жур.IDDocDef AS Док_вид, CAST(LEFT(Жур.Date_Time_IDDoc, 8) AS DateTime) AS ДатаДок, $ДокПМинус.Фирма AS Фирмы, $ДокПМинус.Склад AS Склады, $ДокПМинус.Продавец AS Продавец, $ДокПТМинус.Товар AS Товары, ТовПТМинус.ParentID AS Группы, (SELECT $Спр.Отдел FROM $Справочник.Товары AS Спр WHERE FROM _1SJourn AS Жур LEFT JOIN $Документ.ПереносЗарплатыПродавца AS ДокПМинус ON ДокПМинус.IDDoc = Жур.IDDoc LEFT JOIN $ДокументСтроки.ПереносЗарплатыПродавца AS ДокПТМинус ON ДокПТМинус.IDDoc = Жур.IDDoc LEFT JOIN $Справочник.Товары AS ТовПТМинус ON ТовПТМинус.ID = $ДокПТМинус.Товар |SELECT ДатаДок, Док AS [Документ], Док_вид AS [ДокВид], FROM sc3208 AS СпрШтат SELECT Жур.IDDoc AS Док, Жур.IDDocDef AS Док_вид, CAST(LEFT(Жур.Date_Time_IDDoc, 8) AS DateTime) AS ДатаДок, ДокПМинус.sp3294 AS Фирмы, ДокПМинус.sp3295 AS Склады, ДокПМинус.sp3296 AS Продавец, ДокПТМинус.sp3305 AS Товары, ТовПТМинус.ParentID AS Группы, (SELECT Спр.sp1731 FROM sc33 AS Спр WHERE FROM _1SJourn AS Жур LEFT JOIN dh3312 AS ДокПМинус ON ДокПМинус.IDDoc = Жур.IDDoc LEFT JOIN dt3312 AS ДокПТМинус ON ДокПТМинус.IDDoc = Жур.IDDoc LEFT JOIN sc33 AS ТовПТМинус ON ТовПТМинус.ID = ДокПТМинус.sp3305как на внешнем запросе типизировать Док как $Документ (имено неопределеного вида!), и Док_вид так, чтоб было написанно вид документ (но это не обязательно)?запрос, по сути - упрощен, поэтому выглядид чуток громоздко, но этот кусок 100% рабочий и отображает мою проблему.Очень надеюсь на помощь.
#1
by WAR
Запрос действительно выглядит рабочим.А если первые строчки подправить так: ДатаДок, Док AS [Документ $Документ],и больше ничего не менять?
#4
by pashoid
супер, супер, супер.... огромное сэнкс. :)а еще вот эта часть вопроса:"... и Док_вид так, чтоб было написанно вид документ ..."?
#5
by WAR
Сорри, поздновато заглянул опять на форум.Ну я вижу решение данной проблемы в следущем:Делаешь временную таблицу, создаешь объект типа MetaDataWork и циклом по Метаданные.Документ пихаешь во временную табличку ИДОбъекта (метод объекта MetaDataWork) и Идентификатор.Потом присодиняешь к своей таблице по IdDocDef и имеешь ВидДокумента.
#6
by WAR
На вот тебе готовый код, я его юзаю. олеКом = СоздатьОбъект("ODBCRecordSet"); олеКом.Выполнить("IF object_id('tempdb.dbo.#VidDoc') IS NOT null
#7
by pashoid
о, спасибочки.а то уже хотел делать обход в таблице с выгруженными данными запроса.еще пару вопросов:1) чисто практический.есть отчет, в котором есть три уровня расшифровок:1. продажи по продавцам;2. продажи продавца по дням за установленный период;3. продажи продавца по документам и товарам за день.выходит так, что запрос построен одним макаром для всех трех расшифровок(в основном из завернутости расчета сумм), единственное отличие - с каждым уровнем накладываются разные условия.как лучше - при каждой расшифровке формировать почти один и тотже запрос (время выполнения которого уменьшается пропорционально количеству накладываемых условий), или сделать один раз выгрузку в ТЗ и потом просто накладывать условия при проходе для распечатки?2) и что лучше использовать, Индексируюмую ТЗ или обычную, если в таблице никакого поиска не будет - просто тупой перебор для печати.
#8
by USSR
А почему не выгрузить запрос не в ТЗ, а в промежуточный DBF? А потом к нем запрос писать? я так делал сложный отчет из нескольких запросов.
#9
by pashoid
у меня уже есть сложный отчет. почти все реквизиты его нужны или для сортировки, или для вывода на печать в каждой расшифровке.у меня вопрос по оптимизации работы именно с одним отчетом и одной таблицей.Сейчас для каждой расшифровки я формирую запрос заново - мне понравилось время его выполнения. И полученные данные просто перебором выводятся на печать. Но, в плане удобности это плохо, так-как любое изменение в расечте сумм, повлечет изменение в каждом запросе.Так вот вопрос, если я буду формировать запрос один раз, и совсеми нужными полями выгружу в ТЗ (а не в файл, время работы с которым будет явно выше) и в ней буду накладывать условия при выводе на печать - я е потеряю в скорости?Приблизительный объем - месячная обработка выгружает в ТЗ около 10 тыс строк. Первый отчет выводит приблизительно 40 строк с свернутыми данными, вторая расшифровка - максимум 31, третья - зависит от плодовитости продавца.
#11
by pashoid
спасибочки, за ссылку, но там ответа нет на мой вопрос.потом туда брошу тему с проблемкой.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Перечисление
- Как убрать из строки буквы и символы, оставить только цифры?
- Повтор строк в ТЗ
- Кто работал с обработкой ExImDocs?
- v7. Настрока проводки на Удержание за неотработанные дни отпуска
- ошибка установки монопольного доступа в случае удаления в 1с8 ошибочных про
- оффлайн-работа в сетевой 1С
- Проверка значения перечисления
- Как упаковать в zip xml файл перед отправкой по электронке
- Игра линии: нахождение самого короткого пути.
- Диаграммы. ИменаТочек - как изменить направление текста
- Говорят есть единый справочник номенклатуры для аптек. Если правда, где взять?
- Что за строка и Как избавиться от нее?
- Где взять примерные задания для экзамена 1С:Специалист по ЗиК 7.7
- v7: Отчет по кварталам
- Корпус для MPX-220
- План поступления материалов на год
- Как изменить данные поля таблицы SQL
- Как разбить интервал дат на периоды?
- Как программно убрать колонтитулы ?