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