Комментарии
Избранное
Подписка
Сортировка:
Древо
У стандартного метода есть неоспоримый плюс - пересчет идет транзакциями помесячно. И если срубить процесс в середине - ничего страшного не произойдет. И даже отчеты могут работать. А если предварительно делать транкейт, то работа встанет до конца пересчета, а если еще и ошибка произойдет...
(1) Стал юзать эту обработку именно из-за "неоспоримых плюсов" стандартного метода. Дело в том, что для стандартного пересчета надо именно наглухо остановить работу, так как он делается монопольно, а у нас весовая работает круглосуточно. А если срубить этот процесс в середине - наступит полная и беспросветная жопа. Оборотки просто перестают работать. Наглухо зависают и все. Банда юзеров кричит караул.
(8) я имею ввиду не стандартный диалог из "все функции", а выполнение метода РегистрНакопленияМенеджер.<Имя регистра накопления>.ПересчитатьИтогиЗаПериод() и ~.ПересчитатьТекущиеИтоги() которые выполняются относительно быстро (если делать в цикле по месяцам), не требуют монопольного доступа и не блокируют базу (если не трогать итоги за обновляемый период, т.е. оперативную работу вообще никак не затрагивает). Только последний этап - пересчет текущих итогов может сделать небольшую паузу в работе, но как правило эта пауза измеряется максимум в минутах.
Задумка хорошая, но зачем пересчитывать итоги за весь период? Я не думаю, что в предыдущие периоды кто-то активно вносит изменения.
Честно, говоря, я вообще сейчас склоняюсь к тому, что в большинстве случаев для регистрв остатков нужны только Актуальные итоги
Честно, говоря, я вообще сейчас склоняюсь к тому, что в большинстве случаев для регистрв остатков нужны только Актуальные итоги
SQL 2014. Аутентификация SQL. Запуская на сервере. В SQL спокойно захожу, а обработка пишет недоступен.
{ВнешняяОбработка.УскоренныйПолныйПересчетИтоговРегистров.Форма.ФормаУправляемая.Форма(219)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): [DBNETLIB][ConnectionOpen (Connect()).]SQL Server не существует, или доступ запрещен.
Хотя я разобрался. Из имени сервера надо удалить номер порта 1С.
{ВнешняяОбработка.УскоренныйПолныйПересчетИтоговРегистров.Форма.ФормаУправляемая.Форма(219)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): [DBNETLIB][ConnectionOpen (Connect()).]SQL Server не существует, или доступ запрещен.
Хотя я разобрался. Из имени сервера надо удалить номер порта 1С.
Колбасит, профайлер циклично показывает begin, select, insert, truncate, commit. Все ок, при этом проц нагружает порядочно. Даже параллельно работать можно в базе. Чего не хватает обработке - так это прогресс бар прикрутить бы.
Обработкой пришлось воспользоваться, так как стандартный метод расчета итогов через предприятие зависал намертво и висел в таком виде до 8 часов, потом я просто убивал это дело. В конфигураторе тестирование-исправление-пересчет вел себя точно так же.
Обработка сделала все за 2 часа.
Респект и плюс в карму.
Обработкой пришлось воспользоваться, так как стандартный метод расчета итогов через предприятие зависал намертво и висел в таком виде до 8 часов, потом я просто убивал это дело. В конфигураторе тестирование-исправление-пересчет вел себя точно так же.
Обработка сделала все за 2 часа.
Респект и плюс в карму.
(11)Вопрос появился. Не по работе обработки, а может было что-то подобное в личном опыте. На копии базы отработала нормально, все пересчитало четко. А вот на рабочей базе не сработала. Зависла и все. В профайлере отслеживал работу - просто в какой то момент перестали поступать запросы. Был последний BatchCompleted и потом все остановилось. Точно так же себя ведет конфигуратор на пересчете итогов и в режиме предприятия тоже. Зависают пересчеты регистра бухгалтерии. Не доводилось с таким сталкиваться? Не знаю на что и думать, на платформу или на скуль. Платформа 8.3.10.2299, скуль 2008R2 10.50.1600.1
Добрый день коллеги !
прошу знающих дать совет практический :
Порядок действий при пересчете итого по регистру каков ?
имею ввиду сам код в произвольном алгоритме - а не обработки готовые - предпочитаю все же понимать что делаю
1. отключаем расчет итогов :
Регистр<Имя>.УстановитьИспользованиеТекущихИтогов(Ложь)
2. включаем использование итогов :
Регистр<Имя>.УстановитьИспользованиеТекущихИтогов(Истина)
3.Регистры<Имя>.ПересчитатьИтогиЗаПериод(НачалоМесяца(Дата() )
или же иной порядок ?
прошу знающих дать совет практический :
Порядок действий при пересчете итого по регистру каков ?
имею ввиду сам код в произвольном алгоритме - а не обработки готовые - предпочитаю все же понимать что делаю
1. отключаем расчет итогов :
Регистр<Имя>.УстановитьИспользованиеТекущихИтогов(Ложь)
2. включаем использование итогов :
Регистр<Имя>.УстановитьИспользованиеТекущихИтогов(Истина)
3.Регистры<Имя>.ПересчитатьИтогиЗаПериод(НачалоМесяца(Дата() )
или же иной порядок ?
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.
Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2")
|
Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2")
Открыть