С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/97: Рейтинг темы: голосов - 97, средняя оценка - 4.94
Hryv
0 / 0 / 0
Регистрация: 24.07.2008
Сообщений: 658
1

Оптимизация перепроведения 7.7

13.04.2010, 10:39. Просмотров 17510. Ответов 8
Метки нет (Все метки)

Сразу оговорюсь, что плохо разбираюсь в механизме актуальности регистров.
Естественно, я общий смысл понимаю, но как копну поглубже, то в голове каша образуется

Теперь по сути

Есть документ
Если создать новый и провести, то проводится относительно быстро
Но если перепровести вчерашний или более старый, то тормозит прилично

Выяснил, что все тормоза находятся в коде


Код
        Если ИтогиАктуальны()=0 Тогда
ВремРегистры.Актуальность(1);
ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент());
КонецЕсли;
В принципе, тут все понятно, раз итоги не актуальны, то их надо пересчитать - это и тормозит

Но 2-3 раза в месяц случается необходимость перепровести все эти документы
За 10 часов (то есть за ночь) успевает перепровестись примерно 15 дней, а хотелось бы все 30

Можно ли произвести какие-ибудь манипуляции с ТА, чтобы в момент проведения итоги были актуальны?
И за счет этого ускорить перепроведение
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2010, 10:39
Ответы с готовыми решениями:

1с УТ 10.3. Создание документа на основании при проведении другого документа. Реализация механизма перепроведения.
Доброго времени суток, задача стояла при проведении одного документа1,...

Формирование движений без перепроведения документов
Добрый день! Конфигурация Управление торговлей, редакция 11.1.6.17. Создал...

Отмена проведения документа при недостатке на складе. с учетом перепроведения
В 1С пару недель. Был диск с 1С 2013 года, там код работал, скачал с сайта...

Автоматизация перепроведения итогов.
она же ТА 1с 77 подскажите, кто нибудь автоматизировал перепроведение итогов...

оптимизация
Здравствуйте. Хотел оптимизировать следующий код разбив функцию блок на две...

8
vytfyt
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
13.04.2010, 10:50 2
Цитата Сообщение от Hryv
Можно ли произвести какие-ибудь манипуляции с ТА, чтобы в момент проведения итоги были актуальны?
Да. Есть 2 варианта:
1. Смещение ТА на первый перепроводимый документ. Так работает функция по восстановлению последовательности в стандартной ТиС.
2. При проведении работать с актуальными итогами. ВСЕГДА с актуальными итогами. В этом случае есть много нюансов, потребуется доработка программы...
Если быстро, используйте первый вариант. Если грамотно, проанализируйте, для чего используется временный расчет, уберите эти ограничения и работайте по второму варианту.
0
Hryv
0 / 0 / 0
Регистрация: 24.07.2008
Сообщений: 658
13.04.2010, 12:09 3
Цитата Сообщение от vitfil
1. Смещение ТА на первый перепроводимый документ. Так работает функция по восстановлению последовательности в стандартной ТиС
То есть надо для первого документа сделать
УстановитьТАна(Док.ТекущийДокумент());

и потом для каждого
Док.Провести(2);

правильно?
0
vbs
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
13.04.2010, 12:55 4
Цитата Сообщение от Hryv
За 10 часов (то есть за ночь) успевает перепровестись примерно 15 дней, а хотелось бы все 30
ЭТО Ж СКОЛЬКО ДОКУМЕНТОВ ЗА ДЕНЬ В БАЗЕ ? Я такую скорость не наблюдал даже при наличии до 1500 (больше пока не встречал), перепроведение занимает не более 15 мин. за день, если железо хорошее.
Правда, по-моему, время проведения существенно зависит от количества строк в документах...
0
Hryv
0 / 0 / 0
Регистрация: 24.07.2008
Сообщений: 658
13.04.2010, 13:27 5
Цитата Сообщение от vbs
ЭТО Ж СКОЛЬКО ДОКУМЕНТОВ ЗА ДЕНЬ В БАЗЕ ? Я такую скорость не наблюдал даже при наличии до 1500 (больше пока не встречал), перепроведение занимает не более 15 мин. за день, если железо хорошее.
Правда, по-моему, время проведения существенно зависит от количества строк в документах...
Данные о времени проведения со слов того, кто это сейчас делает

До сих пор использовалась обработка, которая работает по первому варианту от vitfil (если заходить монопольно)
Я ее чуток подправил (не по сути, а только для удобства в использовании) и потестил
Получил результат 1 день - 7 минут, правда это на копии базы и на другом железе
По моим прикидкам "на глазок" оригинал должен еще быстрее работать
Что-то не стыкуется :(

Ночью запущу сам на основной базе
Чтобы за 10 часов успеть 30 дней надо проводить 1 день за 20 минут
Это в 3 раза медленнее, чем мой тест показал
Есть шанс, что все пройдет успешно

Если нет, тогда уже буду анализировать логи, смотреть что больше всего тормозит
Может проблема и не там, где я начал искать
0
vbs
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
13.04.2010, 13:45 6
Цитата Сообщение от Hryv
(если заходить монопольно)
Ну, это-то подразумевается в первую очередь
0
Hryv
0 / 0 / 0
Регистрация: 24.07.2008
Сообщений: 658
14.04.2010, 13:37 7
В итоге нашел в чем беда
При использовании обработки время на пересчет итогов не тратится
Проблема совсем в другом
В базе (наверное из-за многочисленных переделок) некорректно идет работа с одним из регистров
Приход по нему делается, а расход - нет
Но при приходе пытается что-то там зачесть
Выгружает остатки в ТЗ, порядка 1000-1500 строк, сортирует ее и перебирает, но в цикле на первом же условии всегда попадает на Продолжить

Пока убрал этот бесполезный зачет
В принципе по плану со второго полугодия новую базу ставить, так что в этой базе, наверное, так "криво" и останется
0
vytfyt
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
14.04.2010, 13:48 8
Хочу взглянуть в глаза тому, что сделал незакрывающийся регистр. Мало того, что 1С сама в таблицу итогов лишние записи кидает (нулевые остатки), так еще и вредитель нашелся!
0
Hryv
0 / 0 / 0
Регистрация: 24.07.2008
Сообщений: 658
14.04.2010, 14:00 9
Скорее всего изначально он закрывался
Эта база на основе стандартной ТиС
Но потом кто-то что-то сделал и закрываться перестало
На мой вопрос: "А как же вы этим регистром пользуетесь?"
Был ответ: "А мы им не пользуемся"

Может они просто не вносят документы, которые его должны закрывать
Честно говоря разбираться по сути в данном конкретном случае желания нет
0
14.04.2010, 14:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2010, 14:00

Оптимизация
помогите оптимизировать формулы Добавлено через 5 минут не могу закинуть...

Оптимизация
Всем доброго времени суток... на подобном форуме впервые и если что-то, как-то,...

Оптимизация
Ребят как можно оптимизировать программу, слишком уж объемная получилась....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru