Как разобраться с SPDOCNAL?

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

Ответить
ALEKS123
Местный житель
Сообщения: 278
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Как разобраться с SPDOCNAL?

Сообщение ALEKS123 »

Уважаемы коллеги, не поможите разобраться с одним вопросом, суть которого заключается в следующем.
Каждый год мы отрезаем от базы год предыдущий, чтобы уменьшить объем базы, кто-нибудь случайно не начал править данные в прошлом году и проч. И вот возникла проблема с этой таблицей SPDOCNAL. Дело в том, что в ней не заполняется поле ATL_LASTDATE. ???
С теми таблицами где это поле заплнено, проблем нет. Экспорт таблицы, импорт только данных начиная с нужной даты. И все, проблем нет. А с этой таблицей....
Две ссылки и тип документа. Ссылка CDOC - на BASEDOC млм KATSOPR, ссылка CSPDOC - на SPSTEP или на SPSOPR. Тип докумета у нас либо 201 либо 1201. И вот как понять что есть что? Что-то к меня не получается. .`) Не знаю, насколько я все написал понятно. Но очень надеюсь на вашу помощь.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Как разобраться с SPDOCNAL?

Сообщение m0p3e »

Насколько я помню:
Если налог к документу из KatSopr то SpDocNal.TipDoc = KatSopr.vidSopr
Если к BaseDoc то SpDocNal.TipDoc = '1' + BaseDoc.VidDoc
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Как разобраться с SPDOCNAL?

Сообщение ecasoft »

Опыт обрезания у нас имеется. НО мы написали программу, которая обрезает ВСЕ, что всязано с закрытими счетами. Она же умеет граммотно закрыть счета (пользователь описывает, что понимается под закрытым счетом и она помечает пакетно все удовлетворяющие критерию).

Намного не понимаю поэтому, как можно обрезать прошлый год по дате в таблице??? А если есть ссылки на эти документы из этого года..это могут быть возвраты в этом году по накладным..аналитика по бухучету и многое другое...ПОэтому лучше обрезать идя от счетов и удалять все связанное с ними вниз...отгрузки , платежи и т.д. не анализируя дату изменения. Хотя там есть проблемки при разнесенных платежах по нескольким счетам и мелкие нюансы..но все решаемо.

А по SpDocNal можно подцепить и удалить:

delete all where ((SpSopr.Nrec == SpDocNal.cSpDoc))
Некоммерческое общение в форуме
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Как разобраться с SPDOCNAL?

Сообщение m0p3e »

Или удаляем документы, а затем чистим SpDocNal по not IsValid :))
ALEKS123
Местный житель
Сообщения: 278
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Как разобраться с SPDOCNAL?

Сообщение ALEKS123 »

Серега, а если поподробнее? Это как это?
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Как разобраться с SPDOCNAL?

Сообщение m0p3e »

Удаляем все что знаем. Потом проверяем валидность ссылок SpDocNal-а на SpStep, KatSopr, SpStep и т.д. Но способ так себе... Я бы не стал так делать...
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Как разобраться с SPDOCNAL?

Сообщение Deinis »

Когда удаляешь запись из KatSopr или BaseDoc, пробегись по таблице SpSopr для (KatSopr) или SpStep (для BaseDoc). И для каждой записи SpSopr или SpStep удали связанные с ней записи из SpDocNal.
Связку между таблицами описываешь сам. Догадаться до нее можно.
Т.е. выход - удалять не LOT-Файлом, а писать свой фейс.
ALEKS123
Местный житель
Сообщения: 278
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Как разобраться с SPDOCNAL?

Сообщение ALEKS123 »

Спасибо, уважаемые. Буду ковыряться
vitali
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Иркутск (это где Байкал, озеро такое) ОАО "Кедр" (ликеро-водка)
Контактная информация:

Re: Как разобраться с SPDOCNAL?

Сообщение vitali »

Я делал следующ образом. Удалял SQL-запросами накладные, ДО, их спецификации, а затем средствами Галактики проверял корректность ссылок на налоги (-Администратор-Проверка целостности таблиц) в интервале дат.
Естественно после этих процедур recover по данным таблицам.
Ответить