Имя: Пароль:
1C
1С v8
Подвисает 1с УПП
0 DAVI
 
19.12.13
15:07
Добрый день! Появилась такая проблема. Когда на основании Заказа Покупателя делаем Реализацию ТМЗ, 1с подвисает на 1,5минуты. Подвисает только на контрагенте Частное лицо,На других контрагнетах нормально работает.Вчера только нормально работало. В чем может быть проблема помогите.
1 ДенисЧ
 
19.12.13
15:09
В чём угодно.
Сделай замер производительности и посмотри.
2 DAVI
 
19.12.13
15:10
я сделал. запрос к остаткам товара. РН Заказы покупателя и РН Товары на складах. На других контрагентах нормально отрабатывает
3 DAVI
 
19.12.13
15:12
Процедура ЗаполнитьПоДокументуОснования,там этот запрос. именно на частном лице тормозит.
4 Lama12
 
19.12.13
15:12
(0)Статистика. Индексы.
5 DAVI
 
19.12.13
15:14
(4) Индексы обновляются каждую ночь,до обеда обновлял сегодня,а статистика это что? и куда?
6 Lama12
 
19.12.13
15:16
(5) Статистика на SQL server. Опираясь на нее сервер строит план выполнения запроса. Если статистика не актуальная, запрос может выполняться очень долго.
7 cons74
 
19.12.13
15:20
"Подвисает только на контрагенте Частное лицо"
Вчера права подкрутили, и ограничили доступ к этому контрагенту?
ТиИ (да, сервер, но вдруг)?
8 DAVI
 
19.12.13
15:22
ТиИ делал вчера,RLS нет
9 DAVI
 
19.12.13
15:23
где еще посмотреть права
10 DAVI
 
19.12.13
15:25
(6) а по подробнее можно,как посмотреть актуальна или нет?
11 Lama12
 
19.12.13
15:27
12 DAVI
 
19.12.13
15:29
(11) а почему именно по одному контрагенту подвисает?
13 Lama12
 
19.12.13
15:40
(12) Как говорится - на все воля божия :)
14 DAVI
 
19.12.13
15:42
(13) не вовремя воля божия))у нас открытие филиала завтра
15 DAVI
 
19.12.13
15:42
а УПП висит
16 Fragster
 
гуру
19.12.13
15:43
а текста запроса не будет?
17 Fragster
 
гуру
19.12.13
15:44
вангую соединение виртуальных таблиц, в таком случае просто перенести выборку из виртуальных во временную таблицу, а затем соединить уже их.
18 Fragster
 
гуру
19.12.13
15:45
можно еще индекс по полю соединения запилить
19 Fragster
 
гуру
19.12.13
15:45
но это надо уже реально мерить
20 shuhard
 
19.12.13
15:50
(15) тебя уволят и поделом
21 DAVI
 
19.12.13
16:00
(11) Статистика обновляется каждый день
22 DAVI
 
