|   |   | 
| 
 | v7: Запрос в SQL оочень медленно стал работать | ☑ | ||
|---|---|---|---|---|
| 0
    
        sammmm 10.08.11✎ 10:12 | 
        В запросе 
  |Период с ДатаДок по ВсДата; |ВидТМЦ = Регистр.ВыпускГП.ВидТМЦ; |МОЛ1 = Регистр.ВыпускГП.МОЛ; |Продукция = Регистр.ВыпускГП.Наименование; |Док = Регистр.ВыпускГП.Док; |Количество = Регистр.ВыпускГП.Количество; |ВесЕдиницы = Регистр.ВыпускГП.ВесЕдиницы; |Функция КоличествоКонОст = КонОст(Количество); |Группировка Док упорядочить по Док.ДатаДок; |Условие(Продукция = Наименование); |Условие(МОЛ1 = {МОЛ}); после перехода на sql стала оочень долго выполняться функция |Функция КоличествоКонОст = КонОст(Количество); может кто-нибудь знает как её обойти? | |||
| 1
    
        sammmm 10.08.11✎ 10:14 | 
        Если что, документ Расходная накладная. ОбработкаПроведения     | |||
| 2
    
        Гефест 10.08.11✎ 10:16 | 
        За черный запрос в скульной базе при проведении знаешь какое место отрывают?     | |||
| 3
    
        AeDen 10.08.11✎ 10:17 | 
        попробуй ВключитьSQL(0) (вроде, или 1)     | |||
| 4
    
        sammmm 10.08.11✎ 10:18 | 
        (2) нечего не знаю, моя хата скраю(с) если честно это не я писал     | |||
| 5
    
        sammmm 10.08.11✎ 10:19 | 
        (3) Всё равно очень долго     | |||
| 6
    
        Ёпрст гуру 10.08.11✎ 10:20 | 
        (0) 
  штатно - установить фильтры, рассчитать, если нужно регистр + ВыгрузитьИтоги() а так, прямой запрос - наше всё. | |||
| 7
    
        Ёпрст гуру 10.08.11✎ 10:20 | 
        +6 да, то, что в (0) - в топку без вариантов.     | |||
| 8
    
        sammmm 10.08.11✎ 10:21 | 
        +4 тут программистов до меня около 10 программистов работало и каждый свою лепту внёс     | |||
| 9
    
        sammmm 10.08.11✎ 10:21 | 
        (6) подскажи пожалуйста что за фильтры     | |||
| 10
    
        Гефест 10.08.11✎ 10:21 | 
        (8) Виноватым все равно тебя назначат. Так что делай как в (6)     | |||
| 11
    
        sammmm 10.08.11✎ 10:23 | 
        Рассчитать я так понимаю нужно командой РассчитатьРегистрыПО??     | |||
| 12
    
        sammmm 10.08.11✎ 10:24 | 
        непонятно только что за фильтры     | |||
| 13
    
        ДенисЧ 10.08.11✎ 10:26 | 
        (12) УстановитьЗначениеФильтра()
  По продукции и МОЛ | |||
| 14
    
        Ёпрст гуру 10.08.11✎ 10:29 | 
        (11) для начала, нужно установить, нужно ли вообще временный расчет делать.     | |||
| 15
    
        sammmm 10.08.11✎ 10:34 | 
        (14) мне кажется нужно. Там если есть остатки то выполняется действие. Стоит вот так
  Если ЗапросГП.КоличествоКонОст >0 Тогда ... ... | |||
| 16
    
        Гефест 10.08.11✎ 10:36 | 
        Загляни в типовую торговлю. Там примеров полно     | |||
| 17
    
        sammmm 10.08.11✎ 10:36 | 
        ТабЗнач = СоздатьОбъект("ТаблицаЗначений");
  РегВыпускГП = СоздатьОбъект("Регистр.ВыпускГП"); РегВыпускГП.УстановитьЗначениеФильтра(Регистр.ВыпускГП.Наименование,Наименование); РегВыпускГП.УстановитьЗначениеФильтра(Регистр.ВыпускГП.МОЛ,МОЛ); РегВыпускГП.РассчитатьРегистрыПо(ВсДата); РегВыпускГП.ВыгрузитьИтоги(ТабЗнач); ТабЗнач.ВыбратьСтроки(); | |||
| 18
    
        sammmm 10.08.11✎ 10:37 | 
        что-то похожее?     | |||
| 19
    
        sammmm 10.08.11✎ 10:45 | 
        Правда пишет ошибку 
  РегВыпускГП.УстановитьЗначениеФильтра(Регистр.ВыпускГП.Наименование,Наименование); {Документ.РасходнаяНакладная.Модуль Документа(832)}: Реквизит с данным идентификатором не найден! | |||
