![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скорректированный набор данных [D5, DBISAM]
RDA © (2003-09-06 12:00:00)
Готовиться и сдается отчет. Если в нем были допушены ошибки, то делаются два корректирующих отчета. Первый - содержит записи которые должны быть изъяты. Второй - содержит записи которые должны быть добавлены. Все записи хранятся в одной таблице и имеют соответствующий признак. 0 - первичные данные, 1 - изъятые данные, 2 - добавленные данные. Для дальнейше работы и для самоконтроля необходимо иметь скорректированный набор данных. Как с помощью запроса сформировать скорректированный набор данных?
Первичным ключем является код сотрудника (уникален), признак записи (0,1,2), код записи (1,2,3 - в соответствии с классификатором, т.е. по одному сотруднику может быть несколько записей (первичных, удаленных, добавленны) с разними классификационными кодами).
Romkin (2003-09-06 22:20:00) [1]
Простейшая схема корректирующих проводок. Очень легко. Делаешь поле для статуса записи (6 символов кода у меня обычно, ссылка на справочник...) и поле знака (0,-1,1). суммируешь не просто сумму, а сумму, умноженную на знак. А код записи даст что надо. Что корректировалось, можно определять по коду или просто по положению записи во времени (вообще говоря, как правило, это не важно). В крайнем случае - связать корректируемую запись и корректирующую через документ (а он быть должен, пусть и непечтный).
RDA (2003-09-06 12:48:00) [2]
После общения в чате решил добавить.
В результате корректировки у сотрудника изменяеться значение поля сумма выплат. Т.е. к примеру по сотруднику есть первичные данные где сумма выплат = 200,00. После сдачи отчета выяснилось что была допущена ошибка. Для ее исправления добавляются две записи: первая с суммой 200,00 и признаком "изъять запись", и вторая с сумой 250,00 и признаком "добавить запись". Таким образом в таблице содержится три записи по одному сотруднику. Необходимо для проверки показать итоговую сумму выплат по данному сотруднику.
Записи с различными признаками отображаются отдельно, но пользователю удобнее и необходимо для подсчета общего итога и самопроверки видеть окончательный результат.
Кроме того по одному сотруднику в первичных данных может содержаться несколько записей о различных видах выплатах и соответственно с различными кодами выплат. Разделять различные выплаты по различным таблицам - нельзя (условие не мое). И последнее в качестве движка используется DBISAM так что некоторые сложные конструкции SQL-запросов могут не прокатить.