Столкнулся с аналогичной проблемой.
Версия 2006-2 (32). Взял уже сценарий автоввода из 2007-2 (64). Есть в Каталогизаторе запись на рубрику с несколькими повторениями 510 поля. При нажатии кнопки Сохранить создаются отдельные записи на каждую ссылку СМ. Если в исходную запись добавить еше одно или несколько повторений 510 поля, то при сохранении создаются помимо новых дублетные записи на те повторения 510, которые раньше уже были автоматически созданы.
Вот фрагмент сценария автоввода:
IF
if s(v510)<>''then '1' else '0' fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
ADD
1002
XXXXXXXXXXXXXXXXXXX
rubr
XXXXXXXXXXXXXXXXXXX
REPEAT
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
NEWMFN
if &unifor('Av1002#1'):'^a'then if &unifor('JATHRS,','!',if &unifor('Av1002#1'):'^a' and &unifor('Av1002^b#1')='' and &unifor('Av1002^G#1')='' and &unifor('Av1002^H#1')='' and &unifor('Av1002^9#1')='' and &unifor('Av1002^a*27#1')=''then &unifor('Av1002^a#1') else &unifor('Av1002^a.10#1'),&unifor('+B'&unifor('Av1002^a*10#1'))fi,if &unifor('Av1002^B#1')<>''then if &unifor('Av1002^d#1')='' and &unifor('Av1002^b*10#1')='' then &unifor('Av1002^b#1') else &unifor('Av1002^b.1#1'),&unifor('+B'&unifor('Av1002^B*1#1')) fi fi,if &unifor('Av1002^C#1')<>''then &unifor('+B'&unifor('Av1002^C#1')) fi,if &unifor('Av1002^D#1')<>''then &unifor('+B'&unifor('Av1002^d#1')) fi,if &unifor('Av1002^G#1')<>''then &unifor('+B'&unifor('Av1002^G#1')) fi,if &unifor('Av1002^E#1')<>''then &unifor('+B'&unifor('Av1002^E#1')) fi,if &unifor('Av1002^O#1')<>''then &unifor('+B'&unifor('Av1002^O#1')) fi,if &unifor('Av1002^H#1')<>''then &unifor('+B'&unifor('Av1002^H#1')) fi,if &unifor('Av1002^9#1')<>''then &unifor('+B'&unifor('Av1002^9#1')) fi)=''then 'ATHRS' else fi fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
ADD
210
XXXXXXXXXXXXXXXXXXX
if &unifor('Av1002#1'):'^A' then '^A'&unifor('Av1002^a#1'),if &unifor('Av1002#1'):'^B'then '^B',&unifor('Av1002^b#1')fi,if &unifor('Av1002#1'):'^C'then '^C',&unifor('Av1002^c#1')fi,if &unifor('Av1002#1'):'^D'then '^D',&unifor('Av1002^d#1') fi,if &unifor('Av1002#1'):'^G'then '^G',&unifor('Av1002^G#1') fi,if &unifor('Av1002#1'):'^E'then '^E',&unifor('Av1002^E#1') fi,if &unifor('Av1002#1'):'^O'then '^O',&unifor('Av1002^O#1') fi,if &unifor('Av1002#1'):'^H'then '^H',&unifor('Av1002^H#1') fi,if &unifor('Av1002#1'):'^9'then '^9',&unifor('Av1002^9#1') fi,if &unifor('Av1002#1'):'^1'then '^1',&unifor('Av1002^1#1') fi,if &unifor('Av1002#1'):'^2'then '^2',&unifor('Av1002^2#1') fi,if &unifor('Av1002#1'):'^3'then '^3',&unifor('Av1002^3#1') fi,if &unifor('Av1002#1'):'^4'then '^4',&unifor('Av1002^4#1') fi,if &unifor('Av1002#1'):'^5'then '^5',&unifor('Av1002^5#1') fi,if &unifor('Av1002#1'):'^6'then '^6',&unifor('Av1002^6#1') fi fi
XXXXXXXXXXXXXXXXXXX
ADD
801
XXXXXXXXXXXXXXXXXXX
'^A',&unifor('Korg.mnu|1'),'^B',&unifor('Korg.mnu|2'),'^10','^C',&unifor('3')
XXXXXXXXXXXXXXXXXXX
ADD
920
XXXXXXXXXXXXXXXXXXX
'ATHRS'
XXXXXXXXXXXXXXXXXXX
END
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
NEWMFN
if &unifor('Av1002#1'):'^X'then if &unifor('JATHRS,','!',if &unifor('Av1002^X*23.1#1')<>''then &unifor('B'&unifor('Av1002^X#1')) else &unifor('Av1002^X#1'),if &unifor('Av1002^?#1')='' then &unifor('Av1002^Y#1') else &unifor('B'&unifor('Av1002^?#1'))fi,if &unifor('Av1002^1#1')<>''then &unifor('Av1002^=#1') fi,if &unifor('Av1002^F#1')<>'' then &unifor('Av1002^F#1') fi,if &unifor('Av1002^K#1')<>'' then &unifor('Av1002^K#1') fi,if &unifor('Av1002^M#1')<>'' then &unifor('Av1002^M#1') fi,if &unifor('Av1002^6#1')<>'' then &unifor('Av1002^6#1') fi,if &unifor('Av1002^Q#1')<>'' then &unifor('Av100Q^F#1') fi,if &unifor('Av1002^T#1')<>'' then &unifor('Av1002^T#1') fi,if &unifor('Av1002^O#1')<>'' then &unifor('Av1002^O#1') fi,if &unifor('Av1002^J#1')<>'' then &unifor('Av1002^J#1') fi,if &unifor('Av1002^0#1')<>'' then &unifor('Av1002^0#1') fi,if &unifor('Av1002^Z#1')<>'' then &unifor('Av1002^Z#1') fi,if &unifor('Av1002^5#1')<>'' then &unifor('Av1002^5#1') fi,if &unifor('Av1002^+#1')<>'' then &unifor('Av1002^+#1') fi fi)=''then 'ATHRS' else fi fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
ADD
210
XXXXXXXXXXXXXXXXXXX
if &unifor('Av1002#1'):'^X'then '^A',&unifor('Av1002^X#1'),if &unifor('Av1002#1'):'^Y'then '^B',&unifor('Av1002^Y#1')fi,if &unifor('Av1002#1'):'^1'then '^1',&unifor('Av1002^1#1')fi,if &unifor('Av1002#1'):'^='then '^D',&unifor('Av1002^=#1') fi,if &unifor('Av1002#1'):'^?'then '^G',&unifor('Av1002^?#1') fi,if &unifor('Av1002#1'):'^F'then '^F',&unifor('Av1002^F#1') fi,if &unifor('Av1002#1'):'^K'then '^K',&unifor('Av1002^K#1') fi,if &unifor('Av1002#1'):'^M'then '^M',&unifor('Av1002^M#1') fi,if &unifor('Av1002#1'):'^6'then '^6',&unifor('Av1002^6#1') fi,if &unifor('Av1002#1'):'^Q'then '^T',&unifor('Av1002^T#1') fi,if &unifor('Av1002#1'):'^O'then '^O',&unifor('Av1002^O#1') fi,if &unifor('Av1002#1'):'^J'then '^J',&unifor('Av1002^J#1') fi,if &unifor('Av1002#1'):'^0'then '^0',&unifor('Av1002^0#1') fi,if &unifor('Av1002#1'):'^J'then '^J',&unifor('Av1002^J#1') fi,if &unifor('Av1002#1'):'^Z'then '^Z',&unifor('Av1002^Z#1') fi,if &unifor('Av1002#1'):'^:'then '^:',&unifor('Av1002^:#1') fi, if &unifor('Av1002#1'):'^2'then '^2',&unifor('Av1002^2#1') fi,if &unifor('Av1002#1'):'^.'then '^.',&unifor('Av1002^.#1') fi,if &unifor('Av1002#1'):'^+'then '^+',&unifor('Av1002^+#1') fi,if &unifor('Av1002#1'):'^;'then '^;',&unifor('Av1002^;#1') fi,if &unifor('Av1002#1'):'^,'then '^,',&unifor('Av1002^,#1') fi, if &unifor('Av1002#1'):'^<'then '^<',&unifor('Av1002^<#1') fi, if &unifor('Av1002#1'):'^>'then '^>',&unifor('Av1002^>#1') fi, if &unifor('Av1002#1'):'^7'then '^7',&unifor('Av1002^7#1') fi,if &unifor('Av1002#1'):'^:'then '^8',&unifor('Av1002^8#1') fi fi,
XXXXXXXXXXXXXXXXXXX
ADD
801
XXXXXXXXXXXXXXXXXXX
'^A',&unifor('Korg.mnu|1'),'^B',&unifor('Korg.mnu|2'),'^10','^C',&unifor('3')
XXXXXXXXXXXXXXXXXXX
ADD
920
XXXXXXXXXXXXXXXXXXX
'ATHRA'
XXXXXXXXXXXXXXXXXXX
END
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
NEWMFN
if &unifor('Av1002#1'):'^I'then if &unifor('JATHRS,',if &unifor('Av1002^N#1')='' and &unifor('Av1002^W#1')='' and &unifor('Av1002^P#1')='' and &unifor('Av1002#1'):'^4' then '!',&unifor('Av1002^4#1'),if &unifor('Av1002^I*6.1#1')<>''then &unifor('B',&unifor('Av1002^I#1')) else &unifor('Av1002^I#1') fi,if &unifor('Av1002^S*6.1#1')<>''then &unifor('B'&unifor('Av1002^S#1')) else &unifor('Av1002^S#1') fi, else if &unifor('Av1002#1'):'^N' or &unifor('Av1002#1'):'^W' or &unifor('Av1002#1'):'^P' then '!',&unifor('Av1002^N#1'),&unifor('Av1002^W#1'),&unifor('Av1002^P#1'),if &unifor('Av1002^I*6.1#1')<>''then &unifor('B'&unifor('Av1002^I#1'))else &unifor('Av1002^I#1') fi fi fi,if &unifor('Av1002^K#1')<>'' then &unifor('Av1002^K#1') fi,if &unifor('Av1002^M#1')<>'' then &unifor('Av1002^M#1') fi,if &unifor('Av1002^6#1')<>'' then &unifor('Av1002^6#1') fi,if &unifor('Av1002^Q#1')<>'' then &unifor('Av100Q^F#1') fi,if &unifor('Av1002^T#1')<>'' then &unifor('Av1002^T#1') fi,if &unifor('Av1002^O#1')<>'' then &unifor('Av1002^O#1') fi,if &unifor('Av1002^J#1')<>'' then &unifor('Av1002^J#1') fi,if &unifor('Av1002^0#1')<>'' then &unifor('Av1002^0#1') fi,if &unifor('Av1002^Z#1')<>'' then &unifor('Av1002^Z#1') fi,if &unifor('Av1002^5#1')<>'' then &unifor('Av1002^5#1') fi,if &unifor('Av1002^+#1')<>'' then &unifor('Av1002^+#1') fi)=''then 'ATHRS' else fi fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
ADD
210
XXXXXXXXXXXXXXXXXXX
if &unifor('Av1002#1'):'^I'then '^A',&unifor('Av1002^I#1'),if &unifor('Av1002#1'):'^S'then '^B',&unifor('Av1002^S#1')fi,if &unifor('Av1002#1'):'^N'then '^D',&unifor('Av1002^N#1')fi,if &unifor('Av1002#1'):'^W'then '^F',&unifor('Av1002^W#1') fi,if &unifor('Av1002#1'):'^P'then '^E',&unifor('Av1002^E#1') fi,if &unifor('Av1002#1'):'^4'then '^C',&unifor('Av1002^4#1') fi,if &unifor('Av1002#1'):'^K'then '^K',&unifor('Av1002^K#1') fi,if &unifor('Av1002#1'):'^M'then '^M',&unifor('Av1002^M#1') fi,if &unifor('Av1002#1'):'^6'then '^6',&unifor('Av1002^6#1') fi,if &unifor('Av1002#1'):'^Q'then '^T',&unifor('Av1002^T#1') fi,if &unifor('Av1002#1'):'^O'then '^O',&unifor('Av1002^O#1') fi,if &unifor('Av1002#1'):'^J'then '^J',&unifor('Av1002^J#1') fi,if &unifor('Av1002#1'):'^0'then '^0',&unifor('Av1002^0#1') fi,if &unifor('Av1002#1'):'^J'then '^J',&unifor('Av1002^J#1') fi,if &unifor('Av1002#1'):'^Z'then '^Z',&unifor('Av1002^Z#1') fi,if &unifor('Av1002#1'):'^:'then '^:',&unifor('Av1002^:#1') fi, if &unifor('Av1002#1'):'^2'then '^2',&unifor('Av1002^2#1') fi,if &unifor('Av1002#1'):'^.'then '^.',&unifor('Av1002^.#1') fi,if &unifor('Av1002#1'):'^+'then '^+',&unifor('Av1002^+#1') fi,if &unifor('Av1002#1'):'^;'then '^;',&unifor('Av1002^;#1') fi,if &unifor('Av1002#1'):'^,'then '^,',&unifor('Av1002^,#1') fi, if &unifor('Av1002#1'):'^<'then '^<',&unifor('Av1002^<#1') fi, if &unifor('Av1002#1'):'^>'then '^>',&unifor('Av1002^>#1') fi, if &unifor('Av1002#1'):'^7'then '^7',&unifor('Av1002^7#1') fi,if &unifor('Av1002#1'):'^:'then '^8',&unifor('Av1002^8#1') fi fi,
XXXXXXXXXXXXXXXXXXX
ADD
801
XXXXXXXXXXXXXXXXXXX
'^A',&unifor('Korg.mnu|1'),'^B',&unifor('Korg.mnu|2'),'^10','^C',&unifor('3')
XXXXXXXXXXXXXXXXXXX
ADD
920
XXXXXXXXXXXXXXXXXXX
'ATHRC'
XXXXXXXXXXXXXXXXXXX
END
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
DEL
1002
1
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
UNTIL
if p(v1002) then '1' else '' fi
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
FI
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
Формат rubr.pft в каталоге БД присутствует.
Почему так происходит? Заранее спасибо.