yudin писал(а) 18. Января 2008 :: 07:03:Установка ТА. Отличия от оригинала:
1. Если в таблице движений регистра есть поле DATE_TIME_IDDOC, но при этом не стоит галочка Быстрая обработка движений, и не стоит "Отбор" ни по одному из измерений (оказывается такое бывает), итоги не переносились. См. выше.
2. Добавлена обработка ошибок (вывод в окно сообщений текста ошибки) при выполнении запроса.
3. Если отменены штатные блокировки 1С, то таблицы не блокировались, теперь блокируются.
Исправлено. Переделана функция, которая проверяет необходимость цепляния _1sjourn, теперь она проверяет не только измерения на галочку "отбор движений" но и реквизиты, так как поле DATE_TIME_IDDOC в таблице движений регистра создается и в этом случае.
у меня обработка не отработала - накидала ошибок:
Ошибка при выполнении запроса:
exec _1sp_$РегистрИтоги.ОстаткиТоваров_TLockX
Описание ошибки:
Meta name parser error: объект не найден "$РегистрИтоги.ОстаткиТоваров_TLockX"
Ошибка при выполнении запроса:
exec _1sp_$РегистрИтоги.ПартииТоваров_TLockX
Описание ошибки:
Meta name parser error: объект не найден "$РегистрИтоги.ПартииТоваров_TLockX"
Ошибка при выполнении запроса:
exec _1sp_$РегистрИтоги.ТоварыВМагазине_TLockX
Описание ошибки:
Meta name parser error: объект не найден "$РегистрИтоги.ТоварыВМагазине_TLockX"
Ошибка при выполнении запроса:
exec _1sp_$РегистрИтоги.ТоварыВПути_TLockX
Описание ошибки:
Meta name parser error: объект не найден "$РегистрИтоги.ТоварыВПути_TLockX"
Ошибка при выполнении запроса:
delete
from $РегистрИтоги.ОстаткиТоваров
where period>={d '2008-03-01'}
Описание ошибки:
State 42000, native 9002, message [Microsoft][ODBC SQL Server Driver][SQL Server]The log file for database 'TorgSB' is full. Back up the transaction log for the database to free up some log space.
По первым строкам ошибок - почему-то парсер не срабатывает, как я понял.
А по лог-файлу базы - он всего-то 1Мб, потому непонятно, почему delete не отрабатывает.
PS: Проблема оказалась в нехватке места для расширения Лог-файла БД. Видимо скуль хочет места на большую транзакцию более 10 гигов (база щас 35гиг). Освободил место и вот тебе радость. Все заработало.
Заметил, что при переносе ТА вперед, все равно генерится запрос по удалению итогов на будущий период. Думаю, есть смысл сдалть
select top 1 for <условия удаления>, и если вернет строку, тогда только выполнять и
делете, а то получается лишний скан на каждый регистр и лишнее потраченное время.