КЛАДР-перевод в 8.5.2.2 (1 просматривает) (1) Гость
Избранное: 0
|
|
Сообщения темы: КЛАДР-перевод в 8.5.2.2
|
IEIEIE (Посетитель)
Fresh Boarder
Постов: 7
|
КЛАДР-перевод в 8.5.2.2 17 г., 10 мес. назад
|
|
Большая благодарность Автору. Задолбал механизм репликаций, вечно неработающий и долгий.
Но! При всех плюсах, обнаружена серьезная ошибка! Пропуск при вставке совпадающих наименований, но с разными подтипами. Например есть проспект Стачек и площадь Стачек. При переводе получаем только площадь Стачек. Около 100 сотрудников живут на проспекте Стачек. И что делать? Неправильная идеалогия- переводить все на подтипы(именно для Паруса). Непонятно что это при просмотре. Сейчас пытаюсь убирать подтипы и сувать их в наименования. Плачевно, но сотрудники уже переведены (частично) на новый КЛАДР. Так что придется шерстить всю страну
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
Mit (Администратор)
Администратор
Постов: 154
|
Re:КЛАДР-перевод в 8.5.2.2 17 г., 10 мес. назад
|
|
да одинаковые наименования с подтипами пропускаются.Это не ошибка, а сознательное действие. Но шерстить всю страну мне кажется не надо.Можно автоматизировать данный процесс. Если Вы внимательно посмотрите алгоритм процедуры, то насколько я помню там есть таблица TR_MIT_KLADR_PROM сделанная специально для таких вот случаев (когда что-то неправильно перенеслось или еще что нибудь).. Те можно написать процедуру, которая используя таблицу TR_MIT_KLADR_PROM позволит убрать данный недочет. Просто на моем проекте это оказалось не нужно.
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
IEIEIE (Посетитель)
Fresh Boarder
Постов: 7
|
Re:КЛАДР-перевод в 8.5.2.2 17 г., 10 мес. назад
|
|
Написал польз.процедуру, к-рая перетаскивает в Парусе подтип в наименование ГЕО, обнуляя подтип (для длины наименование+пробел+подтип меньше 40). При попытке повторно втянуть в Парус регион с помощью pr_mit_kladr_import_main вылетает ошибка "Нарушение стуктуры". Так что пришлось удалить все из tr_mit_kladr_prom. Сейчас пытаюсь втянуть недостающие записи по регионам, анализируя, что уже есть в Парусе.
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
IEIEIE (Посетитель)
Fresh Boarder
Постов: 7
|
Re:КЛАДР-перевод в 8.5.2.2 17 г., 10 мес. назад
|
|
Уважаемый Магистр!
Небольшая помарка. Вы не проверяете в pr_mit_kladr_import длину наименования||' '||сокращение, а они бывают больше 40. Возникает ошибка переполнения. Необходимо дописывать его только если итоговая длина меньше 41 (в pers и в Парусе они такие).В строке 100 кода.
Признателен за Вашу работу.
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
Mit (Администратор)
Администратор
Постов: 154
|
Re:КЛАДР-перевод в 8.5.2.2 17 г., 10 мес. назад
|
|
не понятно если оба совпадающих наименования больше 40? что тогда делать? на один уровень их не поместишь.. в наименование опять же не вставишь... думаю пусть остаеться на усмотрение человека изпользующего процедуру что ему делать в данном случае..<br><br>Post edited by: Mit, at: 2007/01/29 09:38
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
IEIEIE (Посетитель)
Fresh Boarder
Постов: 7
|
Re:КЛАДР-перевод в 8.5.2.2 17 г., 10 мес. назад
|
|
Тестирование проводилось на 78 регионе. Рекомендую- последний параметр не должен равняться 1. За исключением 1 улицы (фиг поймешь налоговую, точный дубликат) программа сработала на ура.
Еще одна неточность.
Обратил внимание, что довольно много улиц переносятся без индексов и домов у них нет. 153 штуки таких в регионе. При этом дома перенеслись 1 в 1(кол-во в tr_mit_doma и tr_mit_kladr_prom и в Парусе совпадают). Это особенность КЛАДРА, т.к. некоторые улицы (с заполненными последними символами-я подозреваю, что большинство таких улиц уже не существуют, но не все) имеют дома, если анализировать по первым 15-ти символам. Пример: в СПб Витебского Канала наб перетаскивается без индекса в улице и без домов. Заходим в pers(dos программу для сдачи в ПФ). Видим: по данной улице есть дома с индексами Н(1-11) 190013 и Ч(2-6) 191180.
Предлагаю процедуру, к-рая дописывает недостающие дома. Но она работает только при условии перевода кода КЛАДРА в окато Паруса. Заинтересованные лица легко могут ее переписать.
create or replace procedure P_KLADR_AFTER_MAIN
(
-- процедура добавляет недостающие дома. Должна запускаться после pr_mit_kladr_import_main
ncompany in number,
sRegion in varchar2
--,
--nlocaltype in number
)
is
nRnGeo pkg_std.tref;
nRnGeo2 pkg_std.tref;
nVers pkg_std.tref;
begin
find_version_by_company(nCOMPANY => nCompany,sUNITCODE =>'GEOGRAFY' ,nVERSION => nVers);--найдем версию
-- цикл по уже добавленным улицам, у которых нет индексов и нет домов
for a_ in
(select t.*,
td.sname as sname_td,td.skorp as skorp_td,td.ssocr as ssocr_td,td.scode as scode_td,td.sindex as sindex_td,td.sgninmb as sgninmb_td,td.suno,td.socatd as socatd_td
from v_geografy t,tr_mit_doma td
where
t.nversion=nVers
and t.stype_name='Улица'
and t.spostal_code is null
and substr(t.sokato,1,15)=substr(td.scode,1,15)
and substr(td.scode,1,2)=sRegion
and not exists (select null from geographyhouse h where h.prn=t.nrn)
and not exists (select null from tr_mit_kladr_prom1 p where p.company=102555 and p.code=t.scode)
order by t.sfull_name)
loop
begin
p_geographyhouse_base_insert(nCOMPANY,a_.nrn,a_.sindex_td,a_.sname_td||a_.skorp_td,nrngeo2);
-- добавление в аналог tr_mit_kladr_prom
insert into tr_mit_kladr_prom1 values (a_.scode_td, nrngeo2,ncompany);
end;
end loop;
commit;
end P_KLADR_AFTER_MAIN;
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
|
|
|
|