Комплекс программ для организации отчетов по истории инвентарной картотеки в программной среде «ПАРУС 8.5.2.1»
В этом документе описывается пример как создать комплекс отчетов отражающих состояние инвентарной картотеки на начало любого отчетного периода.. Вы сможете получить данные по наличию, суммам амортизации, данные по состоянию инвентарной карточки, перемещениям и т.д. на начало любого учетного периода или за выбранное количество учетных периодов квартал, год и т.д. (учетный период в данном примере равен 1 месяцу). Вы сможете получить эти данные в разрезе счета учета карточки, в разрезе любой аналитики счета учета, по МОЛ, местонахождению, амортизационным группам, счетам начисления амортизации, шифру амортизации, в разрезе доп свойства и т.д.
Структура вспомогательных таблиц, процедур и представлений:
Вспомогательная таблица для хранания данных о наличии карточки на учетный период для карточек бухгалтерского учета: TI_INVHIST_OST
Вспомогательная таблица для хранания данных о наличии карточки на учетный период для налогового учета: TI_INVHIST_OST_TAX
Таблица содержащая данные о моменте списания инвентарной карточки. В отчеты попадает карточка по учетный период включая месяц списания. В последующие месяца после месяца списания карточка в отчетах не отражается:
таблица TI_INVENTORY_DATE_OPER4
Пакет процедур для корректного решения проблем мутирующих таблиц. (Решение взято из книги Тома Кайта).
Процедура заполняющаяя таблицы ti_invhist_ost и ti_invhist_ost_tax: Управляющийся триггерами пакетТриггера
До исправления истории ИК
TRI_INVHIST_APERIODS_BINSERT - пересчитывает остатки ИК на вновь открываемый учетный период
После исправления истории
Проверяет чтоб в соответствии с учетной политикой амортизация начислялась 1-го числа месяца и операция начисления амортизации была первой операцией в учетном периоде (до перемещений карточки). Кроме того сохраняет в историю ИК данные о счете начисления амортизации из правила начисления амортизации.
Вспомогательные процедуры и триггера работают корректно пока не произойдет сбой на сервере в результате долгого запоя сисадмина или кто-то из пользователей не отключит триггера желая порезвиться в таблицах на низком уровне. В этом случае требуется небольшой комплекс отчетов и процедур позволяющих восстановить испорченные данные. Также это требуется для первичного заполнения таблиц.
Процедура которая пересчитывает итоги целиком по всей инвентарной картотеке. (требуется ее запуск после компиляции всего перечисленного выше).
Если ошибки обнаруженны только в нескольких карточках (например в одном цехе), то итоги можно пересчитать только по конкретным карточкам пользовательской процедурой привязанной к разделу Инвентарная картотека, вызываемой для отмеченной галочкой карточки.
Опиание системы учета для которой приведен пример:
у счета учета инвентарной карточки бухгалтерского учета аналитика:
2-я аналитика — цех (тоже самое что и Подразделение)
3-я. - Номер предприятия (что-то подобное ПБЕ)
Для налоговой карточки — счет учета «01/Налоговый»
1-я аналитика — Цент учета (или групповой счет. Т.е. Одному центру учета соответствует несколько счетов 01-го счета — что перечислено в дополнительном словаре).
2-я аналитика — цех (тоже самое что и Подразделение)
3-я. - Номер предприятия (что-то подобное ПБЕ)
Счет учета — это у меня счет учета в карточке (01-й счет)
Бухгалтерский счет и заказ — это счет и его первая аналитика который был указан в правиле отработки инвентарной картотеки как счет начисления амортизации.
Для проверки того что данные не испорчены используется отчет по движению карточек. Необходимо заставлять бухгалтеров запускать его ежемесячно и следить чтоб в нем небыло отображено цифр красным цветом, которые сигнализируют о том что суммы при переходе с одного учетного периода на другой не совтали т.е. Имеется ошибка в данных вспомогательных таблиц.
Т.ак как у Вас скорее всего не будет нужной аналитики, то работоспособность отчета можно проверить запустив отчет с группировкой только по счету учета без указания отсутствующих у Вас аналитик (Центр учета, предприятие, цех).
Таблицы для отчета
Представления
Отчет «Ведомость наличия и движения ОС по кодам операций»
Теперь можно рассмотреть способ построения представлений и отчетов основанных на них:
Основное представление выдающее данные на первре число указанного месяца:
Проверим выполнив запрос:
select * from vi_inventory t where t.adate=date '2007-12-01' and t.acc_number like '01/0%';
В дополнение прилагаю универсальный отчет с произвольной группировокой по любой аналитике:
Представления к отчету:
Файл отчета
Параметр отчета с G1 по G6 - - это уровни группировки. Привязаны к доп соварю у которого в каждой строке код начинается с цифры соответствующей смыслу группировки. Уровень группировки определяется с приведенным ниже соответствием:
if isnull({?G1}) or {?G1}='' then ' ' else
if left({?G1},2)='01' then {VI_INVENTORY_ITOG.ANL_COMPANY} else
if left({?G1},2)='02' then {VI_INVENTORY_ITOG.CU} else
if left({?G1},2)='03' then {VI_INVENTORY_ITOG.ACC_NUMBER} else
if left({?G1},2)='04' then {VI_INVENTORY_ITOG.AMORTACC} else
if left({?G1},2)='05' then {VI_INVENTORY_ITOG.ZAKAZ} else
if left({?G1},2)='06' then {VI_INVENTORY_ITOG.ANL_SUBDIV} else
if left({?G1},2)='07' then {VI_INVENTORY_ITOG.MOL} else
if left({?G1},2)='08' then {VI_INVENTORY_ITOG.SAMORTFAST} else
if left({?G1},2)='09' then {VI_INVENTORY_ITOG.TAXGROUP11} else
if left({?G1},2)='10' then {VI_INVENTORY_ITOG.TAXGROUP10} else
if left({?G1},2)='11' then {VI_INVENTORY_ITOG.AMORT_CODE} else
if left({?G1},2)='12' then {VI_INVENTORY_ITOG.SPI} else
if left({?G1},2)='13' then {VI_INVENTORY_ITOG.OBJECT_PLACE} ELSE
if left({?G1},2)='14' then {VI_INVENTORY_ITOG.NEW_OBJECT};
На предприятии потребовали зачем-то указать в отчете распределение объектов по 10 группам VI_INVENTORY_ITOG.TAXGROUP10 - расперделение по требованиям до введения налогового кодекса и по 11 т.е как положенно в НУ выделяя особую VI_INVENTORY_ITOG.TAXGROUP11).
На основе приведенного движка мной были написаны следующие отчеты:
|
Печать инвентарной карточки по форме ОС6 на дату |
|
Ведомость поступления основных средств по цехам |
|
Ведомость выбытия основных средств по цехам |
|
Сводная ведомость сумм до 10 тысяч рублей по счетам, предприятиям |
|
Ведомость поступления драгоценных металлов по Предприятию, Цеху, МОЛ, счету |
|
Ведомость выбытия драгоценных металлов по Предприятию, Цеху, МОЛ, счету |
|
Инвентаризационная опись драгоценных металлов для ОС (из доп.свойств.ИК) |
|
Ведомость наличия и движения ОС по кодам операций с МОЛ |
|
Инвентаризациоррая опись ос по зданиям, сооружениям и передаточным устройствам |
|
Сводная ведомость расчета стоимости ОС с износом 100% |
|
Ведомость амортизационных отчислений |
|
Ведомость амортизационных отчислений по бухгалтерским счетам |
|
Ведомость налоговой амортизации по налоговым группам |
|
Инвентаризационная опись основных средств на дату |
|
Итоги по ИК с произвольной группировкой (бухгалтерские) |
|
Итоги по ИК с произвольной группировкой (налоговые) |
|
Итоги амотризации за произвольный период (бух учет) |
|
Ведомость наличия драг металлов в рублях |
|
Список инвентарных арточек на которые забыли начислить амортизацию |
|
Инвентарная опись ИНВ-1 на дату |
|
Поиск расхождений по налоговому и бухучету |
|
Акт инвентаризации драгоценных металлов |
|
Актинвентаризации драгоценных камней, природных алмазов и изделий из них |
Еще раз об особенностях учета: Было необходимо гарантировать что амортизация начисляется после всех движений за месяц. Пришлось начислять амортизацию 1-го числа следующего месяца и считать ее амортизацией объектов на конец предыдущего месяца. Суммы амортизации все же отразятся и в случае если амортизация начислена последним числом месяца. Вообщем немного запутано, но бухгалтера к этому привыкли исторически. Если что пропустил — можно закоментарить. Результаты в разрезе счета учета получите гарантировано, ну а остальное — можно дописать в соответствии с вашей системой учета.
Отзывы, вопросы и замечания прошу размещать в коментариях на сайте parus-online.ru
OOO «Интерком-Сервис» г.Москва.
Тел. +79262074224 Директор Роман Будников.
Автор: Таболин Юрий Борисович. Icq: 214334525