К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Перерасчет Регистров

Гость
0 - 05.08.2019 - 14:43
Куплен новый сервак под переход на УТ11, пока учет ведется на Тис 7.7 местами переписанной. Пользователей до 30. Документов в день 400 - 500. По сути все предпосылки для перехода на SQL, но стабильно работающая связка 1с 7.7 + Win2008 64 +?? SQL не вытанцовывается. Узкое место в текущей сборке - подбор с перерасчетом 4 регистров (местная дописанная фишка, убить не вариант) на достаточно большом справочнике Номенклатуры. В остальном тормоза расшили. База живет в ТА. Как ускорить процесс или отказаться от пересчетов? Если отменить пересчет регистров и смотреть по ТА насколько будут плыть цифры от реальных?


Гость
1 - 05.08.2019 - 15:12
Если отменить пересчет регистров и смотреть по ТА насколько будут плыть цифры от реальных
НО учитывать что получение данных из этих регистров в отчетах, например, может вести себя "интересно" (эффект грязного чтения + отсутствие промежуточных итогов как "печки от которой плясать")
Гость
2 - 05.08.2019 - 15:42
Цитата:
Сообщение от roma n Посмотреть сообщение
Если отменить пересчет регистров и смотреть по ТА насколько будут плыть цифры от реальных НО учитывать что получение данных из этих регистров в отчетах, например, может вести себя "интересно" (эффект грязного чтения + отсутствие промежуточных итогов как "печки от которой плясать")
По сути "приблизительные цифры" не страшны. Они все равно не абсолютно актуальны - пока кто-то топчется в подборе другие уже могут и растащить остатки. Документ при проведении перепроверяет остаток.
Гость
3 - 05.08.2019 - 15:43
А реально работающей связки со Скулем нет? Статьи я читал, но там сильно не однозначные танцы с бубном.
4 - 05.08.2019 - 16:31
В чем вопрос ? База 7.7 в DBF какого размера ? Большой справочник номенклатуры это сколько ? 100 тыс элементов? Что за хитрый расчет и перерасчет? ТА - живет текущим днём ? И при чем тут SQL и УТ 11. 2005 SQL 32 бита можно ж к 77 прикрутить на win2008, пусть и с нарушением.
Гость
5 - 06.08.2019 - 09:24
(0) Не очень понял про подбор номенклатуры и перерасчет 4-х регистров одновременно. Вам надо одновременно смотреть остатки по 4-м регистрам? Вам надо снимать остатки не на ТА, а на произвольную дату?
Попробуйте реализовать "новую" методику списания из 8-ки. Сначала подбираете все и проводите документ, а потом делаете контроль отрицательных остатков.
Гость
6 - 06.08.2019 - 09:37
Цитата:
Сообщение от Jimbo Посмотреть сообщение
В чем вопрос ? База 7.7 в DBF какого размера ? Большой справочник номенклатуры это сколько ? 100 тыс элементов? Что за хитрый расчет и перерасчет? ТА - живет текущим днём ? И при чем тут SQL и УТ 11. 2005 SQL 32 бита можно ж к 77 прикрутить на win2008, пусть и с нарушением.
По пунктам:
База не большая (меньше 1 гб)
Номенклатура в районе 50 000 элементов
Перерасчет не хитрый, просто пришлось по структуре остатков добавить 2 дополнительных регистра остатков и резервов и при подборе идет временный расчет и получение остатков по 4 регистрам (правда пересчет идет при открытии, а тормозит и при выборе позиций)
ТА живет текущим днем
По Скулю - сервант новый, под систему Оптан стоит и 2008 может не встать, а под Вин2012 пляски с 7.7 и Скулем без шансов
Гость
7 - 06.08.2019 - 09:39
Есть ощущение, что тормозит не расчет а получение остатков из регистра.
Гость
8 - 06.08.2019 - 09:48
Регистры рассчитываются при открытии формы подбора номенклатуры. Получение остатков из стандартной функции ПолучитьОстатокЗаполнитьЦену(), измененный кусок

////////////////////////////////////////////////////////////////////////////////////
ОстатокБух = БухОстатки.СводныйОстаток(,ТекНоменклатура,"Количе ство");
Единица = ТекНоменклатура.ОсновнаяЕдиница;