19.12.13
16:04
Запрос.Текст ="
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    Остатки.Номенклатура                 КАК Номенклатура,
    |    Остатки.ХарактеристикаНоменклатуры   КАК ХарактеристикаНоменклатуры,
    |    NULL                                 КАК СерияНоменклатуры,
    |    Остатки.ЕдиницаИзмерения             КАК ЕдиницаИзмерения,
    |    Остатки.ЕдиницаИзмерения.Коэффициент КАК Коэффициент,
    |    Остатки.Номенклатура.ЕдиницаХраненияОстатков             КАК ЕдиницаХранения,
    |    Остатки.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоэффициентЕдиницыХранения,
    |    Остатки.Цена                         КАК Цена,
    |    Остатки.ПроцентСкидкиНаценки         КАК ПроцентСкидкиНаценки,
    |    Остатки.ПроцентАвтоматическихСкидок  КАК ПроцентАвтоматическихСкидок,
    |    Остатки.УсловиеАвтоматическойСкидки  КАК УсловиеАвтоматическойСкидки,
    |    Остатки.ЗначениеУсловияАвтоматическойСкидки  КАК ЗначениеУсловияАвтоматическойСкидки,
    |    NULL                                 КАК Склад,
    |    NULL                                 КАК СортировкаПоСкладу,
    |    Остатки.СтавкаНДС                    КАК СтавкаНДС,
    |    Остатки.СтавкаАкциза                 КАК СтавкаАкциза,
    |    Остатки.КоличествоОстаток            КАК КоличествоОстатокПоЗаказу,
    |    Остатки.СуммаВзаиморасчетовОстаток   КАК СуммаОстатокПоЗаказу,
    |    0                                    КАК ОстатокНаСкладе,
    |    0                                    КАК ОстатокРезерваПоСделке,
    |    0                                    КАК ОстатокРезерва,
    |    0                                    КАК ОстатокКПередаче" + ?(ТабличнаяЧасть = Товары, ",
    |    ВЫБОР КОГДА ОстаткиОрганизации.КоличествоОстаток ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ОстаткиОрганизации.КоличествоОстаток КОНЕЦ КАК КоличествоОстатокОрганизации", "") + ",
    |    ВЫБОР КОГДА ТЧЗаказа.НомерСтроки ЕСТЬ NULL ТОГДА 9999999 Иначе ТЧЗаказа.НомерСтроки КОНЕЦ КАК НомерСтрокиЗаказа
    |ИЗ
    |    РегистрНакопления.ЗаказыПокупателей.Остатки(, ДоговорКонтрагента = &Договор
    |                                                И ЗаказПокупателя = &Сделка
    |" + ?(ТабличнаяЧасть = Товары, "                И СтатусПартии <> &СтатусТары",  "                И СтатусПартии = &СтатусТары") + ") КАК Остатки
    |
    |" + ?(ТабличнаяЧасть = Товары, "ЛЕВОЕ СОЕДИНЕНИЕ
    |    РегистрНакопления.ТоварыОрганизаций.Остатки(,
    |                                         Организация = &Организация
    |                                                ) КАК ОстаткиОрганизации
    |ПО
    |    Остатки.Номенклатура = ОстаткиОрганизации.Номенклатура
    |    И Остатки.ХарактеристикаНоменклатуры = ОстаткиОрганизации.ХарактеристикаНоменклатуры", "") + ТекстЗапросаПоТЧЗаказа+"
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |    ВЫБРАТЬ
    |    ОстаткиНаСкладе.Номенклатура                                     КАК Номенклатура,
    |    ОстаткиНаСкладе.ХарактеристикаНоменклатуры                       КАК ХарактеристикаНоменклатуры,
    |    ОстаткиНаСкладе.СерияНоменклатуры                                КАК СерияНоменклатуры,
    |    ОстаткиНаСкладе.Номенклатура.ЕдиницаХраненияОстатков             КАК ЕдиницаИзмерения,
    |    ОстаткиНаСкладе.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент,
    |    NULL                                                             КАК ЕдиницаХранения,
    |    NULL                                                             КАК КоэффициентЕдиницыХранения,
    |    0                                                                КАК Цена,
    |    0                                                                КАК ПроцентСкидкиНаценки,
    |    0                                                                КАК ПроцентАвтоматическихСкидок,
    |    NULL                                                             КАК УсловиеАвтоматическойСкидки,
    |    NULL                                                             КАК ЗначениеУсловияАвтоматическойСкидки,
    |    ОстаткиНаСкладе.Склад                                            КАК Склад,
    |    ВЫБОР КОГДА ОстаткиНаСкладе.Склад = &Склад ТОГДА
    |    0
    |    ИНАЧЕ
    |        1
    |    КОНЕЦ                                       КАК СортировкаПоСкладу,
    |    ОстаткиНаСкладе.Номенклатура.СтавкаНДС      КАК СтавкаНДС,
    |    0                                           КАК СтавкаАкциза,
    |    0                                           КАК КоличествоОстатокПоЗаказу,
    |    0                                           КАК СуммаОстатокПоЗаказу,
    |    ОстаткиНаСкладе.КоличествоОстаток           КАК ОстатокНаСкладе,
    |   РезервыОстаткиПоСделке.КоличествоОстаток    КАК ОстатокРезерваПоСделке,
    |   РезервыОстатки.КоличествоОстаток            КАК ОстатокРезерва,
    |   КПередаче.КоличествоОстаток                 КАК ОстатокКПередаче" + ?(ТабличнаяЧасть = Товары, ",
    |    0                                           КАК КоличествоОстатокОрганизации", "") + ",
    |    ВЫБОР КОГДА ТЧЗаказа.НомерСтроки ЕСТЬ NULL ТОГДА 9999999 Иначе ТЧЗаказа.НомерСтроки КОНЕЦ КАК НомерСтрокиЗаказа
    |        
    |   ИЗ
    |   // остатки на складе
    |    РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В (
    |        ВЫБРАТЬ РАЗЛИЧНЫЕ НОМЕНКЛАТУРА ИЗ
    |                   РегистрНакопления.ЗаказыПокупателей.Остатки(, ДоговорКонтрагента = &Договор
    |                                                И ЗаказПокупателя = &Сделка
    |" + ?(ТабличнаяЧасть = Товары, "                И СтатусПартии <> &СтатусТары",  "                И СтатусПартии = &СтатусТары") + "))
    |                                               "
    + ?(МногоСкладов, ?(Не ЗначениеЗаполнено(ГруппаДоступностиСкладов), " И Склад = &Склад", "И Склад В " + ТекстФильтраПоСкладам), "
    |                                         И Склад = &Склад") + "
    |                                                ) КАК ОстаткиНаСкладе
    |    ЛЕВОЕ СОЕДИНЕНИЕ // резервы
    |    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(,"
    + ?(МногоСкладов, ?(Не ЗначениеЗаполнено(ГруппаДоступностиСкладов), " Склад = &Склад И", "Склад В " + ТекстФильтраПоСкладам + " И "), "
    |                                         Склад = &Склад И ") + "
    |                                       ДокументРезерва = &Сделка
    |                                                ) КАК РезервыОстаткиПоСделке
    |    ПО
    |    ОстаткиНаСкладе.Номенклатура = РезервыОстаткиПоСделке.Номенклатура
    |" + ?(ТабличнаяЧасть = Товары, "
    |   И ОстаткиНаСкладе.ХарактеристикаНоменклатуры = РезервыОстаткиПоСделке.ХарактеристикаНоменклатуры
    |   И ОстаткиНаСкладе.СерияНоменклатуры = РезервыОстаткиПоСделке.СерияНоменклатуры", "")
    + ?(МногоСкладов, "
    |    И ОстаткиНаСкладе.Склад      = РезервыОстаткиПоСделке.Склад", "") + "
    |
    |    ЛЕВОЕ СОЕДИНЕНИЕ // резервы
    |    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(,"
    + ?(МногоСкладов, ?(Не ЗначениеЗаполнено(ГруппаДоступностиСкладов), " Склад = &Склад И",  "Склад В " + ТекстФильтраПоСкладам + " И "), "
    |                                         Склад = &Склад И ") + "
    |                                       ДокументРезерва <> &Сделка
    |                                                ) КАК РезервыОстатки
    |ПО
    |    ОстаткиНаСкладе.Номенклатура = РезервыОстатки.Номенклатура"
    + ?(МногоСкладов, "
    |    И ОстаткиНаСкладе.Склад      = РезервыОстатки.Склад", "") + "
    |" + ?(ТабличнаяЧасть = Товары, "
    |   И ОстаткиНаСкладе.ХарактеристикаНоменклатуры = РезервыОстаткиПоСделке.ХарактеристикаНоменклатуры
    |   И ОстаткиНаСкладе.СерияНоменклатуры = РезервыОстаткиПоСделке.СерияНоменклатуры", "") + "
    |ЛЕВОЕ СОЕДИНЕНИЕ // к передаче
    |    РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(,"
    + ?(МногоСкладов, ?(Не ЗначениеЗаполнено(ГруппаДоступностиСкладов), " Склад = &Склад", "Склад В " + ТекстФильтраПоСкладам), "
    |                                         Склад = &Склад") + "
    |                                                ) КАК КПередаче
    |ПО
    |    ОстаткиНаСкладе.Номенклатура = КПередаче.Номенклатура"
    + ?(МногоСкладов, "
    |    И ОстаткиНаСкладе.Склад      = КПередаче.Склад", "") + "
    |" + ?(ТабличнаяЧасть = Товары, "И ОстаткиНаСкладе.ХарактеристикаНоменклатуры = КПередаче.ХарактеристикаНоменклатуры", "")
    + СтрЗаменить(ТекстЗапросаПоТЧЗаказа,"Остатки.","ОстаткиНаСкладе.");
23 Fragster
 
гуру
19.12.13
16:07
ну, в общем, я в (17) был прав
24 Fragster
 
гуру
19.12.13
16:07
+ переписать на построитель все, чтобы конструктором работать можно было с запросом
25 DAVI
 
19.12.13
16:11
(24) так это все работало отлично вчера,это типовой запрос. на других контргентах нормально работает же?
26 Fragster
 
гуру
19.12.13
16:17
(25) сдается мне, что сделка пустая, а по договору частного лица данных намного больше, чем по другим контрагентам
27 Fragster
 
гуру
19.12.13
16:18
в любом случае переписать на построитель
28 Fragster
 
гуру
19.12.13
16:18
и перенести виртуальные таблицы во временные
29 DAVI
 
19.12.13
16:22
(26) как уменьшить данные по договору частного лица?
30 Fragster
 
гуру
19.12.13
16:24
(29) хочешь, за 2000 я за тебя выполню рекомендации из (17)?
31 DAVI
 
19.12.13
16:37
спасибо но нет))
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан