|
Большая разница в скорости записи номенклатуры в файловом и клиент-серверном | ☑ | ||
---|---|---|---|---|
0
siriusd
22.02.16
✎
09:18
|
Добрый день!
1С:Предприятие 8.3 (8.3.6.2100) Управление торговлей, редакция 11.1 (11.1.10.195) Помогите решить проблему. С какого-то времени стали очень долго загружаться прайсы через самописную обработку. В прайсе 30 тыс позиций. Раньше это занимало минут 15-20 по времени, а теперь сутками. Сделал тест, который тупо перезаписывает 1000 позиций номенклатуры. В файловом варианте это занимает секунды, а в клиент-серверном почти 40 минут. Причем если смотреть отладчиком, то и в клиент-серверном достаточно быстро перезаписывает, но совершенно рандомно на некоторых номенклатурах зависает, а потом дальше идет и снова подвисает. В чем может быть проблема? |
|||
1
zak555
22.02.16
✎
09:24
|
не видя код - только гадать
|
|||
2
Cyberhawk
22.02.16
✎
09:31
|
Ожидание блокировки...
Поставь в свойствах ИБ 5 секунд ждать - вылезет, возможно, на какой таблице ожидание. Если не вылезет - еще уменьши. |
|||
3
siriusd
22.02.16
✎
09:33
|
&НаСервере
Функция ПерезаписатьНоменклатуруНаСервере() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1000 | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | НЕ Номенклатура.ЭтоГруппа"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); пока ВыборкаДетальныеЗаписи.Следующий() цикл ОН = ВыборкаДетальныеЗаписи.Ссылка; ОбъектС = ОН.ПолучитьОбъект(); ОбъектС.ЦенаПоставщика = 777; ОбъектС.ОбменДанными.Загрузка = Истина; ОбъектС.Записать(); КонецЦикла; КонецФункции ОбъектС.ЦенаПоставщика - это добавленный реквизит |
|||
4
hhhh
22.02.16
✎
10:01
|
Все подписки ПередЗаписью ПриЗаписи смотрите к справочника Номенклатура. Наверняка какой-нибудь быдлокод туда вставили.
|
|||
5
siriusd
22.02.16
✎
10:03
|
(4) Взял типовую конфу. ДОбавил только 1 реквизит - цена поставщика.
Все остальное типовое. |
|||
6
mistеr
22.02.16
✎
10:11
|
(5) А надо было подумать сначала. Цены нужно в регистр. И что-то мне подсказывает, что в УТ такой регистр уже есть.
Уже до 8.4 дожили, а семерочный подход живее всех живых. |
|||
7
siriusd
22.02.16
✎
10:14
|
(6) Согласен. Прекрасно понимаю, но работаю с тем что уже есть и было сделано. Пока нужно понять причины вышеописанной проблемы.
Вместо этого реквизита можно любой другой записывать, сомневаюсь, что ситуация изменится. |
|||
8
zak555
22.02.16
✎
10:20
|
(3)) пиши в транзакции + добавь ОбъектС.ОбменДанными.Загрузка = Истина;
|
|||
9
zak555
22.02.16
✎
10:20
|
только я не пойму -- зачем добавили этот реквизит ?
|
|||
10
hhhh
22.02.16
✎
10:21
|
регламентные задания отключи
|
|||
11
siriusd
22.02.16
✎
10:30
|
(10) Блокировка регламентных включена
|
|||
12
siriusd
22.02.16
✎
10:32
|
(9) да не важно. Решу проблему, дальше избавлюсь от всех ненужных реквизитов и к типовым механизмам по максимуму сведу.
|
|||
13
mistеr
22.02.16
✎
10:33
|
(7) Путаетесь в показаниях, товарищ!
По сабжу - позвать скульного админа, чтобы блокировки отследил. |
|||
14
siriusd
22.02.16
✎
10:38
|
(13) нет такового. Надо самому разобраться
|
|||
15
shuhard
22.02.16
✎
10:53
|
(14)[Надо самому разобраться]
путём трёпа на мисте это ещё ни кому не удавалось |
|||
16
siriusd
22.02.16
✎
11:00
|
(8) в транзакции попробовал. 40 сек. Спасибо.
(15) Спасибо за совет. Приму к сведению. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |