Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис    FTP-сервер
АРМ Каталогизатор :  ИРБИС Irbis
 
Размножение содержимого полей
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 23, November, 2017 14:28

Доброго дня.

Версия ИРБИС 32 2010.1

Данная проблема, возможно, связана с темой из раздела АРМ Администратора. Дело в том, что при сохранении записей в нашей бд отчётов происходит размножение содержимого полей, при чём принцип лично я отследить не могу, по причине малого опыта. Например, есть поле
^A10.0^Bежедневно^C554
при сохранении оно превращается в
^A10.010.010.010.010.0^Bежедневноежедневноежедневноежедневноежедневно^C554554554554554^D
При ОДНОМ сохранении, прошу заметить. По этой причине у меня и возникла необходимость написать ТВП, что бы записи филиалов автоматически правились при импорте.

К слову, в файле autoin.gbl, что отрабатывается при сохранении, нет никаких ошибок. В частности, вот:
REP
526
F
if p(V526^C) and v526^C<>'0' then '^A',V526^A,'^B',v526^B,'^C',v526^C,'^D',f(val(v526^A)*val(v526^C),0,3) else '^A',V526^A,'^B',v526^B fi
То самое поле, приведённое выше.

Товарищи, пожалуйста, посоветуйте, что делать. Глобальное задание я сегодня сделал, на основе того же autoin.gbl с помощью блокнота и регулярок, но так как с низкоуровневыми инструкциями я не дружу ещё со времён техникума, то мыслить в рамках языка пакетной корректировки мне очень трудно. на всякий случай прикрепляю глобалку, которую я сейчас пишу, возможно, более опытные кодеры что посоветуют.



Редактировано 1 раз. Последний раз 23.11.2017 15:27 пользователем Алексей Артемьев.

Вложения: exp.gbl (93.8KB)  
Re: Размножение содержимого полей
Пользователь: Сорокина Лариса (IP-адрес скрыт)
Дата: 24, November, 2017 09:18

Алексей Артемьев написал(а):
-------------------------------------------------------
> Доброго дня.
>
> Версия ИРБИС 32 2010.1
>
> Данная проблема, возможно, связана с темой из
> раздела АРМ Администратора. Дело в том, что при
> сохранении записей в нашей бд отчётов происходит
> размножение содержимого полей, при чём принцип
> лично я отследить не могу, по причине малого
> опыта. Например, есть поле
>
> ^A10.0^Bежедневно^C554
>
> при сохранении оно превращается в
>
> ^A10.010.010.010.010.0^Bежедневноежедневноежедневн
> оежедневноежедневно^C554554554554554^D
>
> При ОДНОМ сохранении, прошу заметить. По этой
> причине у меня и возникла необходимость написать
> ТВП, что бы записи филиалов автоматически
> правились при импорте.
>
> К слову, в файле autoin.gbl, что отрабатывается
> при сохранении, нет никаких ошибок. В частности,
> вот:
>
> REP
> 526
> F
> if p(V526^C) and v526^C<>'0' then
> '^A',V526^A,'^B',v526^B,'^C',v526^C,'^D',f(val(v52
> 6^A)*val(v526^C),0,3) else '^A',V526^A,'^B',v526^B
> fi
>
> То самое поле, приведённое выше.
>
> Товарищи, пожалуйста, посоветуйте, что делать.
> Глобальное задание я сегодня сделал, на основе
> того же autoin.gbl с помощью блокнота и регулярок,
> но так как с низкоуровневыми инструкциями я не
> дружу ещё со времён техникума, то мыслить в рамках
> языка пакетной корректировки мне очень трудно. на
> всякий случай прикрепляю глобалку, которую я
> сейчас пишу, возможно, более опытные кодеры что
> посоветуют.

Для чего Вы прикрепили exp.gbl? Это задание используется для автоввода при сохранении? Если так, то поле 526 повторяется, а приведенный формат оператора REP не учитывает повторяемости и приводит к размножению информации.
Прикрепите ваш autoin.gbl. И корректированную запись с полем 526.

Re: Размножение содержимого полей
Пользователь: Алексей Артемьев (IP-адрес скрыт)
Дата: 24, November, 2017 13:30

>Для чего Вы прикрепили exp.gbl? Это задание используется для автоввода
>при сохранении? Если так, то поле 526 повторяется, а приведенный формат
>оператора REP не учитывает повторяемости и приводит к размножению
>информации.
>Прикрепите ваш autoin.gbl. И корректированную запись с полем 526.

Вот эти два файла.

А exp.gbl должен был по идее перезаписывать отдельно отобранные записи с ошибочными нормами, но я не нашёл, как программно имитировать создание нового документа (потому что все нормы уже есть во всех новых документах, а созданный с помощью NEWMFN документ абсолютно пуст).

Вложения: autoin.gbl (107.6KB)   АБТСТ.TXT (13.3KB)  
Re: Размножение содержимого полей
Пользователь: Сорокина Лариса (IP-адрес скрыт)
Дата: 24, November, 2017 15:41

Алексей Артемьев написал(а):
-------------------------------------------------------
> >Для чего Вы прикрепили exp.gbl? Это задание
> используется для автоввода
> >при сохранении? Если так, то поле 526
> повторяется, а приведенный формат
> >оператора REP не учитывает повторяемости и
> приводит к размножению
> >информации.
> >Прикрепите ваш autoin.gbl. И корректированную
> запись с полем 526.
>
> Вот эти два файла.
>
> А exp.gbl должен был по идее перезаписывать
> отдельно отобранные записи с ошибочными нормами,
> но я не нашёл, как программно имитировать создание
> нового документа (потому что все нормы уже есть во
> всех новых документах, а созданный с помощью
> NEWMFN документ абсолютно пуст).


В АБТСТ.txt 2 повторения 526 поля. Поэтому при каждом сохранении автоввод по вашему REP объединит информацию обоих повторений в первом повторении. Как их появилось 2 изначально, смотрите по РЛ для ввода.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.