Цитата:Gena
Вы пишите модуль, которые вызывается из АРМа Каталогизатор с панели и модифицирует ТЕКУЩУЮ запись?
Нет, я сейчас пишу своеобразную замену для Каталогизатора (АРМ "АльтерВвод") с некоторым минимальным набором функций, но с поддержкой плагинов, которые точно так же вызываются кнопкой с панели. Один из этих плагинов предназначен для автоматизации ввода оглавления. Вот в нём для добавления оглавления к текущей записи (передаваемой как первый параметр
buf1) используются функции клиентской библиотеки.
Цитата:И это естественно, что если один из них внесет изменения и сохранит, то другой начнет паниковать: ведь он на редактуру взял запись в одном виде, а когда пытался сохранить, то выяснил что эта запись уже кем-то модифицирована.
Мой плагин не сохраняет изменения в записи в БД, а просто передаёт её обратно в виде второго параметра (
buf2). АРМ "АльтерВвод" подхватывает эту запись (присваивает её текущей:
record = buf2), отображает изменения в рабочем листе и последовательно меняет её MFN (иначе при сохранении запись попадает в конец) и актуализирует её с помощью функции
IC_ifupdate (иначе при сохранении возникает ошибка о несоответствии версий). В принципе жить можно, поскольку в нужной позиции ЭК уже сохранены обработанные данные, но, как я говорил, для журналов при этом теряется вся информация о номере (её потом приходится вручную копировать из других записей в Каталогизаторе). Для книжных изданий вроде ничего не теряется, но поскольку в оптимизированном формате мой АРМ показывает для такой записи "мусор", очевидно, что-то здесь не так.