Очень долго формируется отчет #801402


#0 by prilforreal
Добрый день, прошу вашей помощи! Строю отчет в скд, в в конструкторе запроса, добавляю необходимые измерения из регистра, один реквизит из табличной части документа и  ставлю условие - период, связи через левое соединение, отчет грузится невероятно долго, хотя к нему нужно еще одно измерение другого регистра прикрепить с условием отбора... вот текст запроса: ВЫБРАТЬ ГДЕ     ДилЗаказТабличнаяЧасть1.Ссылка.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода СГРУППИРОВАТЬ ПО     Потолки.Площадь
#1 by Джинн
Странное какое-то соединение:
#2 by Ц_У
ПО Потолки.Регистратор.Ссылка = ДилЗаказТабличнаяЧасть1.Срок
#3 by mehfk
Регистр - шляпа
#4 by prilforreal
Потолки.Регистратор.ТабличнаяЧасть1.Срок = илЗаказТабличнаяЧасть1.Срок Так вернее будет?
#5 by prilforreal
Шляпник, дай совет лучше)
#6 by Любопытная
какой-то ужас в
#7 by vicof
Позовите программиста
#8 by Ц_У
если у тебя есть срок и регистратор нахрена соединять?
#9 by vicof
+100500
#10 by Любопытная
почему запрос к реальной таблице регистра? Почему таблица регистра слева, а ТЧ документа справа? Что вы вообще собрать хотите?
#11 by catena
Да, сделай так. У тебя количество записей регистра умножится на количество строк в документе.
#12 by prilforreal
Из таблицы регистра вытаскиваю почти все, из ТЧ док-а только одно поле-Срок, нужен отчет, без группировок, по колонкам- срок - код - материал - площадь - заказчик. Сперва это, после приделать регистратор состояния потолка, через него отбирать только готовые.
#13 by Любопытная
у тебя выбирается вся таблица регистра без ограничения вообще. Уверен, что тебе это надо?
#14 by prilforreal
Нет, мне нужно только 4 измерения, соединение начал делать по той причине, что сроки начали прописываться там, где даже нет записей о них, и в стремлении к соответствию данных попробовал соединить таблицы
#15 by Любопытная
а, т.е. ты даже не понимаешь о чем я говорю. Ну ок.
#16 by Avalone2010
В вашем регистре добавьте реквизит - срок. Не придеться выполнять соединения.
#17 by prilforreal
я же ответил, что вся таблица регистра мне не нужна, только данные по четырем измерениям, ограниченные во времени и критериями отбора. Все же программисты рождаются обученными и квалифицированными.
#18 by Джинн
Не обученные и не квалифицированные учатся и повышают свою квалификацию. Тут прав - архитектура ээ..., в общем в армию тоже не годится. Отсюда дальше лезут всяческие проблемы, с которыми Вы пытаетесь героически бороться. Нет рядом никого, кто бы хотя бы концептуально архитектуру решения набросал? Коллеги какие-нибудь?
#19 by Avalone2010
Нужна проверка заполнения срока по регистру?Типа в документе срока нет а в регистре он вдруг появился?
#20 by Любопытная
Вы не поняли о чем я говорю. У вас берется вообще вся таблица. Представьте себе регистр в виде большого шкафа. В шкафу на полках стоят некие папки с документами. Вам нужно выбрать некоторые документы. И вы для этого берете и весь шкаф переворачиваете. Зачем вы так делаете?
#21 by troekurov1991
Бери стандартную обработку "Консоль запросов", идет вроде с ИТС и отлаживай в ней свой запрос. Вначале задай более жесткие условия чтобы запрос не завис и что-то хотя бы вывел, потом убирай лишние условия
#22 by troekurov1991
Нехорошо издеваться над ребенком
#23 by Любопытная
я не издеваюсь, я пытаюсь объяснить. Вопрос в - почему долго строится отчет, я на пальцах объясняю почему он долго строится.
#24 by troekurov1991
Я сомневаюсь что у него настолько большая даже файловая база, чтобы были проблемы с производительностью из-за того что он телегу впереди лошади ставит. В его случае лошадь будет толкать телегу достаточно быстро если было бы наоборот.
#25 by Любопытная
Во-первых, мы не знаем. Во-вторых, это не повод писать тупой код. Стремиться к хорошему нужно всегда.
#26 by troekurov1991
Сколько в регистре накопления "Потолки" у Вас записей?
#27 by troekurov1991
Тупой не тупой, главное что работает, это для новичка большое достижение. А искать узкие места в плане производительности должен архитектор, а не новичок.
#28 by Любопытная
И вы считаете себя хорошим специалистом?
#29 by troekurov1991
Нет я знаю немного больше новичка, но успешно решил в одиночку несколько больших проектов.
#30 by troekurov1991
Заказчик считает меня хорошим специалистом))
#31 by Любопытная
я прям представляю эти решения.
#32 by piter3
может просто разницы не понимает
#33 by Ц_У
написать внешнюю печатную форму - это не проект
#34 by troekurov1991
1) Перенес почти все данные из 1С 7.7 Комплексная в 1С:8.2 Комплексная автоматизация   2) "с нуля" разработал конфу, перенес данные из старой программы Delphi, и организовал обмен с 1С:ЗУП? Продолжать?))
#35 by piter3
конечно продолжай
#36 by prilforreal
По порядку, беру из регистра Потолки необходимые измерения- колонки которые будут выводиться в отчете, (Площадь, Материал, Заказчик, Код) т.к. реквизиты из табличной части документа регистратора я включить в запрос не могу, приходится записи подтягивать из реквизита табличной части документа (ДокументДилЗаказ.ТабличнаяЧасть1.Срок) записей в регистре накопления потолки пока несколько тысяч, т.к. база молодая, но в день появляется около сотни записей. Далее устанавливаю связь через регистратор, коллега подсказал связь делать через Регистратор.Документ.Ссылка на Доккумент.ТабличнаяЧасть.Срок. Условие пока только на период.
#37 by troekurov1991
Теперь Вы сэр)))
#38 by piter3
тут пальцами ты машешь,мне это не нужно)
#39 by troekurov1991
Как долго формируется отчет, больше 15 секунд?
#40 by troekurov1991
Я так и знал))
#41 by troekurov1991
У меня на прошлой работе была внешняя обработка в ней учитывалось рабочее время и считалась зарплата, вместо того чтобы изменять ЗУП менялась эта обработка, в ней было 15 тыс. строк кода, я бы назвал ее тоже проектом
#42 by prilforreal
Мне и нужны все записи о потолках в периоде, позже будет отбор по состоянию потолка, но так как я пока не могу связать регистр с документом не берусь туда еще один регистр СостояниеПотолков привязывать
#43 by prilforreal
больше 15 минут
#44 by Любопытная
Ой нет, у меня слов нет. ТС, тебе тут товарищ "Троекуров" пусть помогает, вы, похоже, нашли друг друга
#45 by prilforreal
Любопытная, спасибо конечно, но может подскажете, чем лучше мне здесь виртуальная таблица и как ее использовать вместо реальной.
#46 by vicof
Посмотри курс по запросам от @Groovy хотя бы. Чтобы основы основ понимать.
#47 by youalex
>ПО Потолки.Регистратор.Ссылка = ДилЗаказТабличнаяЧасть1.Срок 1) ".Ссылка" здесь не нужно, это лишнее соединение 2) у тебя во всех документах по одной строке?  У тебя  получается что все строки ТЧ одного документа - соединяются со всеми записями регистра по этому документу. Т.е. если в документе 100 строк (и записей сто) - то в результат по этому доку выведется 100*100 = 10 000 записей
#48 by prilforreal
Спасибо, обязательно посмотрю, вся проблема в том, что с связанными таблицами сталкиваюсь впервые... то есть мне достаточно использовать   Потолки.Регистратор= ДилЗаказТабличнаяЧасть1.Срок? Нет, в документе то количество строк, сколько потолков менеджер к нему прикрепил.
#49 by troekurov1991
>ПО Потолки.Регистратор.Ссылка = ДилЗаказТабличнаяЧасть1.Срок Ты дату или число (срок) сравниваешь с документом (регистратор)?
#50 by prilforreal
Дату.
#51 by LuciferArh
А зачем?
#52 by troekurov1991
Сравнивай одинаковые типы, а то ты дату с ссылкой на документ сравниваешь
#53 by troekurov1991
Отчет тебе вообще правильную таблицу выдает?
#54 by prilforreal
тогда так ДилЗаказТабличнаяЧасть1.Срок=Регистратор.ТабличнаяЧасть1.Срок
#55 by prilforreal
Последний раз таблицу выдавал правильную, но происходило как заметил , число записей по одному документу дублировалось в количестве его строк
#56 by vicof
мыши плакали и кололись
#57 by prilforreal
Как правильно сделать соединение, я скоро уже сам мышью плачуще-колющейся стану...
#58 by vicof
Правильно не соединения делать, а грамотно спроектировать структуру решения.
#59 by prilforreal
Может все на поверхности и мне нужно добавить не один лишь реквизит Срок, а вместе с табличной частью? Тогда и связь автоматически заполняется...
#60 by troekurov1991
ТАк пробуй че спрашиваешь!
#61 by prilforreal
Отчет начал формироваться, быстро и без дублей, всем большое спасибо за терпение!)
#62 by troekurov1991
Любопытная скушала?))
#63 by Любопытная
ты прикалываешься? Хотя о чем это я... Да, вы великие спецы, постараюсь держаться от вас подальше, чтобы не дай бог не навредить вашей репутации.
#64 by Diman000
Главное понять почему Регистратор.Ссылка это ужасно.
#65 by H A D G E H O G s
#66 by Злопчинский
Пусть автор почитает совсем небольшую книжкуSQL для чайниковАвтор вроде ТейлорИначе он нихрена не поймёт как и зачем таблицы соединяются
#67 by Diman000
Тут еще "1С в SQL для чайников" нужен. Если есть такой. Для любой таблицы 1С ".Ссылка" это плохо и бессмысленно. Но Регистратор это часто много-много таблиц, поэтому в нем любые поля через точку это совсем беда бедная и потеря потерь потерь, если не типизировать.
#68 by prilforreal
Спасибо, прочту)
#69 by troekurov1991
Да нафиг тебе эти книжки по SQL, это уж потом для общего развития. Для начала набери на ютубе: "1С запросы" и вдумчиво послушай там курс видеоуроков и в обработке "Консоль запросов.epf" поиграйся с запросами.
#72 by prilforreal
Благодарю за материал, буду развиваться)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С