Если Единица.Коэффициент > 0 Тогда
ОстатокБух = ОстатокБух / Единица.Коэффициент;
КонецЕсли;
ТекБухОстаток = ?(ПустоеЗначение(ОстатокБух) = 1, "", СокрЛП(Формат(ОстатокБух,"Ч014.1, ")));
///////////////////////////////////////////////////////////////////////

По сути все стандартно, но после включения пошли очень ощутимые тормоза, аналогичный кусок по резервам пока убрали.
Гость
9 - 06.08.2019 - 10:54
(6) Отключайте временный расчет (снимайте остатки на ТА) и будет Вам счастье.
Гость
10 - 06.08.2019 - 10:57
Ну это очевидный вариант. Правда не объясняющий тормоза ПОСЛЕ открытия формы (в этот момент итоги уже пересчитаны).
11 - 06.08.2019 - 10:58
Не помню уже в 7.7 отладчике есть ли время замеров ? Если нет, то надублировать строк Сообщить ТекущееВремя() и найти то, что тупит.
Переписать на черный запрос не в цикле и замерить.
Если ТА актуально - то зачем временный расчет ?
На 2012 можно виртуалку поставить 2008R2
12 - 06.08.2019 - 11:13
_GetPerformanceCounter() - поточнее время сечет, разности копим, сортируем
Гость
13 - 06.08.2019 - 11:15
Цитата:
Сообщение от Jimbo Посмотреть сообщение
Не помню уже в 7.7 отладчике есть ли время замеров ? Если нет, то надублировать строк Сообщить ТекущееВремя() и найти то, что тупит.
Время замеров есть - посмотрю, мой косяк

Цитата:
Сообщение от Jimbo Посмотреть сообщение
На 2012 можно виртуалку поставить 2008R2
Сервак терминальный под 40 пользунов, совать их в виртуалку так себе идея.
Гость
14 - 06.08.2019 - 12:29
Почти очевидно, что тормозит СводныйОстаток. Может у тебя добавленные регистры не в очень хорошем состоянии, например не закрываются. Что это за бухостатки в ТИС, зачем они ваще там нужны ?))
Гость
15 - 06.08.2019 - 14:54
Регистр закрывается на уровне измерений, но движения по реквизитам могут быть не закрыты. А назначение его простое - на всю контору есть бонусная продукция идентичная обычной с лимитами на всех. Соответственно списывается она в любом филиале из общего количества типа "кто первый успел". Но больше лимита строго нельзя. Причем ее еще и резервировать приходится под промоакции.
Про "почти очевидный СводныйОстаток" согласен, но вот варианты? И потом Резервы и Остатки не тормозят, а с чего тут такие тормоза?
16 - 06.08.2019 - 15:08
С того что регистры должны закрываться в 0 при правильной архитектуре. Копию базы сделайте загрузкой-выгрузкой. ТиИ, пересчетов итогов на копии, сжатие и реструктуризация. Интересно лёд тронется с метртвой точки? Отладчик и замер тормозов в живой и на копии.
Гость
17 - 06.08.2019 - 15:10
Завтра буду играться копией. Регистр на уровне измерений закрывается! Да и данных там не много. Больше действительно похоже на тормоза при получении остатка.
Завтра продолжим с цифрами.
18 - 06.08.2019 - 15:25
если захочется заморочиться и ускорить в разы работу с чтением итогов регистров в узких местах, то можно прикрутить 1sqlite предварительно тщательно его покурив))
Гость
19 - 06.08.2019 - 17:54
(10) С каждым телодвижением на форме отрабатывает функция получения остатков (размещенная в поле ТЗ) по каждой строке списка.
Гость
20 - 09.08.2019 - 14:42
Цитата:
Сообщение от US1C Посмотреть сообщение
(10) С каждым телодвижением на форме отрабатывает функция получения остатков (размещенная в поле ТЗ) по каждой строке списка.
Совершенно согласен! Вопрос решился банально - расчет доп. остатков и резервов снесли вниз в текстовые поля для текущей номенклатуры и все залетало. Ворчат пользуны про неудобства, но это как водится ...
22 - 13.08.2019 - 10:26
Точно из "Бриллиантовой руки" - "на этом месте должен был быть Я" :).
1С 7.7. ТИС сильно переделанная. Win 2008-64 DBF порядка 45 пользователей. С великим интересом читаю что и как
23 - 13.08.2019 - 10:48
(22) Не актуально пока что. Хотя там же есть флаг "показывать остатки и цены в колонке". Я еще туда остатки витрин присобачил ).


К списку вопросов






Copyright ©, Все права защищены