| 20
    
        Андрей_Андреич naïve 10.08.11✎ 10:47 | 
        РегВыпускГП.УстановитьЗначениеФильтра(Регистр.ВыпускГП.Продукция ,Наименование);     | |||
| 21
    
        sammmm 10.08.11✎ 10:48 | 
        на (20) Поле агрегатного объекта не обнаружено (Продукция). Да и неоткуда ему там взяться     | |||
| 22
    
        sammmm 10.08.11✎ 10:51 | 
        поставил 
  РегВыпускГП.УстановитьЗначениеФильтра("Наименование",Наименование); вроде всё норм | |||
| 23
    
        sammmm 10.08.11✎ 11:00 | 
        когда стоит 
  РассчитатьРегистрыПо(ВсДата); Пишет что не может после ТА считать, хотя ВСдата=ТА | |||
| 24
    
        AeDen 10.08.11✎ 11:05 | 
        а вот тут обычно у нормальных людей начинается вдумчивое чтение документации.     | |||
| 25
    
        viktor_vv 10.08.11✎ 11:05 | 
        А что такое ВсДата ?     | |||
| 26
    
        viktor_vv 10.08.11✎ 11:06 | 
        Так если ты всегда на дату ТА хочешьполучать, то и не надо РассчитатьРегистрыПо.     | |||
| 27
    
        viktor_vv 10.08.11✎ 11:07 | 
        Только скорее всего тебе на текущий документ надо будет. РассчитатьРегистрыНа(ТекущийДокумент()).     | |||
| 28
    
        sammmm 10.08.11✎ 11:09 | 
        ВсДата=КонМесяца(ДатаДок)
  А КонОст() - на текущий документ подбивает? | |||
| 29
    
        sammmm 10.08.11✎ 11:12 | 
        По-моему разобрался. Всем кто помого огромнейшее спасибо!     | |||
| 30
    
        sammmm 10.08.11✎ 13:17 | 
        и ещё один вопрос почему когда я убираю из запроса 
  |Функция КоличествоКонОст = КонОст(Количество); Группировка равна всегда 0??? | |||
| 31
    
        sammmm 10.08.11✎ 13:18 | 
        или пишу 
  |Функция КоличествоКонОст = Приход(Количество); либо |Функция КоличествоКонОст = Сумма(Количество); всегда группировка 0 | |||
| 32
    
        sammmm 10.08.11✎ 13:23 | 
        сам запрос 
  |Период с ДатаДок по ВсДата; |ВидТМЦ = Регистр.ВыпускГП.ВидТМЦ; |МОЛ1 = Регистр.ВыпускГП.МОЛ; |Продукция = Регистр.ВыпускГП.Наименование; |Док = Регистр.ВыпускГП.Док; |Количество = Регистр.ВыпускГП.Количество; |ВесЕдиницы = Регистр.ВыпускГП.ВесЕдиницы; |Функция КоличествоКонОст = КонОст(Количество); |Группировка Док упорядочить по Док.ДатаДок; |Условие(Продукция = Наименование); |Условие(МОЛ1 = {МОЛ}); | |||
| 33
    
        sammmm 10.08.11✎ 13:36 | 
        подскажите кто знает!!!     | |||
| 34
    
        Ёпрст гуру 10.08.11✎ 13:48 | 
        (30) 
  в забросе к регистру обязательным условием является наличие функции . (31) 1. не было прихода за выбранный период в движенияъ регистра 2. функция сумма сама по себе ничего не считает для остаткового регистра (исключение - в аргументе функции реквизит регистра), только совместно с основными функциями - НачОст,КонОст,Приход,Расход | |||
| 35
    
        sammmm 10.08.11✎ 13:49 | 
        (34) ооо хоть кто-то откликнулся. А ты не знаешь как можно обойти КонОст или НачОст. А то больно долго считает     | |||
| 36
    
        sammmm 10.08.11✎ 13:51 | 
        ооо а расход есть. группировка отрабатывает     | |||
| 37
    
        sammmm 10.08.11✎ 14:02 | 
        блин так приход или расход не везде же будет((     | |||
| 38
    
        Ёпрст гуру 10.08.11✎ 14:06 | 
        (35) ВыгрузитьИтоги, это если штатно, прямой запрос - это если надо еще быстрее.     | |||
| 39
    
        sammmm 10.08.11✎ 14:13 | 
        С прямым запросом не выйдет, 1с++ не разрешают юзать. А за советы спасибо большое, уже который раз помогаешь и походу не одному мне     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |